Quarkus アプリケーションを作成する
このユニットでは、Quarkus アプリケーションの作成について説明します。
Azure コンテナ アプリ
Azure Container Apps は、Azure 上のフル マネージド のサーバーレス コンテナー サービスです。 これにより、オーケストレーションや Kubernetes などの複雑なインフラストラクチャの管理を気にせずに、コンテナー化されたアプリケーションを実行できます。 好みのプログラミング言語またはフレームワークを使用してコードを記述します。 (ここでは Java と Quarkus を使用しますが、何でも使用できます)。また、分散アプリケーション ランタイム (Dapr) を完全にサポートしてマイクロサービスを構築できます。 コンテナーは、Kubernetes Event-Driven 自動スケーリング (KEDA) を利用した HTTP トラフィックまたはイベントに基づいて動的にスケーリングされます。
Container Apps でそのロジックをホストし、そのデータベースを Azure PostgreSQL データベースでホストする Quarkus アプリケーションを作成する必要があります。
Azure Database for PostgreSQL(Azureが提供するPostgreSQLデータベース用のサービス)
Azure Database for PostgreSQL は、オープンソースの Postgres データベース エンジンに基づくリレーショナル データベース サービスです。 これは、予測可能なパフォーマンス、セキュリティの強化、高可用性、動的なスケーラビリティを備えたミッション クリティカルなワークロードを処理できる、フル マネージドのサービスとしてのデータベースです。
Quarkus
Quarkus は、OpenJDK HotSpot と GraalVM 用に調整された Kubernetes ネイティブ Java スタックです。 これは、最も優れた Java ライブラリと標準から作成されます。 Quarkus は、Java アプリケーションを記述するためのオープン ソース スタックです。 Quarkus はマイクロサービスに限定されるわけではありませんが、マイクロサービスに非常に適しています。
開発者の観点から見ると、Quarkus は優れた開発者エクスペリエンスを提供します。高速なライブ リロードと統合された構成が提供され、GraalVM の複雑さが隠され、ネイティブ実行可能ファイルを簡単に生成できます。 新しいプログラミング モデルを導入せずにすべて。 Quarkus を使用すると、既に知っている可能性がある標準ライブラリ (CDI、JPA、Bean Validation、JAX-RSなど) や多くの一般的なフレームワーク (Eclipse Vert.x や Apache Camel など) でエクスペリエンスを使用できます。
Quarkus アプリケーションを開発する
Quarkus は、アプリケーションを実行するための優れたフレームワークです。 特定の Quarkus 拡張機能を追加するだけで、ランタイムがすべて実行されます。 Dev Servicesにより、PostgreSQL データベースをローカルにインストールする必要はありません。 Dev Services では、Docker を使用して PostgreSQL データベースをダウンロードし、構成して起動します。
Quarkus フレームワークはセルフホステッドであり、アプリケーションを実行するためのサポート サービスを提供します。
Azure CLI と Maven を使用してリソースを作成する
Azure CLI を使用して、Azure リソースの作成と管理を行うことができます。 これは、Linux、macOS、Windows で動作します。 CLI を使用すると、管理者と開発者は、Web ブラウザーではなくターミナルまたはコマンド ライン プロンプト (またはスクリプト) を使用してコマンドを実行できます。
たとえば、サブスクリプションの詳細を取得するには、次のコマンドを使用できます。
az account show
このモジュールでは、Azure CLI を使用して、Container Apps 環境と Azure Database for PostgreSQL インスタンスを作成します。 Azure CLI には、ターミナルまたは Visual Studio Code からアクセスできます。 または、Azure Cloud Shellからアクセスすることもできます。 このブラウザー ベースのシェルは、クラウドでホストされています。 Cloud Shell では、Azure CLI は Azure サブスクリプションで使用するように構成されています。
Maven パッケージ マネージャーを使用して、プロジェクトをブートストラップします。 Maven には、Quarkus と Dev Services の依存関係も用意されており、Quarkus アプリケーションを開発して簡単にテストできます。
Docker を使用して、PostgreSQL データベースを使用してアプリケーションをローカルで実行およびテストします。