とりあえず画像コンバートのチュートリアルをやった。 10分くらいでできる。
Lambdaのメリットはこんな感じだと今のところは考えている。
- ほぼ無限にリソースが準備されたサーバーレスであること
- AWSの各種サービスと連携したトリガーが使用可能であること
ほぼ無限にリソースが準備されているため
- コスト予測が難しい際にコストを最小限に抑えることができる
- 実行が素早い(多分)
という効果がある。EC2やECSのAutoScalingも必要な分だけリソースを追加するのだが、 これらはある一定の条件を満たした時にリソースを追加していく。 例えば「CPU使用率が50%を超えた時」のような条件だ。 対してLambdaはすでに準備されたほぼ無限のリソースを使用して実行するため予測外の分に関してリソースの準備時間が無い。 なのでAutoScalingより確実にアクセスや処理のスパイクに対応可能だ。
また、AWSの各種サービスと連携したトリガーが使用可能で 画像コンバートの例ではS3に画像ファイルがアップロードされた際にLambda関数が実行される。
デメリットは調べるとたくさん出てくるが、 とりあえずこれらのメリットを享受できない場合はLambdaを使用する意味がなくなってしまうという考え方をすると良いだろう。
なんか良い使い道があれば使いたい。