Airpods

サーバーレスの楽園?Microsoft Azure CTOマーク・ルシノビッチが語るクラウドの未来

サーバーレスの楽園?Microsoft Azure CTOマーク・ルシノビッチが語るクラウドの未来
マイクロソフトAzureのCTO、マーク・ルシノビッチ氏が木曜日、同社のレドモンドキャンパスで記者団の取材に応じた。(GeekWire Photo / Todd Bishop)

ワシントン州レドモンド — マイクロソフトの「サーバーレス」コンピューティングへの取り組みは、開発者がクラウドを使用する方法を変えることを目指しており、マイクロソフト Azure の CTO であるマーク・ルシノビッチ氏は、このトレンドはまさにコンピューティングの未来を象徴していると述べています。

名前に反してサーバーは依然として存在しますが、開発者は通常のように仮想マシンの起動、アプリケーションのインストール、パッチ適用、システムの他の要素の管理などを気にする必要はありません。コードはクラウドによって直接処理され、事前に定義されたイベントによってトリガーされます。開発者と企業は、アプリケーションが使用するリソースに基づいて料金を請求されます。

この取り組みはMicrosoftだけのものではありません。パブリッククラウドのリーダーであるAmazon Web Servicesは2014年にLambdaサーバーレステクノロジーをリリースしました。競合ソリューションとしては、IBM Bluemix OpenWhiskやGoogle Cloud Functionsなどがあります。Microsoftは昨年、サーバーレステクノロジーの主要コンポーネントであるAzure Functionsを発表し、Azure Logic Appsを補完するものとして発表しました。

「開発者にとって、これはまさに涅槃のようなものです」と、ルシノビッチ氏は今週、レドモンドにある同社の本社で語った。「コードを少し書いてプラットフォームに渡すだけで、ネットワークへの接続や他のAPIへの接続など、そのコードを安全かつ確実に稼働させるために必要な作業はすべてプラットフォームが行ってくれます。私はロジックの部分に集中できるのです。それが私の仕事の全てです。」

Microsoft Azure のサーバーレス プラットフォームのコンポーネント。(Microsoft イメージ)

同社は記者に対し、Azure Functions と Logic Apps の実践的なデモンストレーションや、Accuweather、Missing Children Society of Canada、Plexure などの顧客がこれらのテクノロジをどのように使用しているかの事例など、サーバレス テクノロジの舞台裏を披露しました。

オープニングトークで、ルシノビッチ氏はサーバーレスコンピューティングの役割と可能性に関するマイクロソフトのビジョンを説明した。質疑応答では、サーバーレスコンピューティングにおける競争についてGeekWireからの質問にも答えた。

ルシノビッチ氏の発言の編集されたハイライトについては、引き続きお読みください。

サーバーレスコンピューティングの目標について:  「業界が向かっている方向性、そして私たちがその方向性を見出し、リードしていると信じていることは、開発者が仕事を完了するために必要な作業を最小限に抑えることで、イノベーションのレベルを向上させようとしていることです。ご覧いただければ、これまで私たちが話してきたことすべてがまさにそれを目指していることがわかります。私たちはサーバーレスを、すべてが駆動される次世代コンピューティングと捉えています。なぜなら、組織、つまりソリューションを開発したい企業にとって最大の価値が生まれるのは、まさにサーバーレスだからです。プラットフォームが代わりにやってくれることを期待して、細かい作業を気にする必要がないのです。そうなると、焦点は『アプリケーションをどのように設計するか』に移ります。アプリケーションに付随するその他の管理作業は、サーバーレスには入りません。」

「イベントベース」プログラミングの柔軟性について:  「このサーバーレスムーブメントから生まれたものの一つは、イベントベースまたはトリガーベースのプログラミングモデルが実は非常に強力なモデルであるという認識です。つまり、コードを非常に迅速に起動し、それに応答できるモデルです。これは、抽象化されたサーバーやマイクロビリングの世界を超えて生き残るモデルです。これは、サーバーレスプログラミングとして定義されてきたものに対する包括的なアプローチです。これらの概念のいくつかは、他の場所で活用したいものです。トリガーベースのプログラミングモデルを見ると、それに準拠したコードを、自動的にこれらの処理を実行してくれるサーバーレスプラットフォームにデプロイできれば素晴らしいと思うでしょう。しかし、時には同じコードをPaaS(Platform as a Service)にデプロイし、仮想サーバーにデプロイしたい場合もあります。ここでは制御が一部失われ、マイクロビリングと使用量に応じた支払いモデルでは、事前にプロビジョニングするよりもコストが高くなるシナリオもあるかもしれません。また、実際にコードを実行するためのセットアップコストが高くなる可能性があるシナリオです。」

私たちは、包括的なサポートを求めています。イベントに応答し、プラットフォームの他の部分と統合された機能をサーバーレスモデルとして提供することで、多くのシナリオに対応できます。さらに、PaaS(Platform as a Service)やIaaS(Infrastructure as a Service)にもデプロイできると確信しています。これが私たちの目標の一つです。私たちは、この世界が万能だとは考えていません。サーバーレスへの移行は認識しており、可能な限りサポートしていきますが、だからといってPaaSやIaaSが時代遅れになるわけではありません。

「要するに、私たちはサーバーレスパラダイムに向けてできる限りの努力をしていきます。サーバーを抽象化することはあるかもしれませんが、トリガーベースのアプリケーションではなく、デプロイ可能な長期実行アプリケーションとして扱うことが、もう一つの選択肢になるかもしれません。ですから、これが完全に完了したとは思いませんが、開発者がアプリケーションを作成してプラットフォームに渡すだけで、アプリケーション以外のすべてはプラットフォーム自体が処理してくれる、まさに理想の世界への第一歩を踏み出したと言えるでしょう。」

競合状況について:  「Lambdaやそのすべての機能についてお話しするためにここに来たわけではありませんが、Lambdaにはない、私たちが考える差別化要因がいくつかあると考えています。その一つが、私たちが持つ豊富なバインディング、つまりバインディングのサポートです。多様なデータソースからの入力をロジックフローやコードに統合することができ、開発者は何もする必要がありません。これは、これらの入出力バインディングによって実現されています。」

ポータル内とVisual Studio内で提供される開発者エクスペリエンスは、最高クラスです。デバッグ機能も備えています。App Insightsとの統合により、関数の実行状況を詳細に把握できます。Logic Appsに最も近いのは、比較的新しいStep Functionsでしょう。Logic Appsは成熟度が高く、非常に充実したエクスペリエンスを提供します。さらに、Microsoftのファーストパーティサービスとサードパーティサービスの両方において、既に豊富なエコシステムが構築されています。120ものコネクタが用意されており、外部ソースとの統合や、外部ソースからのデータのロジックワークフローへの取り込みが非常に容易になります。

ARM(Azure Resource Manager)テンプレートが基盤にあるため、開発中に一度きりのコーディング作業で済むわけではなく、一時的な成果物で済むというわけではありません。堅牢性が向上し、ソース管理にチェックインし、Logic App の実行が必要な複数のリージョンにバージョン管理しながらデプロイし、BCDR(事業継続性災害復旧)の仕組みやバージョン管理の仕組みも構築できます。GitHub に公開すれば他の人も利用できるので、別のエコシステムとして機能していると言えるでしょう。これが私の見方です。Lambda や Step Functions といったツールは既に存在しますが、私たちは他社とは一線を画す視点を持っており、業界の他社よりも一歩先を進んでいます。

[編集者注:  AWS CloudFormation は 2011 年に登場した、AWS リソースの作成と管理を目的とした Amazon のテンプレートベースのテクノロジーです。Amazon の自動デプロイメントテクノロジーには、AWS Serverless Application Model、CodePipeline、CodeBuild も含まれます。]

前回: 2017年のクラウド:AWS、Azureから音声サービス、機械学習まで、7つの主要トレンド