AWS SAM とは
- サーバーレスアプリケーションを開発するための開発モデルというかフレームワークというか
- CloudFormation のテンプレートをもうちょっと WAF (Web Application Framework) 風味にしたテンプレート がちょっといい感じ
- SAM CLIツール群 (Lambda や API Gateway のローカル実行環境、デプロイツール) が割とイケてる
- SAM リス野郎がかわいい
作例
API Gateway - Lambda - SNS - Lambda
を組み合わせたらこんな感じになりました。
図示しても正直意味がわからないが、アプリ詳細はこちら。 こんなものを手作業でつくってたらいつか死ぬよね? でも CloudFormation はしんどいよね?
そこで AWS SAM のお出ましです。 こんな意味わからない AWS リソース群を生 CloudFormation よりはプログラマフレンドリーにかけるようにしたものが SAM です。
感想
- 融通の効かない硬派な CloudFormation テンプレート君が社会に揉まれていい感じに柔らかくなった感じ
- サーバーレスアプリで真面目に CI / CD やるとか、多人数で真面目に開発するのであればこういうの必要だよね>SAM CLI のローカル実行環境など
- 外部 API 連携などがあると設定が面倒くさいので、ちょっとした社内ツールレベルだと直に AWS 上で開発してしまったほうが断然早い……