次の方法で共有


Azure コンピューティング サービスを選択する

Azure には、アプリケーション コードをホストするためのさまざまな方法が用意されています。 コンピューティングという用語は、アプリケーションが実行されるリソースのホスティング モデルを指します。 この記事は、アプリケーションのコンピューティング サービスを選択する際に役立ちます。

Architecture

次のフローチャートを使用して、コンピューティング サービスの候補を選択します。

Azure コンピューティング サービスのデシジョン ツリーを示す図。

この図は、ユーザーが既存のワークロードを移行しているか、新しいワークロードを構築しているかに基づいて、適切な Azure サービスを選択するためのフローチャートを示しています。 フローチャートはスタート ノードから始まり、Migrate と Build new というラベルの 2 つのプライマリ ブランチに分割されます。 Migrate ブランチには、アプリケーションがクラウド用に最適化されているかどうか、およびアプリケーションをリフトアンドシフトできるかどうかを評価する決定ポイントが含まれています。 回答に応じて、フローは Azure App Service、Azure VMware Solution、Virtual Machines などのサービスにつながります。 新しいビルド ブランチには、フル コントロール、ハイ パフォーマンス コンピューティング、イベントドリブン ワークロード、マネージド Web ホスティング、オーケストレーション要件の必要性を評価する決定ポイントが含まれています。 これらの決定は、Virtual Machines、Azure Batch、Azure Functions、App Service、Azure Container Instances、Azure Service Fabric、Azure Red Hat OpenShift、Azure Kubernetes Service、Azure Container Apps などのサービスにユーザーを導きます。 Virtual Machines での独自のオーケストレーション実装の分岐セクションには、Virtual Machines 上の VMware Tanzu、Virtual Machines 上の Kubernetes、および Virtual Machines 上の OpenShift が含まれます。 画像の下部にある 2 つのボックス化されたセクションには、コンテナー排他サービスとコンテナー互換サービスが一覧表示されています。 コンテナー排他セクションには、Azure Container Instances、Azure Red Hat OpenShift、Virtual Machines 上の Kubernetes、Virtual Machines 上の OpenShift、Virtual Machines 上の VMware Tanzu が含まれます。 コンテナーと互換性のあるセクションには、Azure Batch、Azure Functions、Service Fabric、App Service が含まれます。

このアーキテクチャの Visio ファイル をダウンロードします。

前の図は、次の 2 つの移行戦略を示しています。

  • リフトアンドシフト: アプリケーションを再設計したり、コードを変更したりせずに、ワークロードをクラウドに移行するための戦略。 リ ホストとも呼ばれます。 詳細については、 Azure クラウド移行とモダン化センターに関するページを参照してください。

  • クラウド最適化: クラウドネイティブの機能を利用するようにアプリケーションをリファクタリングすることで、クラウドに移行するための戦略。

このフローチャートからの出力は、開始点です。 次に、サービスを評価して、ニーズを満たしているかどうかを確認します。

この記事には、サービスの選択に役立ついくつかのテーブルが含まれています。 フローチャートの最初の候補は、アプリケーションまたはワークロードに適していない可能性があります。 その場合は、分析を展開して他のコンピューティング サービスを含めます。

アプリケーションが複数のワークロードで構成されている場合は、各ワークロードを個別に評価します。 完全なソリューションには、2 つ以上のコンピューティング サービスを組み込むことができます。

基本的な機能を理解する

前のセクションで選択した Azure サービスに慣れていない場合は、次の概要ドキュメントを参照してください。

  • Azure App Service は、Web アプリ、モバイル アプリ バックエンド、RESTful API、または自動化されたビジネス プロセスをホストするためのマネージド サービスです。

  • Azure Batch は、大規模な並列コンピューティングおよびハイ パフォーマンス コンピューティング (HPC) アプリケーションを実行するためのマネージド サービスです。

  • Azure Container Apps は Kubernetes 上に構築されたマネージド サービスです。これにより、サーバーレス環境でのコンテナー化されたアプリケーションのデプロイが簡略化されます。

  • Azure Container Instances は、Azure で 1 つのコンテナーまたはコンテナーのグループを実行するためのサービスです。 コンテナー インスタンスは完全なコンテナー オーケストレーションを提供しませんが、仮想マシン (VM) をプロビジョニングしたり、より高いレベルのサービスを導入したりしなくても、コンテナーを実装できます。

  • Azure Functions は、イベント ドリブン アプリケーションのさまざまなトリガーの種類に基づいて実行されるマネージド関数を提供するサービスです。

  • Azure Kubernetes Service (AKS) は、コンテナー化されたアプリケーションを実行するためのマネージド Kubernetes サービスです。

  • Azure Red Hat OpenShift は、Kubernetes を使用して運用環境でコンテナーを実行するためのフル マネージドの OpenShift クラスターです。

  • Azure Service Fabric は、Azure やオンプレミスなど、多くの環境で実行できる分散システム プラットフォームです。

  • Azure VMware Solution は、Azure で VMware ワークロードをネイティブに実行するためのマネージド サービスです。

  • Azure Virtual Machines は、Azure 仮想 ネットワーク内に VM をデプロイして管理するサービスです。

ホスティング モデルを理解する

ホスティング モデルの場合、クラウド サービスは次の 3 つのカテゴリに分類されます。

  • サービスとしてのインフラストラクチャ (IaaS) を使用すると、関連付けられているネットワークおよびストレージ コンポーネントと共に VM をプロビジョニングできます。 その後、それらの VM に任意のソフトウェアとアプリケーションをデプロイできます。 このモデルは、従来のオンプレミス環境に最も近いモデルです。 Microsoft がインフラストラクチャを管理し、VM を管理します。

  • サービスとしてのプラットフォーム (PaaS) は、VM やネットワーク リソースを管理しなくてもアプリケーションをデプロイできるマネージド ホスティング環境を提供します。 App Service と Container Apps は PaaS サービスです。

  • サービスとしての関数 (FaaS) を使用すると、コードをサービスにデプロイして自動的に実行できます。 Azure Functions は FaaS サービスです。

    Azure Functions は、 Azure サーバーレス コンピューティング オファリングです。 このサービスと、サーバーレス ワークフロー用の Azure Logic Apps などの他の Azure サーバーレス オファリングとの比較については、「 Azure での適切な統合および自動化サービスの選択」を参照してください。

IaaS からフル マネージド PaaS まで、さまざまなものがあります。 たとえば、Azure VM は仮想マシン スケール セットを使用して自動的にスケーリングできます。 この機能は厳密には PaaS ではありませんが、PaaS の管理機能に似ています。

管理と管理の容易さの間にはトレードオフがあります。 IaaS は、最も制御性、柔軟性、移植性を提供します。 ただし、作成する VM とネットワーク コンポーネントをプロビジョニング、構成、管理する必要があります。 FaaS サービスは、アプリケーションの実行に関するほぼすべての側面を自動的に管理します。 PaaS では、一部のユーザー構成を必要としながら部分的な管理が提供されます。

サービス アプリケーションの構成 密度 ノードの最小数 ステート管理 Web ホスティング
Virtual Machines 不可知的 不可知的 1 2 ステートレスまたはステートフル 不可知的
App Service アプリケーション、コンテナー App Service プランを使用してインスタンスごとに複数のアプリを作成する 1 ステートレス 組み込み
Azure Functions 関数、コンテナー サーバーレス 1 サーバーレス 1 ステートレスまたはステートフル 6 適用なし
AKS Containers ノードごとに複数のコンテナー 3 3 ステートレスまたはステートフル 不可知的
Container Apps Containers Serverless Serverless ステートレスまたはステートフル 不可知的
Container Instances Containers 専用インスタンスなし 専用ノードなし ステートレス 不可知的
Azure Red Hat OpenShift Containers ノードごとに複数のコンテナー 6 5 ステートレスまたはステートフル 不可知的
Service Fabric サービス、ゲスト実行可能ファイル、コンテナー VM ごとに複数のサービス 5 3 ステートレスまたはステートフル 不可知的
Batch スケジュールされたジョブ VM ごとに複数のアプリ 1 4 ステートレス いいえ
Azure VMware Solution 不可知的 不可知的 3 7 ステートレスまたはステートフル 不可知的

注:

1Azure Functions の場合、従量課金プランはサーバーレスです。App Service プランの場合、関数はそのプランに割り当てられた VM で実行されます。 Azure Functions の適切なサービス プランを選択します

2 2つ以上のインスタンスを持つより高いサービス レベル アグリーメント (SLA)。

3運用環境に推奨されます。

4ジョブの完了後に 0 にスケールダウンできます。

53 つのプライマリ ノードと 3 つのワーカー ノード。

6持続的関数を使用する場合。

7ホストを参照してください。

ネットワーク

サービス 仮想ネットワークの統合 ハイブリッド接続
Virtual Machines サポートされています サポートされています
App Service サポートされている 1 サポートされている 2
Azure Functions サポートされている 1 サポートされている 3
AKS Supported サポートされています
Container Apps サポートされています サポートされています
Container Instances Supported Supported
Azure Red Hat OpenShift Supported サポートされています
Service Fabric サポートされています サポートされています
Batch サポートされています サポートされています
Azure VMware Solution Supported Supported

注:

1App Service Environment または専用のコンピューティング価格レベルが必要です。

2App Service ハイブリッド接続を使用する。

3App Service プランまたは Azure Functions Premium プランが必要です。

DevOps

サービス ローカル デバッグ プログラミング モデル アプリケーションの更新
Virtual Machines 不可知的 不可知的 組み込みのサポートなし
App Service IIS Express、その他 1 Web アプリケーションと API アプリケーション、バックグラウンド タスク用の Web ジョブ デプロイ スロット
Azure Functions Visual Studio または Azure Functions CLI サーバーレス、イベント ドリブン デプロイ スロット
AKS Minikube、Docker、その他 不可知的 ローリング アップデート
Container Apps ローカル コンテナー ランタイム 不可知的 リビジョン管理
Container Instances ローカル コンテナー ランタイム 不可知的 適用なし
Azure Red Hat OpenShift Minikube、Docker、その他 不可知的 ローリング アップデート
Service Fabric ローカル ノード クラスター ゲスト実行可能ファイル、サービス モデル、アクター モデル、コンテナー 各サービスのローリング アップグレード
Batch サポートされていません コマンド ライン アプリケーション 適用なし
Azure VMware Solution 不可知的 不可知的 組み込みのサポートなし

Note:

1 つのオプションには、iis Express for ASP.NET または node.js (iisnode)、PHP Web サーバー、Azure Toolkit for IntelliJ、Azure Toolkit for Eclipse が含まれます。App Service では、デプロイされた Web アプリのリモート デバッグもサポートされています。

スケーラビリティ

サービス Autoscaling ロードバランサー スケール制限3
Virtual Machines 仮想マシン スケール セット Azure Load Balancer プラットフォーム イメージ: スケール セットごとに 1,000 ノード。 カスタム イメージ: スケール セットごとに 600 ノード。
App Service 組み込みサービス 統合 30 インスタンス、App Service Environment で 100 個
Azure Functions 組み込みサービス 統合 関数アプリごとに 200 インスタンス
AKS ポッドの自動スケール1、クラスターの自動スケール2 Load Balancer または Azure Application Gateway アップタイム SLA を使用する場合、5,000 ノード
Container Apps スケーリングルール4 統合 リージョンごとに 15 個の環境 (既定の制限)、各環境に無制限のコンテナー アプリ、各コンテナー アプリのレプリカ (使用可能なコアに応じて)
Container Instances サポートされていません 組み込みのサポートなし サブスクリプションごとに 100 個のコンテナー グループ (既定の制限)
Azure Red Hat OpenShift ポッドの自動スケーリング、クラスターの自動スケーリング Load Balancer または Application Gateway クラスターごとに 250 ノード (既定の制限)
Service Fabric 仮想マシン スケール セット Load Balancer 仮想マシン スケール セットごとに 100 ノード
Batch 適用なし Load Balancer コア制限は 900 専用、低優先度は 100 (既定の制限)
Azure VMware Solution 組み込みサービス5 統合6 VMware vCenter あたり 3 ~ 16 個の VMware ESXi ホスト

注:

1ポッドの自動スケーリングを参照してください。

2AKS でのアプリケーションの需要に合わせてクラスターを自動的にスケーリングする方法を参照してください。

3Azure サブスクリプションとサービスの制限、クォータ、制約を参照する

4Container Apps でのスケーリング ルールの設定を参照してください

5Azure VMware Solution のスケーリングに関するページを参照してください

6VMware NSX を参照する

可用性

サービス マルチリージョン フェールオーバー オプション
Virtual Machines Azure Traffic Manager、Azure Front Door、およびリージョン間ロード バランサー
App Service Traffic Manager と Azure Front Door
Azure Functions Traffic Manager と Azure Front Door
AKS Traffic Manager、Azure Front Door、および Multiregion クラスター
Container Apps Traffic Manager と Azure Front Door
Container Instances Traffic Manager と Azure Front Door
Azure Red Hat OpenShift Traffic Manager と Azure Front Door
Service Fabric Traffic Manager、Azure Front Door、およびリージョン間ロード バランサー
Batch 適用なし
Azure VMware Solution 適用なし

サービスの保証に関するガイド付き学習については、 Azure のアーキテクチャとサービスの保証に関するページを参照してください。

セキュリティ

次の各サービスで使用可能なセキュリティ制御と可視性を確認し、理解します。

その他の条件

サービス TLS 費用 適切なアーキテクチャ スタイル
Virtual Machines VM で構成済み WindowsLinux N 層、ビッグ コンピューティング (HPC)
App Service サポートされています App Service の価格 Web-queue-worker
Azure Functions サポートされています Azure Functions の価格 マイクロサービスイベント ドリブン アーキテクチャ
AKS イングレス コントローラー AKS の価格 マイクロサービスイベント ドリブン アーキテクチャ
Container Apps イングレス コントローラー Container Apps の価格 マイクロサービスイベント ドリブン アーキテクチャ
Container Instances サイドカー コンテナーを使用する Container Instances の価格 マイクロサービス、タスクの自動化、バッチ ジョブ
Azure Red Hat OpenShift サポートされています Azure Red Hat OpenShift の価格 マイクロサービスイベント ドリブン アーキテクチャ
Service Fabric サポートされています Service Fabric の価格 マイクロサービスイベント ドリブン アーキテクチャ
Batch サポートされています Batch の価格 ビッグ コンピューティング (HPC)
Azure VMware Solution VM で構成済み Azure VMware Solution の価格 VMware 形式に基づく VM ワークロード

制限とコストを検討する

前の比較表と共に、候補サービスの次の側面をより詳細に評価します。

貢献者達

Microsoft では、この記事を保持しています。 次の共同作成者がこの記事を書きました。

公開されていない LinkedIn プロフィールを見るには、LinkedIn にサインインしてください。

次のステップ