Microsoft の Linux 向け Service Fabric がパブリックプレビューに登場

Table of Contents

Microsoft の Linux 向け Service Fabric がパブリックプレビューに登場

クラウド ホスト型マイクロサービス向けに設計されたアプリケーション プラットフォームである Microsoft の Service Fabric for Linux が、2016 年 9 月 26 日にアトランタで開催される同社の Ignite イベントでパブリック プレビューとしてリリースされる予定です。

マイクロソフト

MicrosoftのService Fabricはマイクロサービス向けのアプリケーションプラットフォームです

Service Fabricの目的は、企業がオペレーティング システムを直接管理することなく、スケーラブルで信頼性の高いアプリケーションをパブリック クラウドまたはプライベート クラウドに展開できるようにすることです。このプラットフォームは、アプリケーションの複数のインスタンスを管理し、正常性や負荷レポートなどのサービスを提供するほか、自動状態管理を可能にし、データを透過的に複製することで、すべてのインスタンスを最新の状態に保ちます。

現在の Windows リリースは、Azure(Microsoft のクラウド プラットフォーム)またはオンプレミスで動作します。まず、Service Fabric プラットフォーム レイヤーを実行する Windows サーバーのクラスターをデプロイします。次に、アプリケーション(通常は Web API を公開する小規模なサービス)をデプロイします。これらのサービスは任意の「ゲスト実行可能ファイル」にすることができます。この場合、Service Fabric はそれらの実行を継続しますが、追加機能は提供しません。また、Service Fabric API を使用するように記述されたサービスの場合は、通信や状態管理のためにプラットフォームを利用できます。

Microsoft によれば、Azure SQL および DocumentDB データベース マネージャー、Skype for Business、Cortana、Intune、Power BI など、同社のクラウド サービスの多くは Service Fabric 上で実行されています。

ついにLinux版が登場しました。ただし、.NETアプリケーションに重点を置いたWindows版とは異なり、Linux版は当初Javaアプリケーション向けに開発され、後に.NETのクロスプラットフォーム移植版である.NET Coreのサポートが追加されました。ゲスト実行ファイルだけでなく、Service Fabric専用に開発されたサービス(Service Fabricアプリケーションの2つのタイプであるReliable ActorモデルとReliable Servicesモデルを使用したサービスなど)もデプロイできます。Linuxコンテナを使用したデプロイも可能で、JenkinsやVisual Studio Team Servicesなどの継続的インテグレーションツールとの統合も可能です。Linux用のコマンドラインインターフェイスも用意されています。

最初のリリースはAzure向けですが、Microsoft Azure CTOのマーク・ルシノビッチ氏によると、「近い将来、Service Fabricをオンプレミス、ハイブリッド、マルチクラウド環境で利用できるようにするLinuxスタンドアロンインストーラーをリリースする予定です。プラットフォームの一部をオープンソース化する作業を開始しており、まもなくService Fabricのプログラミングモデルもオープンソース化する予定です。これにより、開発者はプログラミングモデルを拡張できるだけでなく、独自のプログラミングモデルを作成したり、他の言語をサポートしたりするための出発点として利用できるようになります。」

AzureまたはWindowsでService Fabricを使用する場合、利用するインフラストラクチャのコスト以外に追加コストは発生しません。Linuxやオンプレミスでの使用についてはどうでしょうか?「オンプレミス向けの価格モデルはまだ完全には公開されていません。今年後半に発表する予定です」と、プログラムマネジメントディレクターのCorey Sanders氏はRegに語りました。

プレビューのディストリビューションのサポートは Ubuntu 16.04 に限定されていますが、最終リリースまでにサポート範囲が拡大される予定です。

コンテナー化されたマイクロサービスを展開する場合、Linux でも実行される Azure Container Service ではなく、Azure 上の Service Fabric を使用するのはなぜでしょうか。

「Service Fabricの主な違いは、アプリケーションプラットフォームであるということです。ローリングアップデート、ロールバック、そしてインフラストラクチャ全体にわたるスケーリングの適切な分散方法などを管理します。コンテナの配置というよりも、アプリケーションの管理が中心です」とサンダース氏は述べた。

ここでのトレードオフは、Service Fabric専用に記述した場合、アプリケーションは追加サービスを利用できるものの、Microsoftのプラットフォームに縛られてしまうことです。Linux版Service Fabricは、主にWindowsとLinuxの両方を使用しているAzureユーザーを対象としており、Java開発者がPaaS(Platform as a Service)モデルを使用してAzureにデプロイできるようにします。®

Discover More