サンプル アプリの概要

注意

毎月最初の 50 vCPU 時間と 100 GB 時間のメモリは無料です。 詳細については、Apps on Azure ブログの「価格の引き下げ - Azure Spring Apps はより多く、より低コスト」を参照 してください。

注意

Azure Spring Apps は、Azure Spring Cloud サービスの新しい名前です。 サービスの名前は新しくなりましたが、スクリーンショット、ビデオ、図などの資産の更新に取り組んでいる間、場所によってはしばらく古い名前が表示されます。

この記事の適用対象: ✔️ Basic または Standard ✔️ Enterprise

このクイックスタートでは、よく知られたサンプル アプリである PetClinic を使用して、Azure Spring Apps サービスにアプリをデプロイする方法を説明します。 PetClinic サンプルは、マイクロサービス アーキテクチャ パターンを示し、サービスの内訳を明確に示しています。 サービス検出、構成サーバー、ログ、メトリック、分散トレース、開発者フレンドリなツールのサポートなど、Azure Spring Apps の機能を使用して、サービスを Azure にデプロイする方法を確認します。

Azure Spring Apps のデプロイの例を使用するには、ソース コードの場所だけが必要です。これは、必要に応じて提供されます。

次の図は、PetClinic アプリケーションのアーキテクチャを示しています。

Diagram that shows the architecture of the PetClinic app.

Note

アプリケーションが Azure Spring Apps Enterprise プランでホストされている場合、アプリケーションにコード変更を加えることなく、マネージド Application Configuration Service for VMware Tanzu は Spring Cloud 構成サーバーの役割を担い、マネージド VMware Tanzu Service Registry は Eureka サービス検出の役割を担います。 詳細については、この記事で後述する「Azure Spring Apps でホストされるインフラストラクチャ サービス」セクションを参照してください。

デプロイされる機能サービス

PetClinic は、4 つのコア Spring アプリに分解されます。 これらのすべては、個別にデプロイできるアプリケーションであり、ビジネス ドメイン別に整理されています。

  • 顧客サービス: 一般的なユーザー入力ロジックと検証が含まれています。ペットと飼い主の情報 (名前、住所、市区町村、電話番号) が含まれます。
  • 訪問サービス: 各ペットのコメントの訪問情報を保存および表示します。
  • 獣医サービス: 名前や専門分野など、獣医の情報を保存および表示します。
  • API ゲートウェイ: API ゲートウェイは、システムへの単一のエントリ ポイントです。要求を処理し、適切なサービスにルーティングしたり、複数のサービスを呼び出し、結果を集計したりするために使用されます。 3 つのコア サービスは、外部 API をクライアントに公開します。 実際のシステムでは、システムの複雑さによって関数の数が急速に増加する可能性があります。 1 つの複雑な Web ページのレンダリングには、数百のサービスが関係していることがあります。

Azure Spring Apps でホストされるインフラストラクチャ サービス

コア サービスを支援するために、分散システムにはいくつかの一般的なパターンがあります。 Azure Spring Apps には、Spring Boot アプリケーションを拡張して次のパターンを実装するツールが用意されています。

  • Application Configuration Service for Tanzu: Application Configuration Service for Tanzu は、商用 VMware Tanzu コンポーネントの 1 つです。 これにより、1 つまたは複数の Git リポジトリで定義されたプロパティから設定された Kubernetes ネイティブな ConfigMap リソースを管理できるようになります。
  • Tanzu Service Registry: Tanzu Service Registry は、商用 VMware Tanzu コンポーネントの 1 つです。 これにより、Spring ベースのアーキテクチャの主要な考え方の 1 つであるサービス検出パターンの実装がアプリに提供されます。 Service Registry を使用すると、登録済みサービスをアプリで動的に検出して呼び出すことができます。

データベース構成

PetClinic の既定の構成では、起動時にデータが入力されるメモリ内データベース (HSQLDB) が使用されます。 永続的なデータベース構成が必要な場合は、MySQL 用に同様のセットアップが提供されます。 MySQL JDBC ドライバーである Connector/J の依存関係は、pom.xml ファイルに既に含まれています。

PetClinic の使用例

完全な実装の詳細については、PetClinic のフォークを参照してください。 このサンプルでは、必要に応じてソース コードを参照します。

次のステップ