TOPCloud > サーバーレスを活用するには――AWS Lambdaの場合(中...

Cloud

サーバーレスを活用するには――AWS Lambdaの場合(中)

2020/07/01

Isaac Sacolick InfoWorld

 クラウドネイティブのアプリケーションやサービスを動かす手段には、数多くの選択肢がある。さまざまなプラットフォームで多種多様なアプリケーションやサービスを開発し、コンプライアンス要件も多岐にわたる企業は、コンテナやCaaS(Containers as a Service)を考えるかもしれないし、開発スタックや運用上の制約があまりなく、本番稼働までのステップをシンプルにしたい企業は、設定や技術上の専門知識といった面からPaaS(Platform as a Service)を選択するかもしれない。

前回から続く)

サーバーレス関数やサーバーレスアプリケーションでコストを削減

Credit: Thinkstock

 クラウドソリューションアーキテクトのHitesh Chitalia氏は、マイクロサービスやアプリケーションの迅速な開発とスムーズな運用にAWS Lambdaを活用している。同氏に話を聞いた。

 「Lambdaの利点は、インフラをあまり意識することなく、マイクロサービスの実現やシンプルなメンテナンスに対応できることだ。現在は成熟度が高まっており、Step Functionsを使ったバッチジョブのオーケストレーションや、ETLの実行、Webアプリケーションの稼働にも対応できる」

 Chitalia氏は、Amazon EC2の専有サーバーで稼働するアプリケーションから、サーバーレス関数やサーバーレスアプリケーションに移行したことで、コスト削減に成功した。特に、使用が散発的なアプリケーションやサービスの場合、コストの削減効果は大きい。

 「FaaSはコスト構造の面でも魅力的だ。使った分だけ料金が発生する仕組みと、インフラのオーバーヘッドの抑制により、プロダクトの利用度に基づいてコストを厳密に把握できる。前の会社で経験した基本的な例で言うと、EC2の小さなインスタンス2つからLambdaにAPIを移行した結果、コストを90%削減できた。使用が増えた場合は、Lambdaが自動でスケールして対応する。呼び出し回数が約6倍に増えて、Lambdaサービスのコストは2倍だった」

 Chitalia氏からは、開発上の考慮事項についても話が出た。「FaaSは、実行時間が短めの小規模な関数の場合に効果を発揮するため、コードを書き直して活用する必要がある。また、コールドスタートの問題もある。ずっと動いていなかった関数を最初に呼び出した時に、反応に時間がかかるという問題だ」

↑ページ先頭へ