現場でLambdaを採用する機会があり、その管理方法としてSAMはどのようなものだろう?候補に入るのかということを念頭に読んでみた。
読み終えた感想としては、SAMだと管理やその後の運用も含めて「手離れする運用」という観点では実運用に耐えられないのではと考えた。
理由は主に3つある。
- 構成が複雑になりがち
メインの処理のファイルの他に、設定ファイルなども多少あり構成やファイルの把握が難しいのかなと感じた。
有識者がドキュメントを作成して、それを運用チームに渡して運用してもらうことにはなるが構成は変えないようにお願いすることになりそう。
CI/CDのパイプラインに組み込むことで、処理のファイルのみの修正に集中できるかもとは思った。
- yamlファイルが読みにくい
これは自分がTerraformをメインに使っているからなのかもしれないが、tempalte.yamlがとにかく読みにくい。
どこでどんな処理が書いてあるか頭に入りにくいので構成の全体図が描きにくいと感じた。
再利用できる構成にはできるのかな?
学習曲線がちょっと高め?
とほぼほぼ同じ観点になってしまうが、ディレクトリ構成が複雑になりがちなので学習曲線がちょっと高いなと感じた。
運用チームにSAMの構成まで覚えてもらってから引き継ぐと工数がかかりすぎてしまうので、ドキュメントを作るなど引き継ぎに工夫が必要だと感じた。
LambdaやAWSの操作に慣れていない初心者には丁寧に書かれているので、良いと思った。
ハンズオンの説明部分が雑なのでそこは残念。
LambdaとTerraformで構成を管理する方法を今度は知りたい。