フラミナル

考え方や調べたことを書き殴ります。IT技術系記事多め

AWS Protonの登場背景と解決することをまとめる

f:id:lirlia:20210614224305p:plain

登場背景

AWSを自社サービス開発などで利用する場合、ほとんどの企業ではアプリ開発者とSRE(またはインフラ)が存在している。

SREの職務はアプリが動作する環境の準備や、非機能の面倒をみること、またアプリ開発・リリースの高速化となっているため、独自のツールや業務フローを規定していることが多い。

またインフラを開発者が逐一依頼をしているケースもまだまだ多いため、インフラの作成や依頼自体に時間がかかる。

Protonが解決すること

ProtonはSRE(インフラ)向けのサービスである。 (厳密に言うと開発者も恩恵を受ける)

SREが開発者向けに用意するインフラの構築手順書、またはTerraformのコードなどをProtonのテンプレートに置き換えることができる。

開発者はテンプレートを使い、AWSのコンソールから変数を設定するだけでSREが規定したインフラを構築することができるようになる。


全体の動き

f:id:lirlia:20210614221934j:plain

f:id:lirlia:20210614221929j:plain

詳細

f:id:lirlia:20210614224104p:plain

引用元:re:Invent2020で発表されたAWS Protonとはなにか? - How elegant the tech world is...!

GUI画面

f:id:lirlia:20210614223012p:plain

つまりProtonをSREと開発者のインターフェースにできる。

これにより以下の効果が見込めるので、開発者もSREも楽ができるようになる。

  • 一定の品質でインフラを簡単たくさん作成できる
  • 変数を変えるだけで別の環境作れる
  • 環境の削除が簡単に行える
  • テンプレートバージョンベースの会話ができる
  • 新しいバージョンを適用するだけで環境を再構成する
  • 開発者の権限を制限できる(Proton実行権限のみにできる)

Protonの課題/問題点

  • 現状対応しているのはECS(Fargate)やLambda構成のみ
  • AWS以外(Kubernetesや別クラウド)は非対応
    • Terraformはproviderで第三者が欲しい機能を増やしていける
  • サンプル見る限り結構ガッツリコードを書いている(バリデーションチェックのところなど)ので負荷が以外に高めかも?

Protonと比較すべきツール/仕組み

  • Terraform
  • Terraform Cloud
  • 自作ツール

参考