次の方法で共有


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

Azure App Service
Azure Kubernetes Service (AKS)
Azure Virtual Machines
Azure Container Apps
Azure Functions

Azure では、多数の方法でお使いのアプリケーション コードをホスティングできます。 The term compute refers to the hosting model for the resources that your application runs on. この記事は、アプリケーションのコンピューティング サービスの選択に役立ちます。

サービス候補を選択する

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

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

このデシジョン ツリーのVisio ファイルをダウンロードします

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

  • リフト アンド シフト: アプリケーションの再設計やコード変更なしで、ワークロードをクラウドに移行する戦略。 It's also called rehosting. 詳細については、「Azure migration and modernization center」を参照してください。
  • Cloud optimized: A strategy for migrating to the cloud by refactoring an application to take advantage of cloud-native features and capabilities.

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

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

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

基本的な機能を理解する

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

  • Azure Virtual Machines: Azure 仮想ネットワーク内に仮想マシン (VM) をデプロイして管理するサービス。
  • Azure App Service: Web アプリ、モバイル アプリ バックエンド、RESTful API、または自動化されたビジネス プロセスをホストするための管理サービス。
  • Azure Functions: A service that provides managed functions that run based on a variety of trigger types for event-driven applications.
  • Azure Kubernetes Service (AKS): コンテナ化されたアプリケーションを実行するためのマネージド Kubernetes サービス。
  • Azure Container Apps: Kubernetes 上に構築され管理サービス。サーバーレス環境でのコンテナ化されたアプリケーションのデプロイを単純化します。
  • Azure Container Instances: このサービスは、Azure で単一のコンテナーまたはコンテナー のグループを実行するための高速かつ簡単な方法です。 Azure Container Instances では完全なコンテナー オーケストレーションは提供されませんが、VM をプロビジョニングしたり、より高いレベルのサービスを導入したりする必要なく、それらを実装できます。
  • Azure Red Hat OpenShift: Kubernetes を使用して運用環境でコンテナーを実行するためのフル マネージドの OpenShift クラスター。
  • Azure Service Fabric: Azure、オンプレミスなど、多数の環境で実行できる分散システム プラットフォーム。
  • Azure Batch: A managed service for running large-scale parallel and high-performance computing (HPC) applications.
  • Azure VMware Solution: Azure 上で VMware ワークロードをネイティブに実行するためのマネージド サービスです。

ホスティング モデルについて理解する

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

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

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

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

    Note

    Azure Functions is an Azure serverless compute offering. このサービスと、サーバーレス ワークフローを提供する Logic Apps などの他の Azure サーバーレス オファリングとの比較については、「Azure における統合と自動化の適切なサービスを選ぶ」を参照してください。

IaaS から純粋な PaaS への段階があります。 たとえば、Azure VM では、仮想マシン スケール セットを使用して自動スケーリングできます。 この機能は厳密には PaaS ではありませんが、PaaS で見つかる管理機能の一種です。

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

Service Application composition Density 最小ノード数 State management Web hosting
Azure 仮想マシン Agnostic Agnostic 1 2 ステートレスまたはステートフル Agnostic
Azure App Service Applications, containers App Service プランを使用するインスタンスごとの複数のアプリ 1 Stateless Built in
Azure Functions Functions, containers Serverless 1 Serverless 1 Stateless or stateful 6 Not applicable
Azure Kubernetes Service Containers ノードごとに複数のコンテナー 3 3 ステートレスまたはステートフル Agnostic
Azure Container Apps Containers Serverless Serverless ステートレスまたはステートフル Agnostic
Azure Container Instances Containers 専用インスタンスなし 専用ノードなし Stateless Agnostic
Azure Red Hat OpenShift Containers ノードごとに複数のコンテナー 6 5 ステートレスまたはステートフル Agnostic
Azure Service Fabric サービス、ゲスト実行可能ファイル、コンテナー VM ごとに複数のサービス 5 3 ステートレスまたはステートフル Agnostic
Azure Batch Scheduled jobs VM ごとに複数のアプリ 1 4 Stateless No
Azure VMware Solution Agnostic Agnostic 3 7 ステートレスまたはステートフル Agnostic

Notes

  1. 従量課金プランを使用している場合。 App Service プランの場合、関数は、App Service プランに割り当てられた VM 上で実行されます。 Azure Functions の適切なサービス プランの選択に関する記事を参照してください。
  2. 2 つ以上のインスタンスを持つより高いサービス レベル アグリーメント (SLA)。
  3. 運用環境の場合に推奨されます。
  4. ジョブの完了後、0 にスケールダウンできます。
  5. プライマリ ノードの場合は 3 つ、ワーカー ノードの場合は 3 つ。
  6. Durable Functions を使用する場合。
  7. 3 つのノード 最小数が必要です。

ネットワーク

Service 仮想ネットワークの統合 Hybrid connectivity
Azure 仮想マシン Supported Supported
Azure App Service Supported 1 Supported 2
Azure Functions Supported 1 Supported 3
Azure Kubernetes Service Supported Supported
Azure Container Apps Supported Supported
Azure Container Instances Supported Supported
Azure Red Hat OpenShift Supported Supported
Azure Service Fabric Supported Supported
Azure Batch Supported Supported
Azure VMware Solution Supported Supported

Notes

  1. App Service Environment または専用のコンピューティング価格レベルが必要です。
  2. Azure App Service のハイブリッド接続を使用します。
  3. App Service プランまたは Azure Functions Premium プランが必要です。

DevOps

Service Local debugging Programming model Application update
Azure 仮想マシン Agnostic Agnostic 組み込みのサポートなし
Azure App Service IIS Express, others 1 Web および API アプリケーション、バックグラウンド タスク用の Web ジョブ Deployment slots
Azure Functions Visual Studio または Azure Functions CLI Serverless, event-driven Deployment slots
Azure Kubernetes Service Minikube、Docker、その他 Agnostic Rolling update
Azure Container Apps ローカルのコンテナー ランタイム Agnostic Revision management
Azure Container Instances ローカルのコンテナー ランタイム Agnostic Not applicable
Azure Red Hat OpenShift Minikube、Docker、その他 Agnostic Rolling update
Azure Service Fabric ローカル ノードのクラスター ゲスト実行可能ファイル、サービス モデル、アクター モデル、コンテナー ローリング アップグレード (サービスあたり)
Azure Batch Not supported Command-line application Not applicable
Azure VMware Solution Agnostic Agnostic 組み込みのサポートなし

Notes

  1. オプションには、ASP.NET または node.js (iisnode) の IIS Express、PHP Web サーバー、Azure Toolkit for IntelliJ、Azure Toolkit for Eclipse などがあります。 App Service では、デプロイ済みの Web アプリのリモート デバッグもサポートしています。

Scalability

Service Autoscaling Load balancer Scale limit3
Azure 仮想マシン 仮想マシン スケール セット Azure Load Balancer プラットフォーム イメージ:スケール セットあたり 1,000 ノード、カスタム イメージ:スケール セットあたり 600 ノード
Azure App Service Built-in service Integrated 30 個のインスタンス、App Service Environment で 100
Azure Functions Built-in service Integrated 関数アプリあたり 200 個のインスタンス
Azure Kubernetes Service Pod autoscaling1, cluster autoscaling2 Azure Load Balancer または Azure Application Gateway 5,000 nodes when using Uptime SLA
Azure Container Apps Scaling rules4 Integrated リージョンあたり 15 個の環境 (既定の制限)、環境あたりのコンテナー アプリ数に制限なし、コンテナー アプリあたりのレプリカ数 (使用可能なコアに応じて)
Azure Container Instances Not supported 組み込みのサポートなし サブスクリプションあたり 100 個のコンテナー グループ (既定の制限)
Azure Red Hat OpenShift ポッドの自動スケーリング、クラスターの自動スケーリング Azure Load Balancer または Azure Application Gateway クラスターあたり 250 ノード (既定の制限)
Azure Service Fabric 仮想マシン スケール セット Azure Load Balancer 仮想マシン スケール セットあたり 100 ノード
Azure Batch Not applicable Azure Load Balancer コア制限は 900 専用、低優先度は 100 (既定の制限)
Azure VMware Solution Built-in service5 Integrated6 VMware vCenter ごとに、3 ~ 16 個の VMware ESXi ホストを管理できます

Notes

  1. ポッドを自動スケールする」を参照してください。
  2. Azure Kubernetes Service でのアプリケーションの需要を満たすようにクラスターを自動的にスケーリング」を参照してください。
  3. Azure サブスクリプションとサービスの制限、クォータ、制約」をご覧ください。
  4. Azure Container Apps でスケーリング ルールを設定する」を参照してください
  5. Azure VMware Solutionのスケーリング に関するページを参照してください。
  6. VMware NSXを参照してください。

Availability

Service マルチリージョン フェールオーバー オプション
Azure 仮想マシン Azure Traffic Manager、Azure Front Door、およびリージョン間の Azure Load Balancer
Azure App Service Azure Traffic Manager と Azure Front Door
Azure Functions Azure Traffic Manager と Azure Front Door
Azure Kubernetes Service (AKS) Azure Traffic Manager、Azure Front Door、マルチリージョン クラスター
Azure Container Apps Azure Traffic Manager と Azure Front Door
Azure Container Instances Azure Traffic Manager と Azure Front Door
Azure Red Hat OpenShift Azure Traffic Manager と Azure Front Door
Azure Service Fabric Azure Traffic Manager、Azure Front Door、およびリージョン間の Azure Load Balancer
Azure Batch Not applicable
Azure VMware Solution Not applicable

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

セキュリティ

各サービスで使用可能なセキュリティ制御と可視性を確認して理解してください。

Other criteria

Service TLS Cost 適切なアーキテクチャ スタイル
Azure 仮想マシン VM で構成済み Windows, Linux N-tier, big compute (HPC)
Azure App Service Supported App Service 価格 Web-queue-worker
Azure Functions Supported Functions pricing Microservices, event-driven architecture
Azure Kubernetes Service (AKS) Ingress controller AKS pricing Microservices, event-driven architecture
Azure Container Apps Ingress controller Container Apps の価格 Microservices, event-driven architecture
Azure Container Instances Use sidecar container Container Instances の価格 Microservices, task automation, batch jobs
Azure Red Hat OpenShift Supported Azure Red Hat OpenShift の価格 Microservices, event-driven architecture
Azure Service Fabric Supported Service Fabric の価格 Microservices, event-driven architecture
Azure Batch Supported Batch pricing Big compute (HPC)
Azure VMware Solution VM で構成済み Azure VMware Solution の価格 を する VMware 形式に基づく VM ワークロード

制限とコストを考慮する

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

Contributors

この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。

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

Next steps

コア クラウド サービス - Azure コンピューティング オプション。 この Learn モジュールでは、コンピューティング サービスが一般的なビジネス ニーズをどのように解決できるかを紹介します。