AWSサービス - サーバーレス¶
サーバーレスは、サーバー運用をできるだけ持たずに機能を組み立てる領域。
まず押さえたいこと¶
- 実行基盤の運用を減らしやすい
- イベント駆動と相性がよい
- 機能を小さく分けやすい
- 反面、連携が増えると追跡しにくい
よく使うサービス¶
Lambda: 関数実行API Gateway: API 公開Step Functions: ワークフロー制御EventBridge: イベント連携SQS/SNS: 非同期連携
見方¶
- 単機能の処理は
Lambda - API 化するなら
API Gateway - 非同期やイベント連携は
EventBridgeSQSSNS
よくある構成¶
API Gateway + LambdaEventBridge + LambdaSQS + LambdaStep Functions + Lambda
見るポイント¶
- 同期処理か非同期処理か
- リトライやデッドレターをどう設計するか
- タイムアウトやコールドスタートが問題になるか
- 監視やトレースをどう入れるか
メモ¶
- サーバーレスは小さく始めやすいが、イベント連鎖が増えると把握しにくくなる
- 可観測性を先に考えておかないと、後から追跡しにくくなる
公式ドキュメント¶
Lambda: https://docs.aws.amazon.com/lambda/API Gateway: https://docs.aws.amazon.com/apigateway/Step Functions: https://docs.aws.amazon.com/step-functions/EventBridge: https://docs.aws.amazon.com/eventbridge/SQS: https://docs.aws.amazon.com/AWSSimpleQueueService/SNS: https://docs.aws.amazon.com/sns/