アマゾン ウェブ サービス ジャパンが6月2日まで都内で開催した「AWS Summit Tokyo 2017」で、米Amazon Web Service(AWS)の最高技術責任者(CTO)、Werner Vogels氏が3日目に基調講演の壇に立ち、サーバレスなど最新の技術について説明した。
Lambda、DynamoDB、X-Rayとサーバレスに必要な技術がそろった
トリガーによりコードを自動実行するサーバレスでは、サーバのプロビジョニングやスケールを考える必要がない。フォールトトレラントなどの機能も組み込んでいる。AWSは2014年の「re:invent」でサーバレスサービス「AWS Lambda」を発表、その後業界全体のサーバレスの動きをけん引している。
Lambdaは基調講演の最初の顧客として登壇したソラコムなど、多数の企業が導入している。ここでVogels氏は米国のFinancial Industry Regulatory Authority(FINRA)を紹介した。複数の株式市場のデータから不正取引などの行為をモニタリングする連邦機関で、数千ものイベントがある中でLambdaのファンクションをトリガーするシステムで効率化を図っているとのことだ。「Lambdaは発電所のように多数の企業に利用されている」とVogels氏は胸を張る。
利用が進む一方で、複数のLambdaファンクションを複雑なアプリケーションで利用するというニーズが少し前から増えているという。そこでAWSが作成したのが「AWS Step Functions」だ。ビジュアルなワークフローを使って、分散型のアプリケーションにおけるコンポーネントを調整できる。各ステップが自動でトリガーとして管理され、エラー時は再試行する。問題の診断やデバッグも簡単に行うことができる。
「AWS Step Functions」。逐次、並行、分岐の3パターンが用意されている
次にVogels氏が紹介した機能が「AWS X-Ray」だ。
「アプリケーションの分散型が進んでいる。コンポーネントが分散され、それぞれが協調しなければならない。どこにボトルネックがあるのか、見いだすのは難しい」とVogels氏。AWS X-Rayを利用することで、レントゲン検査(X-Ray)のように分散型アプリケーションの洞察を得ることができる。
コンポーネントがどのようにお互いに作用しているのか、リクエストがどのように流れているのかなどの情報を取得し、ビジュアルマップに表示、瞬時にボトルネックをリアルタイムでつかむことができる。アプリケーションはEC2、ECS、Elastic Beanで実行されるものをサポートする。
X-Rayを利用して、DynamoDBテーブルが適切に設定されていないといったことが、瞬時に分かるという
サーバレスの仕上げとして、Vogels氏は「Amazon DynamoDB」について語った。Amazon DynamoDBはノンリレーショナル型で、高い可用性、一貫した性能、拡張性などを特徴とする。10ミリ秒以下の低遅延も備える。「パフォーマンス管理、拡張性、信頼性などを気にする必要はない」とVogels氏。例えば、ゲーム会社Supercellは、DynamoDBを利用して、ゲームローンチ初日のアクセス集中をはじめ、あらゆる種類の負荷に耐える環境を構築していると紹介した。
Vogels氏はここで、性能や規制順守などの要件のある顧客向けとして、Amazon Virtual Private Cloud(VPC)エンドポイントからアクセスできるVPCエンドポイントを追加したことを改めて紹介した。
また、DynamoDB向けのフルマーネジドインメモリキャッシュ「Amazon DynamoDB Accelerator(DAX)」も紹介した。ゲームや取引など「マイクロ秒のレスポンスを必要とする新しい種類のアプリケーション」向けという位置付けで、キャッシュ活用により性能を実現する。開発者はキャッシュやクラスターの管理などの面倒な作業をすることなく利用でき、DynamoDBのAPIと互換性があるためアプリケーションに変更を加える必要もない。
「1クリックでインメモリキャッシュを有効にし、クエリの性能を最大10倍にできる」とVogels氏はメリットを強調した。DAXは現在プレビューとして提供されている。
低遅延アプリケーション向けのAmazon DynamoDB Accelerator(DAX)