このページの本文へ

クラウドの力を見せつけたAWS re:Invent 2016 第3回

サーバーレスの代名詞がいよいよC#をサポート

IoTデバイスからCDNまで!ますます拡がるLambdaワールド

2016年12月02日 10時30分更新

文● 大谷イビサ/TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

2014年の登場以来、AWSの代表的なサービスともなったサーバーレスコンピューティングサービス「AWS Lambda」がいよいよC#をサポート。さらにIoTデバイスやCDN(CloudFront)、データ移行用の物理アプライアンスであるSnowballにまで活動範囲を拡げた。

Lambdaの対応言語としてC#が利用可能に

クラウドと同じLambdaコードがIoTデバイス上で動く

 AWS re:Invent 2016の3日目に登壇したアンディ・ジャシーCEOが2時間半に渡る基調講演の後半で紹介したのは、IoT向けのコンピュートサービスである「AWS Greengrass」だ。

 ジャシー氏は、ゲノム解析、スマートライティング、船や車両の管理など、さまざまな分野でIoTの利用が拡がっていることをアピール。一方で、リソース不足となるIoTデバイスでは、クラウドの役割が重要になると指摘した。「今後10年で、オンプレミスのデータセンターのフットプリントの大半を占めることになる。サーバーの数で収縮するが、IoTデバイスは急激に増える。こうするとクラウドのメリットを比較的容易に得られる」とジャシー氏は語る。

 一方で、IoTにおいてはクラウドとのやりとりを減らしたいというニーズもある。「レイテンシの要件がミリ秒単位になると、データがクラウドを行ったり来たりできない。また、ダムのようなところでは、ネットワークにつなげるのも高価になる」とジャシー氏は語る。こうした環境ではセンサーなどのデータを受け取るIoTデバイス自体で、ある程度の処理が必要になる。「AWS IoTのユーザーやデバイスメーカーは、AWS上でやっているのと同じコンピュートと分析機能をIoTデバイス側にも欲しがっている」(ジャシー氏)。

IoTデバイスにはリソースが足りないため、クラウドに依存する

 AWS Greengrassは「Embed Lambda Compute」と称されるとおり、同じLambdaのプログラムをクラウドとIoTデバイス上で動作させることができる。AWS GreeengrassのランタイムはARMやx86上で動くUbuntuやAmazon Linux上のデバイスで動作し、管理はAWSのコンソール上から行なえる。また、AWS IoTも含んでいるため、メッセージングや同期機能を使ってローカルでのピアツーピアでの通信も可能で、セキュリティおよびアクセス管理機能により、データは認証・暗号化されるという。

LambdaコードをIoTデバイスにも展開できるAWS Greengrass

 用途としては家庭内のIoTハブ、農業や工場でのセンサーゲートウェイなどが想定されており、IoTデバイス側の処理により、通信量を削減する効果もある。インテルやクアルコムなどパートナーからAWS Greengrassを搭載したデバイスも登場する予定となっている。

LambdaをCroudFront上に配置できるLambda@Edge

 4日目のヴァーナー・ボーガスCTOの基調講演では、Lambdaの新しい展開についての説明があった。

 一昨年のre:Inventで発表されたLambdaだが、現在はAPI Gatewayをはじめ各種のAWSのサービスと統合されており、直近のアップデートではVPCやnode.js 4.3、シンプルプロキシ対応などが行なわれた。対応言語もnode.js、Java、Pythonに加え、今回はなんとC#への対応も発表された。

 Lambdaの活動範囲は拡大している。前述したAWS Greengrassは、今回発表された「AWS Snowball Edge」にも組み込まれているほか、Amazon LuxやAlexa Akills KitでもLambdaが動作する。さらに今回は「AWS Lambda@Edge」が発表され、CDNサービスのCloudFrontにおいてもLambdaが動作するようになった。128MBメモリ、50ミリ秒という制約はあるものの、CloudFrontにLambdaを配置することで、HTTPヘッダの書き換えやユーザー認証、デバイス検出、コンテンツのスイッチ、A/Bテストなど幅広い用途での利用が可能になる。

LambdaをCloudFront上に配置できるLambda@Edge

 今回はLambdaなどを用いた分散アプリケーションのワークフロー管理ツール「AWS Step Functions」も発表された。アプリケーションを構成するコンポーネントをシーケンシャル(直列)、パラレル(並列)、ブランチ(分岐)などのステップに配置し、ビジュアル管理できる。

分散アプリケーションのワークフローをビジュアル管理できるAWS Step Functions

 サーバーレスのコンポーネントとして着実に利用実績を積むLambda。今回の発表ではクラウドを飛び出し、IoTデバイスやアプライアンス、ネットワークにまでLambdaの利用が拡大することになった。幅広い利用用途が考えられるだけに、今後が楽しみだ。

■関連サイト

カテゴリートップへ

この連載の記事