Azure Container Apps を確認する

完了

チームには、クラウド ネイティブおよびコンテナー化されたアプリケーションを Azure でビルドしてデプロイするための多くのオプションがあります。 Azure Container Apps に最適なシナリオやユースケースについて、また Azure 上の他のコンテナー オプションとの比較について理解することにしましょう。

Azure Container Apps について知っておくべきこと

Azure Container Apps は、コンテナー化されたアプリケーションの実行時にインフラストラクチャの保守作業を減らしコストを節約することができるサーバーレス プラットフォームです。 Container Apps では、アプリケーションの安定と安全を維持するために必要なすべての最新のサーバー リソースが提供され、サーバー構成、コンテナー オーケストレーション、デプロイ詳細で苦心することがありません。

Azure Container Apps の一般的な用途には以下が含まれます。

  • API エンドポイントのデプロイ
  • バックグラウンド処理ジョブのホスト
  • イベント 駆動型処理の処理
  • マイクロサービスの実行

Azure Container Apps 上に構築されたアプリケーションは、次の特性に基づいて動的にスケーリングできます。

  • HTTP トラフィック
  • イベント駆動型処理
  • CPU またはメモリの負荷
  • 任意の KEDA でサポートされているスケーラー

Azure Container Apps を使用する際の考慮事項

Azure Container Apps を使用すると、コンテナーに基づいてサーバーレス マイクロサービスとジョブをビルドできます。 Container Apps の特徴は次のとおりです。

  • 汎用コンテナー (特に、コンテナーにデプロイされた多くのマイクロサービスにまたがるアプリケーション向け) を実行するように最適化されています。
  • Kubernetes と、 Dapr、 KEDA、 envoyなどのオープンソースのテクノロジが利用されています。
  • サービス検出 や トラフィック分割 などの機能によって Kubernetes スタイルのアプリやマイクロサービスをサポートします。
  • トラフィックに基づくスケーリングをサポートし、ゼロにスケーリングなど、キューのようなイベント ソースからプルすることで、イベント駆動型アプリケーション アーキテクチャを有効にします。
  • オンデマンド、スケジュール済み、イベント ドリブンのジョブの実行をサポートします。

Azure Container Apps では、基になる Kubernetes API への直接アクセスは提供されません。 Kubernetes スタイルのアプリケーションを構築したいが、すべてのネイティブ Kubernetes API とクラスター管理に直接アクセスする必要がない場合、Container Apps はベスト プラクティスに基づいたフル マネージド エクスペリエンスを提供します。 このような理由から、多くのチームが、Azure Container Apps を使用してコンテナー マイクロサービスの構築を開始することを選択する場合があります。

コンテナー管理ソリューションを比較する

Azure Container Instances (ACI) は、複数の方法で管理できます。 1 つは Azure Container Apps (ACA) で、もう 1 つは Azure Kubernetes Service (AKS) です。 ACA を使用する場合と AKS を使用する場合を比較した表を次に示します。

機能 Azure Container Apps (ACA) Azure Kubernetes Service (AKS)
概要 ACA は、基になるインフラストラクチャを抽象化して、マイクロサービスベースのアプリケーションのデプロイと管理を簡略化するサーバーレス コンテナー プラットフォームです。 AKS では、Azure への運用上のオーバーヘッドを軽減することで、Azure でのマネージド Kubernetes クラスターのデプロイを簡略化します。 これは、オーケストレーションを必要とする複雑なアプリケーションに適しています。
展開 ACA は、デプロイと管理を迅速に行うための機能を備えた PaaS エクスペリエンスを提供します。 AKS は、Kubernetes 環境向けのより多くの制御およびカスタマイズ オプションを提供するため、複雑なアプリケーションやマイクロサービスに適しています。
管理 ACA は AKS を基に構築されており、コンテナー実行用の簡素化された PaaS エクスペリエンスを提供します。 AKS は、Kubernetes 環境をよりきめ細かに制御でき、Kubernetes の専門知識を持つチームに適しています。
スケーラビリティ ACA では、HTTP ベースの自動スケーリングとイベント駆動型のスケーリングの両方がサポートされているため、需要の変化に迅速に対応する必要があるアプリケーションに最適です。 AKS は水平ポッド自動スケーリングとクラスター自動スケーリングを提供し、コンテナ化されたアプリケーションに堅牢なスケーラビリティ オプションを提供します。
使用例 ACA は、マイクロサービスとサーバーレス アプリケーションに迅速なスケーリングと管理の簡略化の恩恵をもたらすことを目的に設計されています。 AKS は、複雑で実行時間の長いアプリケーションに最適です。 これらのアプリケーションには、完全な Kubernetes 機能と他の Azure サービスとの緊密な統合が必要です。
統合 ACA は、イベント駆動型アーキテクチャ向けに Azure Logic Apps、Functions、Event Grid と統合されます。 AKS は、包括的なセキュリティとガバナンスを実現するために、Kubernetes 用の Azure Policy、コンテナー用 Azure Monitor、Azure Defender for Kubernetes などの機能を提供します。