こんばんわ! cloudpack@dz_ こと大平かづみです。

Prologue – はじめに

昨日、勢い余って申し込んだ AWS Lambda Preview が、なんとその日中に申請が通りました!
さらにラッキーなことに、今日は週末!さっそく試してみます♪

参考: Check! AWS Lambda – Run Code in the Cloud 〜 Preview に申し込もう!

Preview申請が通った後の画面

AWS Lambda Preview をさっそく試します

このページの内容をよく確認してみます。

新しい情報にすぐに応答する

Respond quickly to new information

AWS Lambda runs your code in response to events such as image uploads, in-app activity, website clicks, or outputs from connected devices. You can use AWS Lambda to add custom logic to other AWS services or create your own backend service that operates at AWS scale, performance, and security.

訳: AWS Lambda は、画像のアップロードや、アプリのアクティビティ、ウェブサイトのクリック、接続されたデバイスからの出力などのイベントへの応答として、あなたのコードを実行します。

あなたは、AWS Lambda を、他のAWSサービスにカスタムロジックを追加したり、AWSのスケール、パフォーマンス、セキュリティを操作するための独自のバックエンドサービスを作ったりするのに、利用することができます。

あなたのコードを、インフラの管理なしに実行する

Run your code without managing infrastructure

AWS Lambda administers the underlying compute resources, including server and operating system maintenance, capacity provisioning and automatic scaling, code and security patch deployment, and code monitoring and logging.

All you need to do is write the code.

訳: サーバやオペレーティングシステムのメンテナンス、キャパシティの準備や自動スケール、コードのモニタリングやログ記録などを含む、配下のコンピュータリソースを、AWS Lambda が管理します。

あなたがしなければならないことは、コードを書くことだけです。

コスト対効果を高く、効率的に

Cost-effective and efficient

AWS Lambda runs your code only when needed, with no unnecessary overhead or cost.

訳: AWS Lambdaは、必要な時だけ、あなたのコードを実行します。不必要なオーバーヘッドやコストは発生しません。

さらに、情報収集

いろいろドキュメントを読んでみます。

AWS Lambda(Preview)」を少し読んでみます。

課金体系

Billing is metered in increments of 100 milliseconds, making it cost-effective and easy to scale automatically from a few requests per day to thousands per second.

価格は、100ミリ秒ごとに課金されます。これは費用対効果がよく、数リクエスト/日から、1000リクエスト/秒 まで、というようなリクエストに対し、自動でスケールするのが容易です。

AWS Lambda ファンクションの導入

Introducing AWS Lambda functions

The code you run on AWS Lambda is called a “Lambda function.” After you create your Lambda function it is always ready to run as soon as it is triggered, similar to a formula in a spreadsheet. Each function includes your code as well as some associated configuration information, including the function name and resource requirements. Lambda functions are “stateless,” with no affinity to the underlying infrastructure, so that Lambda can rapidly launch as many copies of the function as needed to scale to the rate of incoming events.

訳: AWS Lambda の上であなたが書いたコードは、「Lambdaファンクション」と呼ばれます。
あなたが、あなたの Lambdaファンクションを作成した後は、すぐにトリガとして実行される準備ができている状態になります。スプレッドシートで使う計算式に似ています。
それぞれのファンクションは、あなたのコードと同じように、ファンクション名や、リソースの必要要件などの関連する設定情報を保有します。
Lambdaファンクションは、配下のインフラに対してアフィニティがなく(密着しておらず)、「ステートレス」です。このため、Lambda は、イベントの発生状況に合わせたスケールの必要に応じて、即座にファンクションのコピーを実行できるのです。

After you upload your code to AWS Lambda, you can associate your function with specific AWS resources (e.g. a particular Amazon S3 bucket, Amazon DynamoDB table, or Amazon Kinesis stream). Then, when the resource changes, Lambda will execute your function and manage the compute resources as needed in order to keep up with incoming requests.

訳: AWS Lambda にあなたのコードをアップロードした後に、特定のAWSリソースにあなたのファンクションを繋げることができます。(たとえば、特定の Amazon S3 バケットや、Amazon DynamoDB テーブル、Amazon Kinesis ストリームなど)
そうすると、これらのリソースの変更があったときには、Lambda はあなたのファンクションを実行し、やってくるリクエストに追いつくように、必要に応じてコンピュートリソースを管理します。

ユースケース

  • Data Triggers - データトリガ
  • Stream Processing – ストリーム処理
  • Back-end Service - バックエンドサービス
  • Scheduled Tasks – タスクのスケジュール実行
  • Data Indexing and Synchronization – データのインデックス処理、同期処理
  • Auditing and Notification - 監査と通知
  • Internet of Things (IoT) - モノのインターネット (IoT)

Epilogue – おわりに

ドキュメントの確認だけで、少し長くなってしまったので、実験の様子はまた次回の記事にしようと思います!

やりたい実験は、

  • ウェブサイトのクリック時にコードを実行する
  • S3アップロード時にコードを実行する

です!

週末の間にできるのか、こうご期待(汗)