Azure Managed Service Column <Azure運用コラム>

Azure Service Fabricとは?Azureでマイクロサービスを簡単に構築・管理する方法を解説

Category: 入門編

2021.11.10

Azure Service Fabricとは?Azureでマイクロサービスを簡単に構築・管理する方法を解説

近年、アプリケーション開発においてマイクロサービスアーキテクチャを採用する例が増えています。

マイクロサービスとは、システムが提供するサービスを小さな独立したコンポーネントとして実装したもので、個々のサービスごとに独立して開発できる柔軟性と保守性の高さがメリットです。マイクロソフトのクラウド、Microsoft Azureでは、マイクロサービスを構築・管理するための統合プラットフォームとして、Azure Service Fabricというサービスがあります。

本記事では、マイクロサービスの概要とメリットを踏まえ、Azure Service Fabricの概要と機能、メリットについて解説します。

1. マイクロサービスとは

マイクロサービスという言葉を聞きなれない方も多いと思います。まず、マイクロサービスとは何か、概要とメリットについて解説します。

1.1 マイクロサービスとは

マイクロサービスとは、システムを構成するアプリケーションを、小さな独立したコンポーネントに分割して切り出したものです。マイクロサービスを組み合わせてアプリケーションを実装し、それらを組み合わせてシステムを構築する手法をマイクロサービスアーキテクチャと呼びます。マイクロサービスには下記の特徴があります。

  • 疎結合で独立したプロセスとして動作する
  • 独立してデプロイやアップデートができる
  • ネットワーク経由で通信してタスクを実行する

サービスを小さなコンポーネント単位に分割することで、コンポーネント間の関係性をシンプルにして、それぞれが独立して開発、デプロイ、アップデートすることが可能となります。

1.2 マイクロサービスのメリット

マイクロサービスでアプリケーションを開発するメリットは下記の通りです。

  • 高い機敏性
  • 小規模チームによる集中開発
  • 依存関係を最小限に抑えられる
  • 最適なテクノロジーの選択
  • 高いスケーラビリティ

1.2.1 高い機敏性

マイクロサービスは独立したコンポーネントであるため、個別にリリースが可能です。コンポーネントの規模が小さいため、バグ修正や機能単位のリリースが行いやすいメリットがあります。アプリケーション全体をリリースせずにサービスの更新が可能なため、バグ改修を行いながらも新機能を素早くリリースすることも可能です。

1.2.2 小規模チームによる集中開発

個々のマイクロサービスは規模が小さいため、小規模なチーム編成で集中的に開発を行うことができます。大規模なチームにありがちなコミュニケーションコストや管理オーバーヘッドがかからないため、生産性を高められるメリットがあります。

1.2.3 依存関係を最小限に抑えられる

マイクロサービスは、他のサービスとの依存度が低い疎結合のアーキテクチャです。そのため、他のマイクロサービスに不具合が発生しても影響が少ないメリットがあります。また、マイクロサービスごとにデータを分離するため、データ更新時の影響を最小限に抑えることも可能です。

1.2.4 最適なテクノロジーの選択

マイクロサービスは、その独立性の高さから、他のアプリケーションへ流用することが可能です。アプリケーションの必要に応じて適切なマイクロサービスを選択・組み合わせることで最適なテクノロジーを選択することが可能です。

1.2.5 高いスケーラビリティ

マイクロサービスは、サービス単位で拡張・縮小が可能です。そのため、アプリケーション全体をスケールアウトする必要がなく、柔軟性のある高いスケーラビリティを確保できます。

2. Azure Service Fabricとは

マイクロサービスは、サービス単位で独立して開発することにより様々なメリットがありますが、Microsoft Azureではどのように実装するのでしょうか。ここでは、Azureでマイクロサービスを構築するためのプラットフォーム、Azure Service Fabricの概要と料金体系について解説します。

2.1 Azure Service Fabricの概要

Azure Service Fabricとは、Azureが提供する、マイクロサービスを簡単に構築するための分散処理プラットフォームです。必要に応じて自動的にスケールし、可用性が確保されたマイクロサービスアプリケーションのパッケージ化とデプロイを行い、Azure上へ展開する役割を担います。

Azure Service Fabricの実体は、Azure Load BalancerでバランシングされたAzure VM(仮想マシン)の集合体であり、指定されたVMが作成された後、VMに対してコンテナとマイクロサービスが展開される仕組みとなっています。

2.2 Azure Service Fabricの料金体系

Azure Service FabricはロードバランサーとVMの集合体です。利用時はAzure Service Fabricを構成するVMインスタンス、ストレージ、ネットワーク、IPアドレスにのみ、使用した分だけ料金が発生する従量課金(※1)となっています。Azure Service Fabricのサービスとしての料金が発生することはありません。

※1 参考:Service Fabric の価格

3. Azure Service Fabricの機能とメリット

Azure Service Fabricはマイクロサービスを簡単に構築するためのサービスですが、具体的にどのようなメリットがあるのでしょうか。ここでは、Azure Service Fabricの機能とメリットとして、下記の2点について解説します。

  • マイクロサービスのオーケストレーションを提供
  • ステートフル/ステートレスマイクロサービスをサポート

3.1 マイクロサービスのオーケストレーションを提供

オーケストレーションとは、システムやアプリケーション等における、設定・管理・調整の自動化を指します。オーケストレーションにより煩雑な管理作業を効率化・簡素化することができます。

Azure Service Fabricクラスターを作成すると、その上にマイクロサービスが動作するためのコンテナの構築と、作成したマイクロサービスのデプロイが自動で行われます。

このように、1つのクラスターあたり数百から数千のアプリケーションまたはコンテナを管理するオーケストレーターとして動作し、アプリケーションを短時間でデプロイすることが可能です。

3.2 ステートフル/ステートレスマイクロサービスをサポート

Azure Service Fabricはステートレスマイクロサービスとステートフルマイクロサービスの両方をサポートしています。このため、処理方式に応じて柔軟な構成を取ることができます。

3.2.1 ステートフルとは

ステートフルとは、アプリケーション実行時にサーバー側で状態を保持する構成を指します。例えば、HTTPリクエストでセッション情報などを保持する方式が挙げられます。複雑な処理が可能な一方で、データベース等で状態を共有する必要があるためスケールアウトがしにくいデメリットがあります。

3.2.2 ステートレスとは

ステートレスとは、アプリケーション実行時にサーバー側で状態を保持しない構成を指します。状態を保持しないため、リクエストがシンプルとなり、スケールアウトしやすくなるメリットがあります。

 

あわせて読む:ステートレスとステートフルについて

4. まとめ

マイクロサービスとは、企業がサービスを素早くリリース・改修し、目まぐるしく変化する市場に合わせてビジネスを発展させるための仕組みです。

Azure Service Fabricはマイクロサービスを簡単かつ迅速に構築・管理を行うことができます。Azure Service Fabricを導入し、市場の動向に合わせた素早いサービス展開の実現を検討してみてはいかがでしょうか。

Azure 設計・構築について相談する

Azure構築サービス

Azure構築サービス

Microsoft Azureを利用したシステムの設計・構築を代行します。お客様のご要件を実現する構成をご提案・実装いたします。

Free

資料ダウンロード

課題解決に役立つ詳しいサービス資料はこちら

資料ダウンロード
  • Azure導入支援・構築・運用サービス総合カタログ

    Microsoft Azure サービスの導入検討・PoC、設計、構築、運用までを一貫してご支援いたします。
    Azure導入・運用時のよくあるお悩み、お悩みを解決するためのアールワークスのご支援内容・方法、ご支援例などをご確認いただけます。

Azure導入個別相談会(無料)

Tag: Azure Service Fabric Azureコンテナ

Contactお問い合わせ

お見積もり・ご相談など、お気軽にお問い合わせください。

single.php