新発表が続々!「AWS re:Invent 2014」レポート 第3回
Lambdaは“インスタンス管理なし”のコード実行プラットフォーム
AWS、re:Inventで「Lambda」など開発関連サービスを一挙発表
2014年11月18日 06時00分更新
Amazon Web Servicesは、11月11~14日に開催された「re:Invent 2014」において、「AWS Lambda」やアプリケーション開発ライフサイクル管理サービス群など、AWS上でのアプリケーション開発に関連する複数の発表を行った。
“インスタンス管理なし”でコードを自動実行「AWS Lambda」
AWS Lambdaは「イベント駆動型のダイナミックアプリケーションを開発するためのコンピュートサービス」と説明されている。具体的には、特定のAmazon S3バケットやDynamoDBテーブル、Kinesisストリーム、SQSキューでイベント(データ変更)が発生するたびに、開発者がJavaScript(Node.js)で記述したコード「Lambda function」を自動実行してくれるプラットフォームである。
Lambda functionを実行するために、開発者があらかじめEC2インスタンスやOSなどの実行環境を用意する必要がない点が大きな特徴。開発者がfunction登録時に必要なメモリ容量を指定するだけで、実行環境の管理やモニタリング、スケーリングはすべてLambdaプラットフォームが自動的に行うため、開発者は実行環境の管理に手をわずらわせることなく、functionの開発に専念できる。
re:Invent 2日目の基調講演で、AWS CTOのWerner Vogers(ヴァーナー・ボーゲルズ)氏は、「コードを実行するためのサーバーも、インスタンスも、何も用意する必要がない。ただコードを書くだけだ」と、Lambdaプラットフォームの特徴を強調した。「インスタンスを用意しなくとも、シンプルかつ高信頼性、高い連携性を持つアプリケーションが開発できる。コード開発に専念できる」(同氏)。
ボーゲルズ氏は、Lambdaを利用した写真データ処理アプリケーション開発の例を挙げた。この例では、S3やDynamoDBの間を複数のLambda functionでつなぐことにより、モバイルデバイスからS3バケットへの写真アップロード(イベント)をトリガーとして、すべての処理が自動実行される。
このほかにも、たとえばIoTのセンサーデータやSNSメッセージ、データストリーム内での変化などをトリガーとして処理を実行するfunctionが開発できると、ボーゲルズ氏は説明した。
AWS Lambdaの利用料金は、リクエスト数とfunction実行時間(指定メモリ容量により変動)により決まる。100万リクエストあたり0.20ドル、また100ミリ秒のfunction実行あたり0.000000208ドル(128MBメモリの場合)となっている。それぞれ無料利用枠も用意されている。
現在、AWS Lambdaはプレビュー版を提供している。また、将来的にはJavaScript以外の開発言語にも対応を拡大していく予定。
また、Netflix CPO(最高プロダクト責任者)のNeil Hunt(ニール・ハント)氏も登壇し、Lambdaへの期待を語った。同社ではオンラインビデオ配信サービスのためにAWSを利用しているが、トランスコーディングなどの処理量は常に変動するため、複雑なインフラ管理やオーバープロビジョニング、無駄なポーリング処理などが発生していた。Lambdaにより、これをもっとシンプルなものにし、コスト削減効果も見込めるという。
さらにハント氏は、Netflixで考えられるLambdaのユースケースとして、「メディアファイルのエンコーディング」「DR対策/バックアップ」「セキュリティ/データ照合」「ダッシュボード/モニタリング」の4つを挙げた。
(→次ページ、「CodeDeploy」など開発サイクルを加速させるツール群も)
この連載の記事
-
第5回
ソフトウェア・仮想化
最新技術でRDBを再設計!理想と現実の狭間に投入したAurora -
第4回
デジタル
「クラウドは“新しい標準”になった」AWS re:Inventを振り返る -
第2回
デジタル
AWS、EC2で大量のDockerコンテナを一元管理するサービス発表 -
第1回
デジタル
“MySQLの5倍速い”AWSが新DBサービス「Amazon Aurora」発表 -
クラウド
新発表が続々!「AWS re:Invent 2014」レポートまとめ - この連載の一覧へ