AWS Lambda を使用することで、サーバーのプロビジョニングや管理をすることなく、コードを実行できます。課金は実際に使用したコンピューティング時間に対してのみ発生し、コードが実行されていないときには料金も発生しません。
Lambda を使用すれば、実質どのようなタイプのアプリケーションやバックエンドサービスでも管理を必要とせずに実行できます。コードさえアップロードすれば、高可用性を実現しながらコードを実行およびスケーリングするために必要なことは、すべて Lambda により行われます。コードは、他の AWS サービスから自動的にトリガーするよう設定することも、ウェブやモバイルアプリケーションから直接呼び出すよう設定することもできます。
AWS Lambda とは (日本語字幕)
メリット
サーバー管理が不要
AWS Lambda ではコードを自動的に実行します。サーバーのプロビジョニングや管理は必要ありません。必要なのは、コードを書いて Lambda にアップロードすることのみです。
継続的スケーリング
AWS Lambda では、毎回のトリガーに対応してコードを実行することにより、自動的にアプリケーションをスケールします。コードは並行して実行され、トリガーごとに個別に処理され、ワークロードのサイズに合わせて正確にスケールされます。
ミリ秒単位の課金
AWS Lambda では、コードが実行される 100 ms ごと、およびコードがトリガーされた回数に対して課金されます。コードが実行されていないときは、料金がまったく発生しません。
仕組み
ユースケース
AWS Lambda で何を構築できるでしょう? ユースケースの詳細は、以下を参照してください。
データ処理
AWS Lambda を使用すると、データの変更、システムステータスの遷移、またはユーザーによるアクションをトリガーとし、その応答としてコードを実行できます。Lambda は、S3、DynamoDB、Kinesis、SNS、CloudWatch などの AWS のサービスによって直接起動することも、AWS Step Functions によってワークフローに編成することもできます。これにより、さまざまなリアルタイムのサーバーレスデータ処理システムを構築することができます。
リアルタイムファイル処理
Amazon S3 を使用して AWS Lambda をトリガーし、アップロードしたデータを直ちに処理することができます。例えば、Lambda を使用すると、画像のサムネイル作成、ビデオのコード変換、ファイルのインデックス作成、ログの処理、コンテンツの検証、およびデータの収集とフィルタリングをリアルタイムで実行できます。
リファレンスアーキテクチャ: サンプルコード
The Seattle Times は AWS Lambda を使用して画像をリサイズし、デスクトップコンピュータ、タブレット、スマートフォンなどの異なるデバイスで閲覧できるようにしています。導入事例を読む »
リアルタイムストリーム処理
リアルタイムのストリーミングデータを AWS Lambda と Amazon Kinesis を使用して処理することで、アプリケーションのアクティビティのトラッキング、注文のトランザクション処理、クリックストリーム分析、データクレンジング、メトリクスの生成、ログのフィルタリング、インデックス作成、ソーシャルメディア分析、および IoT データのテレメトリと測定などが行えます。
リファレンスアーキテクチャ: サンプルコード
Localytics では、数十億のデータポイントをリアルタイムで処理しており、S3 に保存された、または Kinesis からストリーミングされた履歴データとライブデータを Lambda を使用して処理しています。導入事例を読む »
抽出、変換、ロード
AWS Lambda を使用することで、DynamoDB テーブル内のデータの変更すべてに対して検証、フィルタリング、ソート、その他の変換を実行し、変換されたデータを別のデータストアにロードできます。
Zillow では、Lambda と Kinesis を使用して、モバイルメトリクスのサブセットをリアルタイムにトラッキングしています。Kinesis と Lambda を使うことで、費用対効果の高いソリューションをわずか 2 週間で開発およびデプロイすることができました。
バックエンド
AWS Lambda を使用して、ウェブ、モバイル、IoT、サードパーティ API リクエストを処理するサーバーレスバックエンドを構築できます。
IoT バックエンド
AWS Lambda を使用して、ウェブ、モバイル、IoT、およびサードパーティの API リクエストを扱う、サーバーレスバックエンドを構築できます。
リファレンスアーキテクチャ: サンプルコード
モバイルバックエンド
AWS Lambda と Amazon API Gateway を使用して、API リクエストの認証と処理のためのバックエンドを構築できます。Lambda によって、機能が豊富でカスタマイズされたアプリケーションの機能をより簡単に作成できます。
リファレンスアーキテクチャ: サンプルコード
Bustle では、AWS Lambda と Amazon API Gateway を使用して、Bustle iOS アプリケーションとウェブサイトのサーバーレスバックエンドを実行しています。サーバーレスアーキテクチャでは、Bustle でインフラストラクチャを管理する必要はまったくないため、すべてのエンジニアは新しい機能の構築や新規開発に集中できます。導入事例を読む »
ウェブアプリケーション
開発者は、AWS Lambda を AWS の他のサービスと組み合わせることで、スケールアップまたはスケールダウンを自動的に行う強力なウェブアプリケーションを構築し、複数のデータセンターにわたって可用性の高い設定で実行できます。スケーラビリティ、バックアップ、または複数のデータセンターによる冗長性を、管理に労力を費やすことなく実現できます。
リファレンスアーキテクチャ: サンプルコード
導入事例
アメリカの清涼飲料水分野の多国籍企業である Coca-Cola Company は、AWS Lambda と AWS Step Functions を使用してコスト効果の高いサーバーレスソリューションを構築しました。
iRobot は一流の世界的な消費者向けロボット企業で、サーバーレスアーキテクチャを用いて、スマート住宅向けの接続された次世代のデバイスを構築しています。
ライフサイエンス分野のソフトウェア会社 Benchling は、サーバーレスアーキテクチャを使用して、極めて正確にゲノムの一部を修正するために研究者が使用する技法を作り上げました。
Thomson Reuters は、AWS Lambda を使用して、使用状況分析サービスで最大 4,000 イベント/秒を処理し、導入から運用までには 5 ヶ月かかりました。
AWS Lambda の使用開始
AWS Lambda の詳細