AWS Lambda はサーバーレスコンピューティングサービスで、サーバーのプロビジョニングや管理、ワークロード対応のクラスタースケーリングロジックの作成、イベント統合の維持、ランタイムの管理を行わずにコードを実行できます。Lambda を使用すれば、実質どのようなタイプのアプリケーションやバックエンドサービスでも管理を必要とせずに実行できます。コードを ZIP ファイルまたはコンテナイメージとしてアップロードするだけで、Lambda はあらゆる規模のトラフィックに対して、自動的かつ正確にコンピューティング実行能力を割り当て、受信リクエストやイベントに基づいてコードを実行します。コードは、140 の AWS のサービスから自動的にトリガーするよう設定することも、ウェブやモバイルアプリケーションから直接呼び出すよう設定することもできます。Lambda 関数をお気に入りの言語 (Node.js、Python、Go、Java など) で記述し、サーバーレスツールと AWS SAM や Docker CLI などのコンテナツールの両方を使用して、関数をビルド、テスト、デプロイできます。
利点
サーバー管理が不要
AWS Lambda ではコードを自動的に実行します。インフラストラクチャのプロビジョニングや管理は必要ありません。コードを記述して、ZIP ファイルまたはコンテナイメージとして Lambda にアップロードするだけです。
継続的スケーリング
AWS Lambda では、毎回のイベントに対応してコードを実行することにより、自動的にアプリケーションをスケールします。コードは並行して実行され、トリガーごとに個別に処理され、ワークロードのサイズに合わせて、1 日あたり数回のリクエストから、1 秒あたり数十万回まで正確にスケーリングされます。
ミリ秒計測でコストの最適化
AWS Lambda では、消費したコンピューティング時間に対してのみ料金を支払うため、過剰にプロビジョニングされたインフラストラクチャに料金を支払うことはありません。コードが実行されるミリ秒ごと、およびコードがトリガーされた回数に対して課金されます。コンピューティング Savings Plan では、さらに最大 17% 節約できます。
あらゆる規模で一貫したパフォーマンス
AWS Lambda では、関数に適切なメモリサイズを選択することにより、コード実行時間を最適化できます。また、プロビジョニングされた同時実行を有効にすることで、関数を初期化し、2 桁のミリ秒以内に応答するようにハイパー対応することもできます。
仕組み

ユースケース
AWS Lambda で何を構築できるでしょう? ユースケースの詳細は、以下を参照してください。
データ処理
AWS Lambda を使用すると、データの変更、システムステータスの遷移、またはユーザーによるアクションをトリガーとし、その応答としてコードを実行できます。Lambda は、S3、DynamoDB、Kinesis、SNS、CloudWatch などの AWS のサービスによって直接起動したり、既存の EFS ファイルシステムに接続したり、AWS Step Functions によってワークフローに編成したりすることもできます。これにより、さまざまなリアルタイムのサーバーレスデータ処理システムを構築することができます。
リアルタイムファイル処理
Amazon S3 を使用して AWS Lambda をトリガーし、アップロードしたデータを直ちに処理することができます。既存の Amazon EFS ファイルシステムに直接接続することもできます。これにより、大規模なファイル処理を行うための大規模な並列共有アクセスが可能になります。例えば、Lambda を使用すると、画像のサムネイル作成、ビデオのコード変換、ファイルのインデックス作成、ログの処理、コンテンツの検証、およびデータの収集とフィルタリングをリアルタイムで実行できます。
リファレンスアーキテクチャ: サンプルコード


The Seattle Times は AWS Lambda を使用して画像をリサイズし、デスクトップコンピュータ、タブレット、スマートフォンなどの異なるデバイスで閲覧できるようにしています。導入事例を読む »
リアルタイムストリーム処理
リアルタイムのストリーミングデータを AWS Lambda と Amazon Kinesis を使用して処理することで、アプリケーションのアクティビティのトラッキング、注文のトランザクション処理、クリックストリーム分析、データクレンジング、メトリクスの生成、ログのフィルタリング、インデックス作成、ソーシャルメディア分析、および IoT データのテレメトリと測定などが行えます。
リファレンスアーキテクチャ: サンプルコード


Localytics では、数十億のデータポイントをリアルタイムで処理しており、S3 に保存された、または Kinesis からストリーミングされた履歴データとライブデータを Lambda を使用して処理しています。導入事例を読む »
機械学習
AWS Lambda を使用してデータを前処理してから、機械学習モデルにフィードできます。Lambda から EFS にアクセスできるため、インフラストラクチャをプロビジョニングまたは管理しなくても、スケールに応じた予測を行うためのモデルを提供することもできます。

「Aible は、最小限の運用コストで、非常に強力な人工知能テクノロジーを提供することに注力しています。そのため、機械学習のトレーニングと予測に AWS Lambda とサーバーレスを使用しています。サーバーレスでは、ビジネスで最大限の効果を引き出すための人工知能を開発する高速なイテレーションとスケーリングに必要なバーストコンピューティングリソースの利点を得ながら、機械学習の広範なワークロードをさらにコスト効率の高い方法で実行できます」
Aible、CTO、Rod Butters 氏
バックエンド
AWS Lambda を使用して、ウェブ、モバイル、IoT、サードパーティー API リクエストを処理するサーバーレスバックエンドを構築できます。複数のメモリ構成やプロビジョニングされた同時実行など、Lambda の一貫したパフォーマンス制御を活用して、あらゆる規模のレイテンシーに敏感なアプリケーションを構築します。
ウェブアプリケーション
開発者は、AWS Lambda を AWS の他のサービスと組み合わせることで、スケールアップまたはスケールダウンを自動的に行う強力なウェブアプリケーションを構築し、複数のデータセンターにわたって可用性の高い設定で実行できます。スケーラビリティ、バックアップ、または複数のデータセンターによる冗長性を、管理に労力を費やすことなく実現できます。
リファレンスアーキテクチャ: サンプルコード

IoT バックエンド
AWS Lambda を使用して、ウェブ、モバイル、IoT、サードパーティー API リクエストを処理するサーバーレスバックエンドを構築できます。
リファレンスアーキテクチャ: サンプルコード

モバイルバックエンド
AWS Lambda によって、機能が豊富でカスタマイズされたアプリケーションの機能をより簡単に作成できます。AWS Lambda と Amazon API Gateway を使用して、API リクエストの認証と処理のためのバックエンドを構築できます。AWS Amplify を使用して、バックエンドを iOS、Android、ウェブ、React Native フロントエンドと簡単に統合できます。
リファレンスアーキテクチャ: サンプルコード


Bustle では、AWS Lambda と Amazon API Gateway を使用して、Bustle iOS アプリケーションとウェブサイトのサーバーレスバックエンドを実行しています。サーバーレスアーキテクチャでは、Bustle でインフラストラクチャを管理する必要は一切ないため、すべてのエンジニアは新しい機能の構築や新規開発に集中できます。導入事例を読む »
導入事例

アメリカの清涼飲料水分野の多国籍企業である Coca-Cola Company は、AWS Lambda と AWS Step Functions を使用してコスト効果の高いサーバーレスソリューションを構築しました。

iRobot は一流の世界的な消費者向けロボット企業で、サーバーレスアーキテクチャを用いて、スマート住宅向けの接続された次世代のデバイスを構築しています。

ライフサイエンス分野のソフトウェア会社 Benchling は、サーバーレスアーキテクチャを使用して、極めて正確にゲノムの一部を修正するために研究者が使用する技法を作り上げました。

Thomson Reuters は、AWS Lambda を使用して、使用状況分析サービスで最大 4,000 イベント/秒を処理し、導入から運用までには 5 ヶ月かかりました。
AWS Lambda の使用開始
AWS Lambda の詳細