イベント
Amazon CTOが語る、次世代のクラウドアーキテクトに不可欠な6つの法則 「AWS re:Invent 2015」2日目基調講演
(2015/10/13 06:00)
今回で4度目の開催となったAmazon Web Services(AWS)の年次カンファレンス「AWS re:Invent」では、初日(Day 1)に同社シニアバイスプレジデントのアンディ・ジャシー氏、2日目(Day 2)にAmazon.comのCTOであるヴァーナー・ボーガス(Werner Vogels)博士による基調講演がそれぞれ行われ、大きな新サービスのローンチもそこで公開となる。
ジャシー氏のほうはビジネスユーザー、もしくはインフラの運用担当者に向けた発表が多く、一方のボーガスCTOはよりアプリケーション開発者に訴求した、ITトレンドの最前線を行く内容が目立つ。
10月9日(米国時間)に行われた「AWS re:Invent 2015」の2日目基調講演、ボーガスCTOはクラウドアプリケーション開発者がおぼえておくべき「6つの法則(Six of Laws)」を引用しながら新サービスの発表を行った。本稿ではその概要を紹介していきたい。
Amazon Kinesis Analytics:過去データへの依存からリアルタイム分析の時代へ
ボーガスCTOがひとつ目の法則として引用したのは、マクロ経済学で用いられる「ルーカスの批判(Lucas Critique)。過去のデータだけに基づいて未来の予測をすることには慎重であるべき」だ。現在、ビッグデータ分析の世界ではヒストリカルデータの分析よりもリアルタイムなストリーミング処理にフォーカスがあたることが多い。過去のモデルを明らかにするよりも、現在起こっていることを速く正しく分析することで高い精度の未来予測を実現しようとする動きだ。2015年にブームとなったマシンラーニングへの期待もストリーミング処理がベースになっている。
AWSは2013年のre:Inventでストリーミング処理技術である「Amazon Kinesis」を発表し、すでにMLBAM(大リーグの試合をリアルタイム分析するシステム)などの大規模導入事例がいくつも公開されている。だがボーガスCTOは「ストリーミングデータ分析はまだわれわれにとってチャレンジ」と語り、この分野にさらなる投資が必要だとしている。そして壇上で発表されたのが「Amazon Kinesis Analytics」だ。
Kinesis Analyticsは、Kinesisのストリーミングデータを受け取ったそばからSQLクエリで分析していく、いわば時系列分析(タイムシリーズ分析)を可能にする技術だ。出力された結果は前日に発表されたKinesis Firehoseを通してRedshiftやS3への格納も可能となっている。ただし一般ユーザーが利用可能になるのはKinesis Firehoseと同様に2016年の予定だ。
メモリ2TBの新EC2インスタンスAmazon EC2 Container Registry:シンプルなサービスを拡張して複雑なシステムに
2つ目の法則として紹介されたのは「ゴールの法則(Gall’s Law)。正常に動作する複雑なシステムはシンプルなシステムから発展したものであり、どんなシステムも最初はシンプルであるべき」という考え方だ。複雑になりがちなITの世界では、往々にしてシンプルへの回帰が叫ばれるが、ストレージサービスのS3やインスタンスサービスのEC2など、シンプルでわかりやすいサービスに徐々に機能を追加するかたちでポートフォリオを拡大していったAWSだからこそ、ゴールの法則は説得力をもつ。
ゴールの法則に関連してボーガスCTOがまず発表したのは新EC2インスタンス「X1」だ。このインスタンスの特徴は2TB/100コア超という巨大なメモリ容量に尽きる。4つのIntel Xeon E7 v3プロセッサが搭載されており、SAP HANAやApache Sparkのような大規模ワークロードでの利用が想定されているという。
さらに、X1と対を成すように「t2.nano」という512MB/1コアの小処理能力なEC2インスタンスが同時アナウンスされたことにも注目したい。AWSは昨年、安価でありながら突発的なバースト利用を可能にする「T2インスタンス」タイプを発表しているが、t2.nanoはそのラインアップでも最小のインスタンスタイプで、通常は小さなトラフィックしかないWebサイトなどに最適だという。X1/t2.nanoともに2016年前半の提供が予定されている。
シンプルをベースにしたサービスとして、次にボーガスCTOが言及したのはコンテナ(Docker)だ。AWSは昨年のre:Invent 2014でコンテナ管理サービス「Amazon EC2 Container Service(ECS)」を発表したが、リリース1年弱でNokia、Expedia、Meteorなど多くの成功事例を獲得している。
そして今回のre:Invent 2015ではECSを補強するマネージドサービスとして「Amazon EC2 Container Registry(ECR)」が発表された(GAは2015年中)。Dockerイメージを管理するサービスを出した翌年に、アプリケーションデプロイに欠かせないレジストリをフルマネージドサービスとして提供するのは“シンプルなサービスを拡張させて複雑なサービスに”というゴールの法則から見てもごく自然な流れだといえる。また、ECSのためのコマンドラインツール「Amazon EC2 Container Service CLI」も提供されており、こちらはすぐに使える状態にある。
ゴールの法則に照らしあわせたもうひとつのサービス拡張として発表されたのは「AWS Lambda」のアップデートだ。2014年のリリース直後からLambdaはAPI Gatewayの統合やJava対応などさまざまなアップデートが実施されてきたが、今回のre:Inventではそれらをさらに拡大し、VPCサポート、スケジュール機能、リクエストのタイムアウトを60秒から300秒に拡大、のほか、Pythonサポートが追加される。
ボーガスCTOは基調講演において「サーバーがない状態以上にサーバーの管理がラクになることなどありえない(No server is easier to manage than no server.)」と強調していたが、サーバーやコンテナの助けを借りることなく、イベントドリブンでコードを実行できるLambdaは、まさに“No Server”時代を先取りするサービスだと言える。
AWS Mobile Hub:開発に求められる知識は最小限でいい
3つ目の法則として挙げられたのは、オブジェクト指向開発で有名な法則でもある「デメテルの法則(Law of Demeter)。やりとりは関係のある直接の“友人”に限定すべきである」、別名「最小知識の法則」とも呼ばれるものだ。ボーガスCTOはこの法則をモバイルアプリケーション開発に当てはめた「AWS Mobile Hub」を新サービスとして紹介した。
AWS Mobile HubはLambdaをベースとしたMBaaS(Mobile Backend as a Service)ツールだ。このツールの特徴は、モバイルアプリ開発者が実装したい機能(ユーザー認証やアラート送信など)を選ぶと、Mobile Hubが自動で必要なAWSサービスを選び出し、Lambda経由でアプリケーションにロジックを追加する。機能選択後は、ビルドに必要なソースコードやSDKがこれもLambda経由で提供される。つまり開発者のリクエストに応じてバックエンド機能がLambda経由でサービスとして提供されるしくみだ。
文字通り“最小限”のサービスだけをオンデマンドで提供し、モバイル開発をシンプルにすることを狙っている。「モバイルアプリケーション開発者はデバイスのことはよく知っているが、ユーザー認証やアラート送信などバックエンドのサービスを構成することは好きではない。そうした負荷の高い作業をMobile Hubが肩代わりする」(ボーガスCTO)。
IoTはデータだけで完結すべき
ボーガスCTOはIoT関連の新サービスを発表する前に4つ目の法則である「オッカムの剃刀(Occam’s Razor)。より少ない仮定で成り立っているものを選ぶべき」を引用している。モノどうしの接続がメインとなるIoTにおいては、データから導かれる結果以外の仮定や分析をできるだけはじく設計が必要だという考えのもと、AWSが新サービスを提供しようとしていることがうかがえる。
AWS IoT:動くモノが作るネットワークは指数関数的に広がる
今回のre:Invent 2015では開催前からAWSがIoTプラットフォームをリリースするのでは、といううわさが流れていたが、やはりボーガスCTOは発表の最後にIoTのアナウンスをもってきた。「リードの法則(Reed's Law)。巨大なネットワーク、とりわけソーシャルネットワークは指数関数的にスケールする」を5つ目の法則として紹介したあとに、ボーガスCTOはIoTのマネージドプラットフォームである「AWS IoT」を発表している。
AWS IoTの最大の特徴はIoTのT(Things)にあたる部分を“動くモノ”として位置づけている点だ。動くモノを対象としたネットワーク、それも万単位のデバイスやセンサーが移動することを前提としたネットワークでは、通信が不安定になりやすい。そこでAWS IoTでは各デバイスとAWS上のゲートウェイ(Device Gateway)間のプロトコルにパブリッシュ/サブスクライブ型のMQTTを採用しており、移動中に通信が不能になってしまった場合でもデータ通信を担保できるしくみを提供している。
もうひとつの興味深い特徴として挙げられるのが「Device Shadows」という各デバイスに許可された論理的な仮想スペースだ。IoTにつながるデバイスは小さくて壊れやすく、また使用可能な電力量が小さいため、バッテリーが切れやすい。稼働場所の状況によってオン/オフが頻繁に切り替わるケースもある。つまりモノの状態が変わりやすいため、安定したオペレーションを実行することが難しいのだ。
この欠点を補完するためにAWSが用意したのがDevice Shadowsで、一定期間デバイスが接続されなくても、Device Shadows側に保存されたデバイス情報にしたがって仮想的な接続を維持できる。IoTでは数万、数十万のデバイスがすべて生きている状態は考えにくく、一時的であってもデバイスの状態を保持するしくみが求められていたが、Device Shadowsはそれに対するAWSの回答だといえる。
AWS IoTでは、ゲートウェイに送信されたデバイスデータをルールエンジンにしたがってKinesisやLambda、DynamoDB、S3といったAWSのサービス上で加工される。その後、Redshiftなどへの格納/分析が行われるか、または加工後のメッセージをデバイスに戻すかはルールエンジンの記述による。処理を可能なかぎり自動化する(オッカムの剃刀)ことで、モノの数以上に広がるIoTネットワーク(リードの法則)を制御するというわけだ。なお、AWS IoTのリリースに伴い、開発者向けに3つのSDK(組み込みOS、組み込みLinux、Arduino)も提供される。
AWS IoTはベータサービスとして提供が開始されており、米国の2つのリージョンのほか、東京リージョンでも利用可能だ。価格設定はメッセージの転送量に応じた月額従量課金制で、25万メッセージまでは無料、100万メッセージで5ドル(東京リージョンは8ドル)からとなっている。
Intelとのパートナーシップ――クラウドの世界はAWSだけではなし得ない
ボーガスCTOが最後の6つ目の法則として紹介したのが「ゲシュタルトの法則(The Gestalt Principle)。全体は、部分の総和よりすぐれている」だ。ボーガスCTOは「クラウドはAWSだけで進化させることはできない。多くのパートナーとの連携が必要だ」と語り、つづけて「例えば今日発表したX1インスタンスはIntel Xeon E7 v3の上で動いている。Intelとの強力なパートナーシップがなければこれは実現しなかった」と語り、Intelのデータセンター部門シニアバイスプレジデント ダイアン・ブライアント(Diane Bryant)を紹介している。ブライアント氏は昨年のre:Invent 2014の基調講演にも登壇しており、AWSとの密な関係をアピールした格好だ。
*****
ボーガスCTOが発表した新サービス、そして前日のジャシー氏の発表もあわせると、今回のre:InventはIoTやBIなどの大きなアナウンスはあったが、どちらかといえば既存のサービスをさらに強化しようとするAWSの方向性が見えてくる。アナリストとして本カンファレンスに参加していたIDC JapanのITサービスリサーチマネージャ 松本聡氏はこの傾向を「AWSがクラウドとして成熟してきたことのあらわれ」とコメントしている。
ほかのクラウドベンダでも現時点でIoTやBIサービスは出せるかもしれない、しかしX1インスタンスやMaridaDBのマネージドサービスなどは明らかにAWSにしか提供できないサービスだ。パイオニアとしてクラウド市場を開拓し、リーダーとしてけん引してきただけでなく、そこで獲得したユーザーからの膨大なフィードバックを細かく適用し、クラウド自体を進化させていった結果、AWSクラウドはいったん成熟したフェーズに入ったといえるのかもしれない。
その成熟の次に向かうべき先はどこなのか、6つの法則に沿って進化したクラウドはどんな姿なのか――。その答えはボーガスCTOがゲシュタルトの法則で紹介したようにAWSだけでは出せないはずだ。ユーザー/パートナーとともに進化するクラウドとして、AWSはいまは見えないゴールに向かってかじを切る。