2017年11月2日、3日に開催された「Serverless Conf Tokyo 2017」内のにてセッション「Serverless Patterns and Architectures」にて、AWSでAPI GatewayとServerlessにおける主席プロダクトマネージャーのDougal Balantyne氏と、A Cloud GuruのPeter Sbarski氏が、Function-as-a-Service(FaaS)を用いたシステムの適切なアーキテクチャについて言及しています。
汎用性のあるデザインパターンを理解することにより、堅牢さを保持しつつもFaaSのメリットであるスケーラビリティなアプリケーションの開発が可能になる、と二人は話しています。
そして、AWS Lambdaを活用したサーバレスアーキテクチャの基本的なパターンが6つ紹介されています。
1.Amazon API Gateway経由でLambda Functionを起動
Lambda Functionだけでなく通常のアーキテクチャのアプリケーションも呼び出せる「ハイブリッドアーキテクチャ」
2.GraphQLエンドポイントのLambda FunctionがGraphQLを実行
非常に強力で効果的なパターン
3.API Gateway+Lambda経由でAPIリクエストを処理するサーバーレスバックエンド
APIファーストなアプローチを実現する場合のパターン
4.さまざまなサーバーレスデータ処理
特定のイベントをトリガーにLambdaが呼び出されその後五月雨式に複数の処理が実行されていくパターン
5.Lambdaの大量メトリクス取得とCloud Watch
アプリケーションの稼働状況を効率的に監視するためのパターン
6.SNS+Lambda
SNS 通知によりLambda Functionを起動するパターン
特に「Lambdaの大量メトリクス取得とCloud Watch」については、Lambda Functionの実行と非同期に自動でCloud Watchにログを出力する事ができるため、メトリクスのログへの書き込みが高速に行うことができるとアピールされています。
サーバレスでスケーラブルかつ堅牢なシステムを構築するためのデザインパターンとアーキテクチャ。Serverlessconf Tokyo 2017 - Publickey