Azure でのデプロイの機会

完了

Azure によって、Java アプリケーション用にさまざまなデプロイ ソリューションが提供されます。 このユニットでは、そのいくつかについて説明します。

さまざまな種類の Java アプリケーションにおける Azure でのデプロイの機会の図。

仮想マシン

Windows と Linux で Azure 仮想マシン (VM) を利用できます。 Linux VM では、Ubuntu、Red Hat、SUSE などのさまざまなディストリビューションから選択できます。

通常、VM は "リフト アンド シフト" の出発点です。これは既存のマシンを Azure に移行するプロセスです。 OS の更新、Java ランタイム、ネットワーク設定、ポートの転送、およびセキュリティに対処する必要があります。

Containers

  • Azure Kubernetes Service (AKS) は、マネージド Kubernetes サービスです。 Kubernetes は、コンテナ化されたアプリケーションを調整するための "事実上" の標準です。 マイクロサービスと中規模のアプリケーションに最適です。 AKS は、サービス検出、自動スケーリング、および監視を備えています。 Microsoft は、Virtual Kubelet、Dapr、Open Application Model などの Kubernetes プロジェクトの協力会社です。

  • Azure Red Hat OpenShift は、Red Hat によって管理される Kubernetes の種類です。

  • Azure Container Instances は、迅速なテスト、概念実証、およびサイドカー コンテナーのためのソリューションです。

Azure App Service

Azure での Java アプリケーションの最も簡単で最もわかりやすいデプロイの機会の 1 つは、Azure App Service です。 自動スケーリング、統合された監視、およびセキュリティを備えています。

Azure Container Apps

Azure Container Apps を使用すると、インフラストラクチャを管理する必要がなく、モノリシックでもマイクロサービスでも、コンテナ化された Java アプリケーションの構築に集中できます。 JAR、WAR、さらにはソース コードをデプロイすることができ、プラットフォームは自動的にメモリを最適化し、需要に基づいてアプリケーションをスケーリングします。 また、JVM トラブルシューティングのための高度な診断機能も統合されており、Java アプリの効率的なパフォーマンスが確保されます。

さらに、Azure Container Apps では、Eureka Server や Config Server などのマネージド Spring コンポーネントがサポートされ、シームレスな Spring 統合が提供されます。 Azure エコシステムの一部として、コスト効率の高いスケーリングと高度なメモリ管理を使用してエンタープライズ ワークロードを処理するように設計されており、従来と最新のアプリケーション アーキテクチャの両方に最適です。

関数

Java コードを Azure 関数としてデプロイすることもできます。 優れたツールや他の Azure サービスとの統合による利点が得られます。

関数のサンプル シナリオは次に示します。

  • Web、モバイル、およびモノのインターネット (IoT) に接続されたバックエンド
  • ボットまたはリアルタイムのファイルおよびストリーム処理
  • スケジュールされたタスクの自動化