Quantcast
Viewing all articles
Browse latest Browse all 906

【AWS発表】AWS Lambda – モバイル開発のための新機能とともに全てがプロダクションに

昨年のAWS re:InventカンファレンスでプレビューとしてAWS Lambdaをローンチしました(詳細は私のポスト、Lambda – Run Code in the Cloud(日本語版:AWS Lambda – クラウド上でのコード実行)を参照してください)。その時に私が言ったように、AWS Lambdaは管理不要のコンピュートプラットフォームであり、Amazon Elastic Compute Cloud (EC2) インスタンスの設定、起動、監視や、スケールについて考慮したり、耐障害性に関して心配する必要がないものです。ユーザは単にLambda function作成(JavaScript / Node.jsを使います)し、適切なパーミッションをセットし、functionを自分のAWSリソースに接続するだけです。

私たちはプレビュー期間中にたくさんの素晴らしいフィードバックを受け取りました。私たちは皆さんのフィードバックをアップデートと開発ロードマップの優先付けのために活用してきました。そしてこのブログポストでその結果をシェアしたいと思います。あなた(と多くの他の開発者たち)がモバイル、ウェブサイトそしてデバイスのバックエンドとしてAWS Lambdaを使うことを計画するということを聞けてとても良かったです。これらの重要なユースケース群のためにさらなる力と柔軟性を提供するために、私たちはAWS Lambdaにいくつかの機能を追加しました。これは後ほど説明します。

Now in Production
まず、AWS Lambdaはプロダクションのワークロードのための準備ができています。アカウントあたり最大100同時リクエストまで実行することができます(プレビュー期間中の50から引き上げられました)。仮にアプリケーションがロケットのように離陸し、より多くのリクエストを同時に実行できる必要があるならば連絡してください。私たちは迅速な方法で助けとなるよう最善を尽くします。

AWS Lambdaは、functionが存在し、正しいパーミッションを持っていて同時リクエストに対するアカウントレベルでの制限以内であれば、コードを数ミリ秒以内に実行開始します。

まとめると、これらの2つの要素はハイボリュームな本番アプリケーションをホストするのに必要なスケールと応答性をAWS Lambdaに与えます。

AWS Lambdaの新機能
一般提供に向けた我々の活動の一部として私たちが追加した機能を見て行きましょう。

  • 同期呼び出し -あなたのアプリケーションはLambda functionを同期的に呼び出せるようになり、実行終了するとすぐにレスポンスを受け取ることができるようになりました。引数と応答はJSON表記で表すことができます。Handling Events from User Applicationsという簡単なウォークスルーを利用して新しい呼び出しモデルを試すことができます。
  • 新しいトリガー – トリガーとしてAmazon Simple Notification Service (SNS)の通知を利用してLambda functionを呼び出せるようになりました。AWS Mobile SDK (Android and iOS)経由で行われたリクエストに応じてこれらを呼び出すこともできます。Amazon SNSを使ってLambda functionを呼び出すことについてより知るためには、Amazon SNS Developers Guideを訪れてください。
  • アクセスモデルの簡潔化 – Lambda functionに対して実行権限を与えるために(以前に要求されていたペアの代わりに)単一のIAM roleを利用できます。コンソールには1クリックのrole作成が含まれ、新しく、よりシンプルなモデルに既存のexecution roleを持ってくる手助けもします。より詳しくはIntroduction to Permissions Modelを参照してください。
  • リソースへのクロスアカウントアクセス – AWS Lambdaはリソースベースのポリシーと別のAWSアカウントから呼び出す権限を許可できるようになるクロスアカウントアクセスをサポートしました。
  • コンソールのエンハンス – イベントソースとしてAmazon Kinesisストリームの追加、編集、削除をAWS Management Consoleで行えるようになりました。一箇所でLambda functionに対する全てのイベントソースを確認できるようにもなりました。何がfunctionをトリガーしているのか非常に簡単に見ることができるようにします。Kinesis用の新しいコンソールをちょっと試して、より深く学ぶために Getting Started with Kinesis Eventsを読んでください。
  • 複数のFunction – 1つのKinesisもしくはDynamoDBストリームに対して1つ以上のLambda functionを割り当てることができるようになりました。もし、Kinesisストリームでこれをすることを計画するなば、同時リクエストの予想数を扱うために十分なシャード数を持つことをおすすめします。
  • メトリクスとAPIのエンハンス – スロットリングに対するメトリクスを追加し、イベントソース管理のAPIを改善し、AWS Lambdaのプログラミングモデルを合理化しました。
  • Cognitoイベント – Cognitoデータセットへの同期プロセスの一部としてLambda functionを呼び出すことができるようになりました。詳しく知るにはCognito Events参照してください。

素晴らしいモバイルのサポート

Image may be NSFW.
Clik here to view.

“Amazon Cognitoはゲームの状態をクラウドに保存し、デバイスをまたがって同期することを本当に簡単にしてくれました。Amazon CognitoのAWS Lambdaとの統合について我々は非常に興奮しています。AWS Lambdaバックエンドでの解析を実行することで複数デバイスをまたがってゲームデータに加えられた変更を効果的にインターセプトし、検証して解決することができるようになったためです。結果的に、我々はよりよいゲーム体験を顧客に提供できます。”

Todd Shallbetter, Chief Operating Officer

Atari

モバイルアプリケーションはしばしば大きなユーザベースを非常に急速に引きつけます。単にモバイルアプリをプロトタイピングしていようが、既に大きなユーザベースを持っていようがスケールできるバックエンドを即座に追加するためにAWS Lambdaを頼りにできます。

以前に言及したように、開発者は既に高機能なモバイルアプリの不可欠なパートとしてAWS Lambdaを使っています。彼らはコンピュート、ストレージ、負荷分散やそういったものについて考える必要なくスケーラブルなサーバサイドコンポーネント(モバイルバックエンド)を作成できます。しかしながら、非同期処理モデルはアプリ内のアクティビティに対する応答のような遅延にセンシティブなタスクに使えないことを意味します。

上記の新しい同期呼び出しの機能はこのユースケースにとてもフィットします。Mobile SDKを通して同期的な方法で呼び出されたLambda functionはリクエストの一部として詳細なコンテキスト情報を受け取ります。これらはアプリケーションデータ(名前、ビルド、バージョンやパッケージ)、デバイスデータ(製造者、モデル、プラットフォーム)とユーザデータ(クライアントID)へのアクセス権を持ちます。functionは数ミリ秒以内で呼び出されるので、モバイルバックエンドは非常に速くリクエストに対して応答することが可能です。バックエンドコードのホスティングやスケーリングを心配することなくアプリ全体の体験を改善できます。

AWS Mobile SDKs for Android and iOSは新たな同期呼び出し機能のサポートを含みます。モバイルデバイス上で発生したイベントに応じてLambdaのコードを実行するためのイベントソースとしてAWS Mobile SDKを利用することも可能です。

Amazon Cognitoは、何のバックエンドコードもしくはインフラ管理もなくアプリの情報やゲームの状態といったユーザデータのAWSクラウドへの保存を簡単にするサービスです。Cognitoがデータセットを同期したときにLambda functionの実行をトリガーできるようになりました。入力データの検証やフィルタリング、もしくは変更によって、Lambda functionが同期オペレーションに参加することができます。

ロードマップ
上記で言及したロードマップ?私たちは始めたばかりであり、その働きにおいてクールなものの全ての種類を持っています。例えば、もうすぐLambda functionをJavaで記述することができるようになります。また、Cognitoのデータセットにおけるマージとコンフリクトの解決イベントをインターセプトして処理するためにLambda functionを使うこともできるようになります。

顧客から

私たちにはAWS Lambdaのエコシステムに参加し始めている素晴らしいパートナーもいます。Codeshipは手動での更新の必要なくLambda functionのアップデートを簡単にする、もしくは独自のデプロイメントシステムを構築するAWS Lambda support for deploying Lambda functionsを発表しました。

今日から始めましょう
最初のfunctionの作り方を学ぶにはGetting Started with AWS Lambdaを読んでください。上述した機能についてより知るためにはWhat’s New Pageをチェックしてください。

AWS Lambdaをちょっと試してみて、あなたが思いついたことを教えて下さい!

Jeff;(翻訳:西谷圭介)


Viewing all articles
Browse latest Browse all 906

Trending Articles