1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Azureのコンテナサービスを調べてみた

Posted at

目的

Azure のコンテナに関するサービスは複数あり、各サービスの特徴や利用目的を調べた結果を共有します。

Azure のコンテナに関するサービス

2024年10月時点のコンテナに関するサービスとしては、MSドキュメントで以下が紹介されています。

サービス 主な利用目的
Azure Container Apps サーバーレス コンテナを使用してモダンなアプリとマイクロサービスの構築とデプロイを行う。
Azure App Service (Web App for Containers) コンテナ化された Web アプリを Windows および Linux で実行する。
Azure Container Instances ハイパーバイザーの分離を使用してコンテナを起動する。
Azure Kubernetes Service (AKS) マネージド Kubernetes でコンテナのデプロイとスケーリングを行う。
Azure Functions エンドツーエンドの開発環境でイベントドリブン型のサーバーレス コードを実行する。
Azure Red Hat OpenShift マネージド Red Hat OpenShift でコンテナのデプロイとスケーリングを行う。
Azure Spring Apps マネージド Spring アプリを Kubernetes の必要なくコンテナのデプロイとスケーリングを行う。
Azure Service Fabric 常時稼働していてスケーラブルな分散型アプリをデプロイおよび運用する。
Azure Container Registry コンテナ イメージと成果物の構築、保存、保護、レプリケートを行う。

※参考にしたMSドキュメント

Azure のコンテナのデプロイに関するサービスの特徴

Azure Container Apps

  • マネージドなコンテナランタイム。マイクロサービスやコンテナベースのアプリケーションを、サーバーレスな環境で自動スケーリングとともにデプロイ可能。
  • Kubernetesベースで、 Dapr、 KEDA、 envoyなどのオープンソースのテクノロジが利用されている。
  • Kubernetes API への直接アクセスは提供されない。

Azure App Service (Web App for Containers)

  • 完全マネージドなPaaSで、コンテナ化されたWebアプリを簡単にデプロイ可能。
  • インフラ管理を最小限にし、AzureのCI/CD統合とオートスケーリング機能を提供。

Azure Container Instances

  • シンプルでスケーラブルなコンテナランタイム。
  • VMの管理なしで単一コンテナを素早くデプロイ可能。小規模なアプリケーションやテスト環境に適しているが、高度なオーケストレーションはない。
  • オンデマンドで Hyper-V 分離コンテナの単一ポッドが提供される。

Azure Kubernetes Service (AKS)

  • マネージドなKubernetesクラスター。コンテナオーケストレーションが可能で、複雑なマイクロサービスやコンテナベースのアプリケーションに適している。
  • フルコントロールとカスタマイズが可能だが、より高度な運用管理が必要。
  • Kubernetes API を利用できる。

Azure Functions

  • サーバーレスなFaaS(Function as a Service)。
  • イベント駆動型で、コードを関数単位で実行可能。
  • 小さなタスクやイベント処理に適しているが、コンテナを直接管理するには不向き。
  • Azure Functions のプログラミング モデルは基本コンテナ イメージとして使用でき、他のコンテナ ベースのコンピューティング プラットフォームに移植可能。

Azure Spring Apps

  • Spring Bootアプリケーションに特化したマネージドサービス。
  • コンテナ化されたJavaアプリケーションのデプロイに適しており、マイクロサービスアーキテクチャとの統合が容易。
  • 包括的な監視と診断、構成管理、サービス検出、CI/CD 統合、ブルー/グリーン デプロイなどを使用して、ライフサイクルを管理できる。

Azure Red Hat OpenShift

  • OpenShift(Kubernetesベース)のマネージドサービス。
  • 高度なセキュリティ、CI/CDパイプライン、エンタープライズ環境に最適化されたデプロイ機能を提供。
  • 独自のレジストリ、ネットワーク、ストレージ、CI/CD ソリューションを選択できる。
  • 大規模なエンタープライズアプリケーションに適している。

Azure Service Fabric

  • マイクロサービスやコンテナベースのアプリケーションをホストするための分散システムプラットフォーム。
  • 状態管理されたサービスやアプリケーションを効率的に実行でき、複雑なアーキテクチャに適している。
  • Azure 以外にも Windows Server、Linux のオンプレミスや他のパブリック クラウドなど、Service Fabric クラスターは任意の場所に作成できる。

Webアプリのコンテナ デプロイにおける比較

サーバーレス / マネージドサービス

サービス名 特徴 強み 適しているユースケース
Azure Container Apps サーバーレス、スケーラビリティ、オートスケーリング サーバーレスで手軽にコンテナをデプロイ、オートスケーリングでコスト最適化 イベントドリブンなマイクロサービス、小規模から中規模のWebアプリ、実験的なアプリ
Azure App Service (Web App for Containers) パスの管理、カスタムドメイン、CI/CD統合 簡単な設定でコンテナをデプロイ、PaaSの利便性 Webアプリの迅速なデプロイ、既存のWebアプリのコンテナ化、カスタムドメインが必要な場合
Azure Functions イベントドリブン、サーバーレス、スケーラビリティ 特定の機能を小さなコンテナ単位で実行、コスト効率が高い APIエンドポイント、バックグラウンドジョブ、IoTイベント処理
Azure Spring Apps Spring Boot/Spring Cloudベース、エンタープライズJava Springフレームワークに特化、エンタープライズJavaアプリケーションのデプロイ Spring Boot/Spring Cloudアプリケーションの迅速なデプロイ、エンタープライズレベルの機能

フルマネージド Kubernetes

サービス名 特徴 強み 適しているユースケース
Azure Kubernetes Service (AKS) フルマネージドKubernetes、高度なカスタマイズ性 Kubernetesのフル機能、高度なオーケストレーション 大規模なコンテナ化されたアプリケーション、複雑なマイクロサービスアーキテクチャ、高度なカスタマイズが必要な場合
Azure Red Hat OpenShift フルマネージドOpenShift、エンタープライズグレード OpenShiftのフル機能、エンタープライズ向けのサポート エンタープライズレベルのコンテナプラットフォーム、既存のRed Hat環境との統合

その他

サービス名 特徴 強み 適しているユースケース
Azure Container Instances 単一のコンテナ実行、短寿命タスク コスト効率の良い短期間実行、バッチ処理 短期間実行のタスク、ビルドプロセス、テスト環境
Azure Service Fabric マイクロサービスオーケストレーション、状態管理 大規模なマイクロサービスアプリケーション、状態管理が必要な場合 大規模な状態を持つマイクロサービス、ゲームバックエンド、IoTアプリケーション

参考

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?