Service Fabric の用語の概要Service Fabric terminology overview

Azure Service Fabric は、拡張性と信頼性に優れたマイクロサービスのパッケージ化とデプロイ、管理を簡単に行うことができる分散システム プラットフォームです。Azure Service Fabric is a distributed systems platform that makes it easy to package, deploy, and manage scalable and reliable microservices. Service Fabric クラスターは任意の場所でホストできます。具体的には、Azure、オンプレミスのデータセンター、任意のクラウド プロバイダー上などです。You can host Service Fabric clusters anywhere: Azure, in an on-premises datacenter, or on any cloud provider. Service Fabric は Azure Service Fabric Mesh の動力となるオーケストレーターです。Service Fabric is the orchestrator that powers Azure Service Fabric Mesh. あらゆるフレームワークを利用してサービスを記述したり、複数の環境からアプリケーションを実行する場所を選択したりできます。You can use any framework to write your services and choose where to run the application from multiple environment choices. この記事では、Service Fabric 関連ドキュメントで使用される用語の意味を理解するうえで参考となるように、Service Fabric で使用される用語について詳しく説明します。This article details the terminology used by Service Fabric to understand the terms used in the documentation.

インフラストラクチャの概念Infrastructure concepts

クラスター:ネットワークで接続された一連の仮想マシンまたは物理マシン。マイクロサービスは、クラスターにデプロイして管理することになります。Cluster: A network-connected set of virtual or physical machines into which your microservices are deployed and managed. クラスターは多数のマシンにスケールできます。Clusters can scale to thousands of machines.

ノード:クラスターに属しているコンピューターまたは VM を "ノード" と呼びます。Node: A machine or VM that's part of a cluster is called a node. それぞれのノードには、ノード名 (文字列) が割り当てられます。Each node is assigned a node name (a string). ノードには、配置プロパティなどの特性があります。Nodes have characteristics, such as placement properties. それぞれのコンピューターまたは VM には、自動的に開始される Windows サービス (FabricHost.exe) が存在します。このサービスがコンピューターまたは VM の起動時に開始され、Fabric.exeFabricGateway.exe の 2 つの実行可能ファイルを起動します。Each machine or VM has an auto-start Windows service, FabricHost.exe, that starts running upon boot and then starts two executables: Fabric.exe and FabricGateway.exe. ノードは、この 2 つの実行可能ファイルから成ります。These two executables make up the node. テストのシナリオでは、Fabric.exeFabricGateway.exe の複数のインスタンスを実行することによって、1 台のコンピューターまたは VM で複数のノードをホストできます。For testing scenarios, you can host multiple nodes on a single machine or VM by running multiple instances of Fabric.exe and FabricGateway.exe.

アプリケーションとサービスの概念Application and service concepts

Service Fabric Mesh アプリケーション:Service Fabric Mesh アプリケーションは、リソース モデル (YAML および JSON リソース ファイル) によって説明され、Service Fabric が実行される任意の環境にデプロイできます。Service Fabric Mesh Application: Service Fabric Mesh Applications are described by the Resource Model (YAML and JSON resource files) and can be deployed to any environment where Service Fabric runs.

Service Fabric ネイティブ アプリケーション:Service Fabric ネイティブ アプリケーションは、ネイティブ アプリケーション モデル (XML ベースのアプリケーションおよびサービス マニフェスト) で説明されます。Service Fabric Native Application: Service Fabric Native Applications are described by the Native Application Model (XML-based application and service manifests). Service Fabric ネイティブ アプリケーションは、Service Fabric Mesh では実行できません。Service Fabric Native Applications cannot run in Service Fabric Mesh.

Service Fabric Mesh アプリケーションの概念Service Fabric Mesh Application concepts

アプリケーション:アプリケーションは、Mesh アプリケーションのデプロイ、バージョン管理、有効期間の単位です。Application: An application is the unit of deployment, versioning, and lifetime of a Mesh application. 各アプリケーション インスタンスのライフサイクルを個別に管理できます。The lifecycle of each application instance can be managed independently. アプリケーションは、1 つ以上のサービス コード パッケージと設定で構成されます。Applications are composed of one or more service code packages and settings. アプリケーションは、Azure Resource Model (RM) スキーマを使用して定義されます。An application is defined using the Azure Resource Model (RM) schema. サービスは、RM テンプレート内でアプリケーション リソースのプロパティとして記述されます。Services are described as properties of the application resource in a RM template. アプリケーションによって使用されるネットワークとボリュームは、アプリケーションから参照されます。Networks and volumes used by the application are referenced by the application. アプリケーションを作成すると、アプリケーション、サービス、ネットワーク、ボリュームは、Service Fabric Resource Model を使用してモデル化されます。When creating an application, the application, service(s), network, and volume(s) are modeled using the Service Fabric Resource Model.

サービス:アプリケーション内のサービスはマイクロサービスを表し、完全なスタンドアロンの機能を実行します。Service: A service in an application represents a microservice and performs a complete and standalone function. 各サービスは 1 つまたは複数のコード パッケージで構成されます。コード パッケージには、コード パッケージに関連付けられたコンテナー イメージの実行に必要なすべてが示されています。Each service is composed of one, or more, code packages that describe everything needed to run the container image associated with the code package. アプリケーション内のサービス数は、スケールアップまたはスケールダウンすることができます。The number of services in an application can be scaled up and down.

ネットワーク:ネットワーク リソースによって、アプリケーションのプライベート ネットワークが作成されます。ネットワーク リソースは、それを参照するアプリケーションやサービスとは独立しています。Network: A network resource creates a private network for your applications and is independent of the applications or services that may refer to it. 異なるアプリケーションの複数のサービスは、同じネットワークに属することができます。Multiple services from different applications can be part of the same network. ネットワークは、アプリケーションによって参照されるデプロイ可能なリソースです。Networks are deployable resources that are referenced by applications.

コード パッケージ:コード パッケージには、以下のようにコード パッケージに関連付けられたコンテナー イメージの実行に必要なすべてが記述されています。Code package: Code packages describe everything needed to run the container image associated with the code package, including the following:

  • コンテナー名、バージョン、およびレジストリContainer name, version, and registry
  • 各コンテナーに必要な CPU およびメモリ リソースCPU and memory resources required for each container
  • ネットワーク エンドポイントNetwork endpoints
  • 別のボリューム リソースを参照して、コンテナーでマウントされるボリューム。Volumes to mount in the container, referencing a separate volume resource.

アプリケーション リソースの一部として定義されたすべてのコード パッケージは、グループとしてまとめてデプロイおよびアクティブ化されます。All the code packages defined as part of an application resource are deployed and activated together as a group.

ボリューム:ボリュームは、コンテナー インスタンス内にマウントされ、状態を保持するために使用できるディレクトリです。Volume: Volumes are directories that get mounted inside your container instances that you can use to persist state. Azure Files ボリューム ドライバーによって Azure Files 共有はコンテナーにマウントされ、ファイル ストレージをサポートする任意の API を介して信頼できるデータ ストレージが提供されます。The Azure Files volume driver mounts an Azure Files share to a container and provides reliable data storage through any API which supports file storage. ボリュームは、アプリケーションによって参照されるデプロイ可能なリソースです。Volumes are deployable resources that are referenced by applications.

Service Fabric ネイティブ アプリケーションの概念Service Fabric Native Application concepts

アプリケーション:アプリケーションは、特定のまたは複数の関数を実行する構成サービスのコレクションです。Application: An application is a collection of constituent services that perform a certain function or functions. 各アプリケーション インスタンスのライフサイクルを個別に管理できます。The lifecycle of each application instance can be managed independently.

サービス:サービスは完全なスタンドアロンの機能を実行し、他のサービスから独立して開始および実行することができます。Service: A service performs a complete and standalone function and can start and run independently of other services. サービスはコード、構成、データから成ります。A service is composed of code, configuration, and data. 各サービスに対して、コードは実行可能ファイルのバイナリで構成され、構成は実行時に読み込まれるサービス設定で構成され、データはサービスが消費する任意の静的データで構成されます。For each service, code consists of the executable binaries, configuration consists of service settings that can be loaded at run time, and data consists of arbitrary static data to be consumed by the service.

アプリケーションの種類:一連のサービスの種類に割り当てられる名前またはバージョン。Application type: The name/version assigned to a collection of service types. これは ApplicationManifest.xml ファイルで定義されて、アプリケーション パッケージ ディレクトリ内に埋め込まれます。It is defined in an ApplicationManifest.xml file and embedded in an application package directory. ディレクトリは、Service Fabric クラスターのイメージ ストアにコピーされます。The directory is then copied to the Service Fabric cluster's image store. このアプリケーションの種類に基づいて、特定の名前のアプリケーションをクラスター内で作成することができます。You can then create a named application from this application type within the cluster.

詳細については、アプリケーション モデルに関する記事をご覧ください。Read the Application model article for more information.

アプリケーション パッケージ:アプリケーションの種類を定義した ApplicationManifest.xml ファイルが格納されるディスク上のディレクトリ。Application package: A disk directory containing the application type's ApplicationManifest.xml file. アプリケーションの種類を構成するサービスの種類ごとに、対応するサービス パッケージを参照します。References the service packages for each service type that makes up the application type. アプリケーション パッケージ ディレクトリ内のファイルは、Service Fabric クラスターのイメージ ストアにコピーされます。The files in the application package directory are copied to Service Fabric cluster's image store. たとえば電子メール アプリケーション タイプのアプリケーション パッケージであれば、キューサービス パッケージやフロントエンドサービス パッケージ、データベースサービス パッケージへの参照が含まれることが考えられます。For example, an application package for an email application type might contain references to a queue-service package, a frontend-service package, and a database-service package.

名前付きアプリケーション:アプリケーション パッケージをイメージ ストアにコピーした後、アプリケーションのインスタンスをクラスター内に作成します。Named application: After you copy an application package to the image store, you create an instance of the application within the cluster. 対応する名前またはバージョンを使用して、アプリケーション パッケージのアプリケーションの種類を指定するときにインスタンスが作成されます。You create an instance when you specify the application package's application type, by using its name or version. アプリケーションの種類のインスタンスにはそれぞれ、URI (Uniform Resource Identifier) 名 ("fabric:/MyNamedApp" など) が割り当てられます。Each application type instance is assigned a uniform resource identifier (URI) name that looks like: "fabric:/MyNamedApp". 1 つのアプリケーションの種類から複数の名前付きアプリケーションをクラスター内で作成することが可能です。Within a cluster, you can create multiple named applications from a single application type. 異なるアプリケーションの種類から名前付きアプリケーションを作成することもできます。You can also create named applications from different application types. 個々の名前付きアプリケーションは別々に管理され、バージョニングされます。Each named application is managed and versioned independently.

サービスの種類: サービスのコード パッケージとデータ パッケージ、構成パッケージに割り当てられる名前またはバージョン。Service type: The name/version assigned to a service's code packages, data packages, and configuration packages. サービスの種類は ServiceManifest.xml ファイルで定義されて、サービス パッケージ ディレクトリ内に埋め込まれます。The service type is defined in the ServiceManifest.xml file and embedded in a service package directory. サービス パッケージ ディレクトリは、アプリケーション パッケージの ApplicationManifest.xml ファイルから参照されます。The service package directory is then referenced by an application package's ApplicationManifest.xml file. クラスターには、名前付きアプリケーションを作成した後、そのアプリケーションの種類を構成するいずれかのサービスの種類から名前付きサービスを作成することができます。Within the cluster, after creating a named application, you can create a named service from one of the application type's service types. サービスは、そのサービスの種類に対応する ServiceManifest.xml ファイルによって記述されます。The service type's ServiceManifest.xml file describes the service.

詳細については、アプリケーション モデルに関する記事をご覧ください。Read the Application model article for more information.

サービスには、次の 2 種類があります。There are two types of services:

  • ステートレス:サービスの永続的な状態を外部ストレージ サービス (Azure Storage、Azure SQL Database、Azure Cosmos DB など) に保存する場合はステートレス サービスを使用します。Stateless: Use a stateless service when the service's persistent state is stored in an external storage service, such as Azure Storage, Azure SQL Database, or Azure Cosmos DB. 永続的なストレージがサービスに存在しない場合は、ステートレス サービスを使用します。Use a stateless service when the service has no persistent storage. たとえば電卓サービスに値を渡すと、それらの値を使って計算が実行され、結果が返されます。For example, for a calculator service where values are passed to the service, a computation is performed that uses these values, and then a result is returned.
  • ステートフル:Service Fabric の Reliable Collection や Reliable Actors のプログラミング モデルを介してサービスの状態を管理する場合は、ステートフル サービスを使用します。Stateful: Use a stateful service when you want Service Fabric to manage your service's state via its Reliable Collections or Reliable Actors programming models. 名前付きサービスを作成するときに、拡張性を得るために状態を分散させるパーティションの数を指定します。When you create a named service, specify how many partitions you want to spread your state over for scalability. さらに、信頼性のために、状態をノード間でレプリケートさせる回数を指定します。Also specify how many times to replicate your state across nodes, for reliability. それぞれの名前付きサービスは、1 つのプライマリ レプリカと複数のセカンダリ レプリカを持ちます。Each named service has a single primary replica and multiple secondary replicas. 名前付きサービスの状態は、プライマリ レプリカに書き込むときに変更します。You modify your named service's state when you write to the primary replica. その後、状態を同期させるために Service Fabric がその状態をすべてのセカンダリ レプリカにレプリケートします。Service Fabric は、プライマリ レプリカの障害を自動的に検出し、既存のセカンダリ レプリカをプライマリ レプリカに昇格させます。Service Fabric then replicates this state to all the secondary replicas to keep your state in sync. Service Fabric automatically detects when a primary replica fails and promotes an existing secondary replica to a primary replica. その後、Service Fabric は、新しいセカンダリ レプリカを作成します。Service Fabric then creates a new secondary replica.

レプリカまたはインスタンスとは、デプロイされ、実行中であるサービスのコード (およびステートフル サービスの状態) のことです。Replicas or instances refer to code (and state for stateful services) of a service that's deployed and running. レプリカとインスタンス」をご覧ください。See Replicas and instances.

再構成とは、サービスのレプリカ セット内で行われる任意の変更処理を示します。Reconfiguration refers to the process of any change in the replica set of a service. 再構成に関するページをご覧ください。See Reconfiguration.

サービス パッケージ:サービスの種類を定義した ServiceManifest.xml ファイルが格納されるディスク上のディレクトリ。Service package: A disk directory containing the service type's ServiceManifest.xml file. このファイルは、特定の種類のサービスに必要なコード、静的データ、構成パッケージを参照します。This file references the code, static data, and configuration packages for the service type. サービス パッケージ ディレクトリ内のファイルは、アプリケーションの種類を定義した ApplicationManifest.xml ファイルから参照されます。The files in the service package directory are referenced by the application type's ApplicationManifest.xml file. たとえばサービス パッケージは、データベース サービスを構成するコードや静的データ、構成パッケージを参照します。For example, a service package might refer to the code, static data, and configuration packages that make up a database service.

名前付きサービス:名前付きアプリケーションを作成した後、そのいずれかのサービスの種類のインスタンスをクラスターに作成できます。Named service: After you create a named application, you can create an instance of one of its service types within the cluster. サービスの種類を特定するには、対応する名前またはバージョンを使用します。You specify the service type by using its name/version. サービスの種類のインスタンスにはそれぞれ、対応する名前付きアプリケーションの URI に従属する URI 名が割り当てられます。Each service type instance is assigned a URI name scoped under its named application's URI. たとえば、名前付きサービス "MyDatabase" を名前付きアプリケーション "MyNamedApp" 内に作成した場合、 "fabric:/MyNamedApp/MyDatabase"のような URI が割り当てられます。For example, if you create a "MyDatabase" named service within a "MyNamedApp" named application, the URI looks like: "fabric:/MyNamedApp/MyDatabase". 1 つの名前付きアプリケーションに複数の名前付きサービスを作成することができます。Within a named application, you can create several named services. 名前付きサービスにはそれぞれ固有のパーティション構成とインスタンスまたはレプリカ数を割り当てることができます。Each named service can have its own partition scheme and instance or replica counts.

コード パッケージ:特定の種類のサービスで使用される実行可能ファイル (通常、EXE または DLL ファイル) が格納されるディスク上のディレクトリ。Code package: A disk directory containing the service type's executable files, typically EXE/DLL files. コード パッケージ ディレクトリ内のファイルは、サービスの種類を定義した ServiceManifest.xml ファイルから参照されます。The files in the code package directory are referenced by the service type's ServiceManifest.xml file. 名前付きサービスの作成時に、名前付きサービスを実行するために選択されたノードにコード パッケージがコピーされます。When you create a named service, the code package is copied to the node or nodes selected to run the named service. その後、コードが実行を開始します。Then the code starts to run. コード パッケージの実行可能ファイルには次の 2 種類があります。There are two types of code package executables:

  • ゲスト実行可能ファイル:ホスト オペレーティング システム (Windows または Linux) 上において単体で動作する実行可能ファイル。Guest executables: Executables that run as-is on the host operating system (Windows or Linux). これらの実行可能ファイルは、Service Fabric のランタイム ファイルと連動したりそれらのファイルを参照したりしないため、Service Fabric のプログラミング モデルは一切使用しません。These executables don't link to or reference any Service Fabric runtime files and therefore don't use any Service Fabric programming models. これらの実行可能ファイルは、エンドポイント検出用のネーム サービスなどの Service Fabric の一部の機能を使用できません。These executables are unable to use some Service Fabric features, such as the naming service for endpoint discovery. ゲスト実行可能ファイルは、各サービス インスタンスに固有のロード メトリックを報告できません。Guest executables can't report load metrics that are specific to each service instance.
  • サービス ホスト実行可能ファイル:Service Fabric のランタイム ファイルと連動することによって Service Fabric のプログラミング モデルを使用し、Service Fabric の機能を有効にする実行可能ファイルです。Service host executables: Executables that use Service Fabric programming models by linking to Service Fabric runtime files, enabling Service Fabric features. たとえば名前付きサービスのインスタンスが、Service Fabric のネーム サービスにエンドポイントを登録できるほか、負荷のメトリックを報告することもできます。For example, a named service instance can register endpoints with Service Fabric's Naming Service and can also report load metrics.

データ パッケージ:特定の種類のサービスで使用される読み取り専用の静的なデータ ファイル (通常、写真、サウンド、ビデオ ファイル) が格納されるディスク上のディレクトリ。Data package: A disk directory that contains the service type's static, read-only data files, typically photo, sound, and video files. データ パッケージ ディレクトリ内のファイルは、サービスの種類を定義した ServiceManifest.xml ファイルから参照されます。The files in the data package directory are referenced by the service type's ServiceManifest.xml file. 名前付きサービスの作成時に、名前付きサービスを実行するために選択されたノードにデータ パッケージがコピーされます。When you create a named service, the data package is copied to the node or nodes selected to run the named service. コードが実行を開始し、データ ファイルにアクセスできるようになります。The code starts running and can now access the data files.

構成パッケージ:特定の種類のサービスで使用される読み取り専用の静的な構成ファイル (通常、テキスト ファイル) が格納されるディスク上のディレクトリ。Configuration package: A disk directory that contains the service type's static, read-only configuration files, typically text files. 構成パッケージ ディレクトリ内のファイルは、サービスの種類を定義した ServiceManifest.xml ファイルから参照されます。The files in the configuration package directory are referenced by the service type's ServiceManifest.xml file. 名前付きサービスの作成時に、名前付きサービスを実行するために選択された 1 つまたは複数のノードに構成パッケージ内のファイルがコピーされます。When you create a named service, the files in the configuration package are copied one or more nodes selected to run the named service. その後、コードが実行を開始し、構成ファイルにアクセスできるようになります。Then the code starts to run and can now access the configuration files.

コンテナー:既定では、Service Fabric はサービスをプロセスとしてデプロイし、アクティブ化します。Containers: By default, Service Fabric deploys and activates services as processes. さらに、Service Fabric では、コンテナー イメージ内のサービスもデプロイできます。Service Fabric can also deploy services in container images. コンテナーは、システムの基礎となるオペレーティング システムをアプリケーションで仮想化する、仮想化テクノロジです。Containers are a virtualization technology that virtualizes the underlying operating system from applications. アプリケーションとそのランタイム、依存関係、およびシステム ライブラリは、コンテナー内で実行されます。An application and its runtime, dependencies, and system libraries run inside a container. コンテナーには、オペレーティング システムの構成要素に関する、そのコンテナーに固有の分離されたビューへの完全なプライベート アクセスがあります。The container has full, private access to the container's own isolated view of the operating system constructs. Service Fabric では、Linux および Windows Server コンテナー上の Docker コンテナーをサポートします。Service Fabric supports Docker containers on Linux and Windows Server containers. 詳細については、Service Fabric とコンテナーに関する記事をご覧ください。For more information, read Service Fabric and containers.

パーティション構成:パーティション構成は、名前付きサービスを作成するときに指定します。Partition scheme: When you create a named service, you specify a partition scheme. さまざまな状態を伴うサービスでは、データが複数のパーティションに分割されて、状態がクラスターのノードに分散されます。Services with substantial amounts of state split the data across partitions, which spreads the state across the cluster's nodes. 複数のパーティションにデータを分割することによって、名前付きサービスの状態をスケールできます。By splitting the data across partitions, your named service's state can scale. パーティションには、ステートレスの名前付きサービスの場合はインスタンスが、ステートフルの名前付きサービスの場合はレプリカが格納されます。Within a partition, stateless named services have instances, whereas stateful named services have replicas. 通常、ステートレスの名前付きサービスは内部的な状態を持たないため、割り当てられるパーティションは 1 つだけです。Usually, stateless named services have only one partition, because they have no internal state. パーティションのインスタンスによってもたらされるのは可用性です。The partition instances provide for availability. つまり 1 つのインスタンスで障害が発生しても他のインスタンスは正常動作を保ち、Service Fabric によって新しいインスタンスが作成されます。If one instance fails, other instances continue to operate normally, and then Service Fabric creates a new instance. ステートフルの名前付きサービスでは、その状態がレプリカ内で管理されます。それぞれのパーティションが固有のレプリカ セットを持つため、状態が同期されます。万一レプリカに障害が発生した場合は、Service Fabric が既存のレプリカから新しいレプリカを構築します。Stateful named services maintain their state within replicas and each partition has its own replica set so the state is kept in sync. Should a replica fail, Service Fabric builds a new replica from the existing replicas.

詳細については、「 Service Fabric Reliable Services のパーティション分割 」をご覧ください。Read the Partition Service Fabric reliable services article for more information.

システム サービスSystem services

すべてのクラスターには、Service Fabric のプラットフォーム機能を提供するシステム サービスが作成されています。There are system services that are created in every cluster that provide the platform capabilities of Service Fabric.

ネーム サービス:各 Service Fabric クラスターには、サービス名をクラスター内の場所に解決する Naming Service があります。Naming Service: Each Service Fabric cluster has a Naming Service, which resolves service names to a location in the cluster. インターネットのクラスター用のドメイン ネーム システム (DNS) と同じように、サービス名とプロパティを管理します。You manage the service names and properties, like an internet Domain Name System (DNS) for the cluster. クライアントは、ネーム サービスを使用することでクラスター内の任意のノードと安全に通信して、サービス名とその場所を解決します。Clients securely communicate with any node in the cluster by using the Naming Service to resolve a service name and its location. アプリケーションはクラスター内で移動されます。Applications move within the cluster. これはたとえば、障害、リソース分散、クラスターのサイズ変更などが原因です。For example, this can be due to failures, resource balancing, or the resizing of the cluster. 現在のネットワークの場所を解決するサービスとクライアントを開発できます。You can develop services and clients that resolve the current network location. クライアントは、それが現在実行されている実際のコンピューターの IP アドレスとポートを取得します。Clients obtain the actual machine IP address and port where it's currently running.

ネーム サービスと連動して動作するクライアントおよびサービス通信 API の使用方法の詳細については、サービスとの通信に関する記事をご覧ください。Read Communicate with services for more information on the client and service communication APIs that work with the Naming Service.

Image Store サービス:各 Service Fabric クラスターには、デプロイおよびバージョン管理されたアプリケーション パッケージが保持される Image Store サービスがあります。Image Store service: Each Service Fabric cluster has an Image Store service where deployed, versioned application packages are kept. アプリケーション パッケージをイメージ ストアにコピーした後、そのアプリケーション パッケージに含まれているアプリケーションの種類を登録します。Copy an application package to the Image Store and then register the application type contained within that application package. アプリケーションの種類をプロビジョニングした後、そのアプリケーションの種類から名前付きアプリケーションを作成します。After the application type is provisioned, you create a named application from it. アプリケーションの種類は、そのアプリケーションの種類から作成されているすべての名前付きアプリケーションを削除した後、イメージ ストア サービスからの登録を解除できます。You can unregister an application type from the Image Store service after all its named applications have been deleted.

Image Store サービスの詳細については、「ImageStoreConnectionString 設定を理解する」をご覧ください。Read Understand the ImageStoreConnectionString setting for more information about the Image Store service.

イメージ ストア サービスへのアプリケーションのデプロイの詳細については、アプリケーションのデプロイに関する記事をご覧ください。Read the Deploy an application article for more information on deploying applications to the Image Store service.

Failover Manager サービス: 各 Service Fabric クラスターには、次の処理を担当する Failover Manager サービスがあります。Failover Manager service: Each Service Fabric cluster has a Failover Manager service that is responsible for the following actions:

  • サービスの高可用性と整合性に関する役割を担います。Performs functions related to high availability and consistency of services.
  • アプリケーションとクラスターのアップグレードを調整します。Orchestrates application and cluster upgrades.
  • 他のシステム コンポーネントとやり取りします。Interacts with other system components.

Repair Manager サービス:これは、安全で、自動化可能、かつ透過的な方法でクラスター上で修復アクションを実行できるようにする、省略可能なシステム サービスです。Repair Manager service: This is an optional system service that allows repair actions to be performed on a cluster in a way that is safe, automatable, and transparent. Repair Manager は、次の操作で使用されます。Repair manager is used in:

デプロイとアプリケーション モデルDeployment and application models

サービスをデプロイするには、その実行方法を記述する必要があります。To deploy your services, you need to describe how they should run. Service Fabric では、3 つの異なるデプロイ モデルをサポートしています。Service Fabric supports three different deployment models:

リソース モデル (プレビュー)Resource model (preview)

Service Fabric リソースは、アプリケーション、サービス、ネットワーク、ボリュームなど、Service Fabric に個別にデプロイできるあらゆるものです。Service Fabric Resources are anything that can be deployed individually to Service Fabric; including applications, services, networks, and volumes. リソースは、クラスター エンドポイントにデプロイできる JSON ファイルを使用して定義されます。Resources are defined using a JSON file, which can be deployed to a cluster endpoint. Service Fabric Mesh では、Azure Resource Model スキーマが使用されます。For Service Fabric Mesh, the Azure Resource Model schema is used. YAML ファイル スキーマを使用して、定義ファイルをより簡単に作成することもできます。A YAML file schema can also be used to more easily author definition files. リソースは Service Fabric が実行されているあらゆる場所にデプロイできます。Resources can be deployed anywhere Service Fabric runs. リソース モデルは、Service Fabric アプリケーションを記述する最も簡単な方法です。The resource model is the simplest way to describe your Service Fabric applications. その中心は、コンテナー化されたサービスの単純なデプロイと管理にあります。Its main focus is on simple deployment and management of containerized services. 詳細については、「Service Fabric リソース モデルの概要」を参照してください。To learn more, read Introduction to the Service Fabric Resource Model.

ネイティブ モデルNative model

ネイティブ アプリケーション モデルからアプリケーションに Service Fabric への完全な低レベル アクセスが与えられます。The native application model provides your applications with full low-level access to Service Fabric. アプリケーションとサービスは、XML マニフェスト ファイルに登録済みタイプとして定義されます。Applications and services are defined as registered types in XML manifest files.

ネイティブ モデルは Reliable Services および Reliable Actors フレームワークに対応しています。このフレームワークは、C# と Java で、Service Fabric ランタイム API とクラスター管理 API へのアクセスを提供します。The native model supports the Reliable Services and Reliable Actors frameworks, which provides access to the Service Fabric runtime APIs and cluster management APIs in C# and Java. ネイティブ モデルは任意のコンテナーと実行可能ファイルにも対応しています。The native model also supports arbitrary containers and executables. Service Fabric Mesh 環境では、ネイティブ モデルがサポートされていません。The native model is not supported in the Service Fabric Mesh environment.

Reliable Services:ステートレス サービスとステートフル サービスを構築するための API。Reliable Services: An API to build stateless and stateful services. ステートフル サービスの状態は、Reliable Collection (ディクショナリ、キューなど) に格納されます。Stateful services store their state in Reliable Collections, such as a dictionary or a queue. 他にも、Web API や Windows Communication Foundation (WCF) など、さまざまな通信スタックを組み込むことができます。You can also plug in various communication stacks, such as Web API and Windows Communication Foundation (WCF).

Reliable Actors:仮想アクター プログラミング モデルを使用してステートレス オブジェクトとステートフル オブジェクトを構築するための API。Reliable Actors: An API to build stateless and stateful objects through the virtual Actor programming model. このモデルは、独立した計算または状態の単位が多数存在するときに適しています。This model is useful when you have lots of independent units of computation or state. このモデルは、順番に基づくスレッド モデルを採用しているため、他のアクターやサービスを呼び出すコードは避けた方が賢明です。それぞれのアクターは、すべての送信要求が完了するまで他の受信要求を処理できません。This model uses a turn-based threading model, so it's best to avoid code that calls out to other actors or services because an individual actor can't process other incoming requests until all its outbound requests are finished.

また、Service Fabric 上で既存のアプリケーションを実行することもできます。You can also run your existing applications on Service Fabric:

コンテナー:Service Fabric では、Linux での Docker コンテナーのデプロイと、Windows Server 2016 での Windows Server コンテナーのデプロイをサポートしています。また、Hyper-V の分離モードもサポートしています。Containers: Service Fabric supports the deployment of Docker containers on Linux and Windows Server containers on Windows Server 2016, along with support for Hyper-V isolation mode. Service Fabric の アプリケーション モデルでは、コンテナーは複数のサービス レプリカが配置されたアプリケーション ホストを表します。In the Service Fabric application model, a container represents an application host in which multiple service replicas are placed. Service Fabric は任意のコンテナーを実行でき、そのシナリオは、コンテナーの内部で既存のアプリケーションをパッケージ化するゲスト実行可能ファイルのシナリオと同様です。Service Fabric can run any containers, and the scenario is similar to the guest executable scenario, where you package an existing application inside a container. さらに、コンテナーの内部で Service Fabric サービスを実行することもできます。In addition, you can run Service Fabric services inside containers as well.

ゲスト実行可能ファイル:Node.js、Python、Java、C++ など、あらゆる種類のコードをサービスとして Azure Service Fabric 内で実行できます。Guest executables: You can run any type of code, such as Node.js, Python, Java, or C++ in Azure Service Fabric as a service. Service Fabric では、これらの種類のサービスはゲスト実行可能ファイルと呼ばれます。これは、ステートレス サービスとして処理されます。Service Fabric refers to these types of services as guest executables, which are treated as stateless services. Service Fabric クラスターでゲスト実行可能ファイルを実行する利点には、高可用性、正常性の監視、アプリケーション ライフサイクル管理、高密度、および見つけやすさが含まれます。The advantages to running a guest executable in a Service Fabric cluster include high availability, health monitoring, application lifecycle management, high density, and discoverability.

詳細については、サービスのプログラミング モデルの選択に関する記事をご覧ください。Read the Choose a programming model for your service article for more information.

Docker ComposeDocker Compose

Docker Compose は Docker プロジェクトの一部です。Docker Compose is part of the Docker project. Service Fabric は、Docker Compose モデルを利用したアプリケーションのデプロイに一部対応しています。Service Fabric provides limited support for deploying applications using the Docker Compose model.

環境Environments

Service Fabric はオープンソースのプラットフォーム テクノロジであり、いくつかのサービスと製品がこれを基盤としています。Service Fabric is an open-source platform technology that several different services and products are based on. Microsoft では、次のオプションを提供しています。Microsoft provides the following options:

  • Azure Service Fabric Mesh:Microsoft Azure で Service Fabric アプリケーションを実行するためのフル マネージド サービス。Azure Service Fabric Mesh: A fully managed service for running Service Fabric applications in Microsoft Azure.
  • Azure Service Fabric:Azure がホストする Service Fabric クラスター サービス。Azure Service Fabric: The Azure hosted Service Fabric cluster offering. Service Fabric と Azure インフラストラクチャの統合や、Service Fabric クラスターのアップグレードと構成管理を提供します。It provides integration between Service Fabric and the Azure infrastructure, along with upgrade and configuration management of Service Fabric clusters.
  • Service Fabric スタンドアロン:さまざまな場所に (オンプレミスまたはクラウド プロバイダーに) Service Fabric クラスターをデプロイするための一連のインストール ツールと構成ツール。Service Fabric standalone: A set of installation and configuration tools to deploy Service Fabric clusters anywhere (on-premises or on any cloud provider). Azure によって管理されません。Not managed by Azure.
  • Service Fabric 開発クラスター:Service Fabric アプリケーションの開発のために、Windows、Linux、Mac 上でのローカル開発環境を提供します。Service Fabric development cluster: Provides a local development experience on Windows, Linux, or Mac for development of Service Fabric applications.

環境、フレームワーク、デプロイ モデルのサポート マトリックスEnvironment, framework, and deployment model support matrix

環境が異なると、フレームワークやデプロイ モデルのサポート レベルも異なります。Different environments have different level of support for frameworks and deployment models. 次の表では、サポートされているフレームワーク/デプロイ モデルの組み合わせをまとめてあります。The following table describes the supported framework and deployment model combinations.

アプリケーションの種類Type of Application 記述モデルDescribed By Azure Service Fabric MeshAzure Service Fabric Mesh Azure Service Fabric クラスター (任意の OS)Azure Service Fabric Clusters (any OS) ローカル クラスターLocal cluster スタンドアロン クラスターStandalone cluster
Service Fabric Mesh アプリケーションService Fabric Mesh Applications リソース モデル (YAML と JSON)Resource Model (YAML & JSON) サポートされていますSupported サポートされていませんNot supported Windows - サポートされています、Linux と Mac - サポートされていませんWindows- supported, Linux and Mac- not supported Windows - サポートされていませんWindows- not supported
Service Fabric ネイティブ アプリケーションService Fabric Native Applications ネイティブ アプリケーション モデル (XML)Native Application Model (XML) サポートされていませんNot Supported サポートされていますSupported サポートされていますSupported Windows - サポートされていますWindows- supported

次の表では、Service Fabric に対してさまざまなアプリケーション モデルとそのツールをまとめています。The following table describes the different application models and the tooling that exists for them against Service Fabric.

アプリケーションの種類Type of Application 記述モデルDescribed By Visual StudioVisual Studio EclipseEclipse SFCTLSFCTL AZ CLIAZ CLI PowershellPowershell
Service Fabric Mesh アプリケーションService Fabric Mesh Applications リソース モデル (YAML と JSON)Resource Model (YAML & JSON) VS 2017VS 2017 サポートされていませんNot supported サポートされていませんNot supported サポートされています - Mesh 環境のみSupported - Mesh environment only サポートされていませんNot Supported
Service Fabric ネイティブ アプリケーションService Fabric Native Applications ネイティブ アプリケーション モデル (XML)Native Application Model (XML) VS 2017 と VS 2015VS 2017 and VS 2015 サポートされていますSupported サポートされていますSupported サポートされていますSupported サポートされていますSupported

次の手順Next steps

Service Fabric の詳細については、以下の情報を参照してください。To learn more about Service Fabric:

Service Fabric Mesh の詳細については、以下の情報を参照してください。To learn more about Service Fabric Mesh: