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 を使用して設計を支援する手順は通常次のとおりです。

  1. [Cloud Assist] チャットパネルにアクセスします
  2. プロンプトを入力します。
  3. Gemini Cloud Assist の回答を確認します
  4. 新しいアプリケーション テンプレートを作成する
  5. アプリケーション設計を反復して改良する
  6. アプリケーション インフラストラクチャをデプロイする

始める前に

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

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

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

    ダッシュボードに移動

  2. Google Cloud コンソールのツールバーで、[spark Gemini Cloud Assist チャットを開始または終了します] をクリックします。

    [Cloud Assist] パネルが開きます。

アプリケーション テンプレートに精通している場合は、 Google Cloud コンソールの Application Design Center に移動してテンプレートを作成し、Gemini Cloud Assist チャットを開きます。

プロンプトを入力

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

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

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

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

これらの例では、Gemini Cloud Assist は、 Google Cloud のベスト プラクティスに準拠し、サポートされているリソースタイプに適用される推奨されるアプリケーション アーキテクチャで応答します。また、スタック内の各リソースの目的も示します。

Gemini Cloud Assist の回答を確認する

Gemini Cloud Assist の回答を確認する方法は、Application Design Center テンプレートが開いているかどうかによって異なります。

Cloud Assist パネルから開始し、Application Design Center でアプリケーション テンプレートを開いている場合、レスポンスには、プロンプトに基づいてスタック内の各プロダクトの目的を説明する説明が表示されます。提案された更新や変更は、App Design Center キャンバスに表示されるアプリ設計に直接適用されます。

Cloud Assist パネルから開始したが、Application Design Center テンプレートの外部にある場合、レスポンスには初期アーキテクチャ図と、推奨されるスタック内の各コンポーネントの目的に関する詳細な説明が含まれます。

[Edit App Design] をクリックして Application Design Center に移動します。ここで、新しいアプリケーション テンプレートを作成する必要があります。テンプレートが作成されると、生成されたアプリケーション設計が Application Design Center キャンバスに読み込まれ、アプリケーション設計をさらに反復して調整できます。

App Design Center にアクセスできない場合は、[Edit App Design] をクリックすると、App Design Center でデザインがプレビュー モードで起動します。プレビュー モードでは、Gemini によって生成されたアプリケーション設計を可視化し、[Cloud Assist] パネルで自然言語による操作を使用して改良できます。アプリケーション設計に問題がなければ、[コードを取得] をクリックして Terraform 構成をダウンロードします。この Terraform コードをデプロイ ツールで使用して、インフラストラクチャをプロビジョニングできます。

App Design Center キャンバスで反復処理を行う

キャンバス環境内では、Gemini Cloud Assist が設計のコンテキストを保持します。つまり、アーキテクチャを手動で変更しても、Gemini はこれらの変更を認識するため、Gemini の支援を受けながらアプリケーションの反復処理と改良を継続できます。

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

  1. Gemini Cloud Assist チャットで、[Edit App Design] をクリックします。

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

    アプリケーション設計はテンプレートとしてインポートされ、キャンバスでさらに反復処理と編集を行うことができます。

適切なテンプレートを選択したら、アプリケーション設計を反復して改良するか、アプリケーション インフラストラクチャをデプロイできます。

アプリケーション設計を反復して改良する

Gemini Cloud Assist に提供する初期情報が詳細であるほど、設計目標に沿った初期アプリケーション テンプレートを生成できる可能性が高くなります。複数のプロンプトと会話のターンで各サブシステムとその要件を定義することで、設計を反復的に構築できます。たとえば、Gemini Cloud Assist チャットに次のように入力します。

Help me create an application with 3 microservices called search, order, and
inventory in europe-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.

次に、ログ要件の定義など、マイクロサービスをさらに調整します。

For the inventory microservice, capture the changelog events and publish
them to a Pub/Sub topic.

次に、バックエンド要件の定義など、マイクロサービスをさらに絞り込みます。

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. アプリケーション テンプレートからアプリケーション インスタンスを作成します。

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

次のステップ