Gemini の支援機能を使用してアプリケーションを設計してデプロイする

このドキュメントでは、Gemini Cloud Assist と、Google Cloudのアプリケーション設計とデプロイのサービスである Application Design Center を使用して、アプリケーションを設計してデプロイする方法について説明します。

Gemini Cloud Assist チャットで自然言語アシスタントを使用し、Application Design Center と併用すると、アプリケーション開発時間を短縮できます。この組み合わせにより、アプリケーションの要件と目標を Terraform Infrastructure as Code(IaC)に変換し、組み込みまたは個人のデプロイ パイプラインでデプロイできます。このように、Application Design Center は、アプリケーションの作成、カスタマイズ、エクスポート、デプロイを可能にするエンドツーエンドの支援ソリューションを提供します。

始める前に

Gemini Cloud Assist チャットにアクセスする

プロジェクトに Gemini Cloud Assist が設定されている場合は、Google Cloud コンソールの任意のページからチャット機能にアクセスできます。

  1. Google Cloud コンソールで、任意のページ([ダッシュボード] など)に移動します。

    ダッシュボードに移動

  2. Google Cloud コンソールのツールバーで、[spark Gemini AI チャットを開くか、閉じます] をクリックします。

    [Cloud Assist] ペインが開き、クリックできるプロンプトの例が表示されます。プロンプトは、現在の Google Cloud コンソール ページによって異なります。

Gemini の支援機能を使用してアプリケーション インフラストラクチャを設計する

Gemini Cloud Assist チャットでは、次のような自然言語プロンプト(質問やステートメント)を使用してサポートを利用できます。

  • プロダクト指向のプロンプト(例: 「リージョン eu-west-2 で Cloud Run、Cloud SQL、ロードバランサを一緒に設定したい」)。
  • ビジネス成果重視のプロンプト(「非同期イベントを処理するデータ パイプライン ソリューションが必要です」など)。

これらの例では、Gemini Cloud Assist は、 Google Cloud ベスト プラクティスと利用可能なプロダクトに準拠した設計と推奨されるアプリケーション アーキテクチャで応答します。また、スタック内の各プロダクトの目的も示します。

自然言語プロンプトがサポートされているリソースタイプに関連している場合、チャット レスポンスには、最初のプロンプトに基づく最初のアーキテクチャ図が含まれることがあります。

基本的な自然言語による設計プロンプト

Gemini Cloud Assist の設計機能を検討している場合や、設計の初期段階にある場合は、次のような基本的な設計関連のプロンプトを使用できます。

  • 「データ パイプラインの自動化のために、他のシステムからトリガーされる短期間のイベントベースのアクションを処理する必要があります。」
  • 「バッチ パイプラインを設定する。」
  • 「データセットで定期的に実行されるジョブを設定したい。」
  • 「Java バックエンドと MySQL データベースを使用して高可用性ウェブ アプリケーションを実装したいのですが、トラフィックはバースト状になるため、迅速にスケールアップとスケールダウンを行う必要があります。」

詳細な自然言語設計プロンプト

Gemini Cloud Assist に提供する初期情報が詳細であれば、設計目標に沿った初期アプリケーション テンプレートを生成できる可能性が高くなります。たとえば、Gemini Cloud Assist チャットに次のように入力します。

Help me create an application with 3 microservices called search, order, and
inventory in acme-project1 and us-west1 region.

I also want a frontend microservice which is exposed via an external load
balancer. The frontend layer invokes the three microservices. Order and
inventory microservices need to have a database with the same name as the
microservice.

Also include a cache to improve performance.

For the inventory microservice, capture the changelog events and publish
them to a Pub/Sub topic. Create a realtime consumer to read those events and
write the data to a data warehouse.

The search microservice should use a distributed search and analytics backend. I
also want the inventory microservice to publish the changelog events to the
distributed search backend.

プロンプトを入力

  1. Gemini Cloud Assist チャットで、基本的なまたは詳細な自然言語プロンプトを入力します(例: Help me set up Cloud Run, Cloud SQL, and a Load Balancer together in region eu-west-2.)。

    レスポンスには、アプリケーション テンプレート、説明、推奨されるデフォルト構成が返され、App Design Center に直接移動するためのリンクも返されます。

  2. 省略可: テンプレートを展開して、詳細とその他の変更管理の確認機能を表示します。

  3. アーキテクチャ図と推論の説明を確認して、変更する必要があるかどうかを判断します。マルチターンの自然言語設計の改善により、アーキテクチャをさらに改良します。

  4. Gemini Cloud Assist が提供するアプリのデザインに満足している場合や、全画面表示でデザインを続ける場合は、[App Design Center で続行] をクリックして新しいアプリ テンプレートを作成します。

Gemini の推奨事項を使用してアーキテクチャを改良する

マルチターン チャットを使用すると、アプリケーション テンプレートをニーズに合わせて調整できます。マルチターン チャットでは、検索結果をさらに絞り込むフォローアップの自然言語プロンプトを送信します。

たとえば、次の手順では、デプロイ リージョンを変更し、マルチターン チャットを使用してリージョン間でデータベース レプリケーションを設定します。各ステップで、更新されたアプリケーション テンプレートがチャット レスポンスで返されます。

  1. Gemini Cloud Assist チャットにプロンプト Choose us-central1 as the deployment region and set up cross region replication for all DB instances to us-west1 region を入力します。

    レスポンスには、変更内容(構成の説明や変更されたその他の設計値など)が含まれます。レスポンスには、新しいアプリケーション テンプレートのデザインも返されます。たとえば、[構成] には、リージョンが us-east1 から us-central1 に更新されたことが示されます。

  2. 設計をさらに絞り込む: プロンプト create a new microservice called "cart service" with a database layer を入力します。

    レスポンスには、プロンプトに基づく構成変更と、変更の説明が含まれます。

全画面で設計する場合や新しいアプリケーション テンプレートを作成する場合は、いつでも [Application Design Center で続行] をクリックします。

新しいアプリケーション テンプレートを作成する

  1. Gemini Cloud Assist チャットで、[Application Design Center で続行] をクリックします。

  2. [新しいテンプレートを作成] ページで、テンプレートの詳細を指定し、[テンプレートを作成] をクリックします。

    アプリケーション設計はテンプレートとしてインポートされ、キャンバスでさらに編集できます。

適切なテンプレートを選択したら、アプリケーション インフラストラクチャをデプロイできます。

アプリケーション インフラストラクチャをデプロイする

アプリケーション設計を決定したら、アプリケーション インフラストラクチャをデプロイできます。

  1. アプリケーション テンプレートからアプリケーション インスタンスを作成します。

  2. 次のいずれかの方法でアプリケーションをデプロイします。

次のステップ