AWS Serverless Application Model 向けサーバーレスの概念 - AWS Serverless Application Model

AWS Serverless Application Model 向けサーバーレスの概念

AWS Serverless Application Model (AWS SAM) を使用する前に、サーバーレスに関する基本的な概念をご覧ください。

サーバーレスの概念

イベント駆動型アーキテクチャ

サーバーレスアプリケーションは、コンピューティングのための AWS Lambda やデータベース管理のための Amazon DynamoDB など、それぞれが特殊な役割を果たす個別の AWS のサービスで構成されます。これらのサービスは、イベント駆動型のアーキテクチャを通じて相互に緩やかに統合されます。イベント駆動型アーキテクチャの詳細については、「イベント駆動型アーキテクチャとは」を参照してください。

Infrastructure as Code (IaC)

Infrastructure as Code (IaC) は、デベロッパーがコードを扱うのと同じ方法でインフラストラクチャを扱う方法であり、アプリケーションコード開発と同じ厳密さをインフラストラクチャのプロビジョニングに適用します。テンプレートファイルでインフラストラクチャを定義し、それを AWS にデプロイすると、AWS がリソースを作成します。IaC では、プロビジョニングする AWS をコードで定義します。AWS で使用できる IaC ツールの比較については、「Infrastructure as Code (IaC)」を参照してください。

サーバーレステクノロジー

AWS サーバーレステクノロジーを使用すると、独自のサーバーを管理することなく、アプリケーションを構築して実行できます。すべてのサーバー管理は AWS によって行われるため、自動スケーリングや組み込みの高可用性などの多くのメリットを活用でき、アイデアを迅速に本番環境で具現化できます。サーバーレステクノロジーを使用すると、サーバーの管理や運用について心配することなく、製品の中核に注力できます。サーバーレスの詳細については、次を参照してください。

中核的な AWS サーバーレスサービスの基本的な概要については、「Serverless Land」の「Serverless 101: Understanding the serverless services」を参照してください。

サーバーレスアプリケーション

AWS SAM を使用する場合、アプリケーション内で AWS SAM プロジェクトとテンプレートで構成されている関連リソースを管理します。アプリケーション内のすべてのリソースは、AWS SAM テンプレートで定義または参照されます。AWS SAM がテンプレートを処理すると、CloudFormation リソースも作成されます。CloudFormation では、リソースはスタックと呼ばれる単一のユニットで管理され、スタック内のすべてのリソースは、そのスタックの CloudFormation テンプレートによって定義されます。