サンフランシスコで開催された Microsoft の Build カンファレンスにて、同社はAzure Service Fabric の一般提供(GA)をアナウンスした。InfoQ は Azure Service Fabric を以前より追っており、本記事では Build で公開された直近の更新とユースケースについて注目したい。
二日目のキーノートにおける発表では、Cloud and Enterprise の Executive Vice President である Scott Guthrie 氏が「Azure Service Fabric は“プログラミングモデルに基づいた高レベルのコンテナ“であり、Azure Container Service と VM Scale Set の二つ上位に位置する」と述べている。
画像の出典:https://channel9.msdn.com/Events/Build/2016/KEY02 のスクリーンショット
詳細について、Azure Service Fabric は以下の機能を提供している。
- 規範的なマイクロサービスプラットフォーム
- Docker コンテナーにおけるステートフル/ステートレスなマイクロサービスの自動プロビジョニング
- Windows と Linux 上で実行可能な .NET と Java API
- Azure, Azure Stack, VMware, OpenStack, AWS 上で実行可能なマイクロサービスプラットフォーム
Azure Service Fabric は GA となった一方、Windows Server 向け Service Fabric は現在 Public プレビューだ。Windows Server 向け Service Fabric を利用することで、自身のデータセンタや他のパブリッククラウドで Service Fabric を実行することができる。その後の Build セッションでは、Microsoft の Service Fabric チームに所属する Mark Fussell 氏と Jeffrey Richter 氏が Amazon Web Service (AWS) クラウド上で Service Fabric が実行可能なことをデモした。現在、Amazon は同様の領域における競合製品は提供していない。
画像出典:https://channel9.msdn.com/Events/Build/2016/B874からのスクリーンショット
二つの発表に加え、Microsoft は Linux 上 Service Fabric の Private プレビューをアナウンスし、ステートレス Java とサービスとしてのふるまいをサポートする。現在、Microsoft は他にも Private プレビュー候補を探しており、興味のある組織はノミネートが可能だ。
2日目のキーノートのプレゼンテーションにて、Azure Service Fabric を利用する二つのユースケースについて Microsoft は論じた。
最初の利用者は Open Mobility Cloud を構築した BMW だ。BMW における Digital Life Services and Engineering の Vice President である Thom Brenner 氏によれば、彼らの顧客向け Digital Service は「機能は顧客が車に乗る前に開始し、車から降りてもストップしない」と述べている。同車と BMW はこの上ないスマートデバイスとなるだろう。BMW が高いレベルで顧客とのエンゲージを達成するため、 Brenner 氏が「どこでもアプリケーションが構築可能だ。Big Data サービス、Analytics、Machine Learning を利用した高柔軟なサービスアーキテクチャを用いたクロスタッチポイント検討している」と説明するように、単純なモバイルアプリから自身の戦略を拡張させている。
BMW は上記を BMW Connected のイニシアチブ呼んでおり、以下のシナリオを対象としている。
- スマートフォンと BMW ダッシューボードで運転時間を見積る
- 同サービスは利用者の定常ルートを学習し、ルートに沿って運転する際に問題がある際に通知する
- BMW Connected は利用者の予定を学習し、遅れることがないように出発をアドバイスする
- 家族や友人に到着時間を通知する
- 自身の BMW を離れていてもロック/アンロックする機能を提供する
BMW は上記機能を提供するため、Azure Service や Azure Service Fabric を重く用いている。同サービスの全体スタックは以下の画像で示されている。
画像出典:;https://channel9.msdn.com/Events/Build/2016/KEY02からのスクリーンショット
他の顧客ユースケースとしては 2日目のキーノートで発表された Illyriad Games があり、同社は Age of Ascent と呼ばれる大量のオンラインマルチユーザのゲーム制作社だ。Illyriad Games の CTO である Ben Adams 氏は Azure Service Fabric を同社の基礎となるプラットフォームとして選んだかを 「我々は過去に作られたことがないような大規模なスケールのゲームを作成したかった。ブラウザで自然に動くことを強く求めており、大規模な並列性、高可用性をうまく取り扱えるシステムを構築している。そんな時に Service Fabric が登場した。Azure Service Fabric を利用した我々のマイクロサービスは自動的にスケールアップし、シームレスにシステム全ノードに対して負荷を分散する」と述べている。
Illyriad Games では、同じバトルアリーナ内で最大 50,000 人のプレイヤーにおける同時にテストを完了している。その際、秒間で2億6700万のアプリケーションメッセージを処理している。
Azure Service Fabric の内部では、ASP.Net Core を利用して自身のマイクロサービスを構築しており、Node.js の場合よりも 6 倍高速だ。
実行環境のプラットフォームに加え、Azure Service Fabric は Service Fabric Explorer を介した管理機能も提供しており、Service Fabric Cluster の健全性や性能をモニタリングし以下の様に可視化する。
画像出典:https://channel9.msdn.com/Events/Build/2016/KEY02からのスクリーンショット