Design and deploy an application with Gemini assistance

This document shows you how to design and deploy an application by using Gemini Cloud Assist along with Application Design Center, an application design and deployment service in Google Cloud.

When you use natural language assistance in Gemini Cloud Assist chat along with Application Design Center, you can accelerate your application development time. This combination lets you translate your application requirements and goals into Terraform infrastructure as code (IaC), which you can then deploy in a built-in or personal deployment pipeline. In this way, Application Design Center offers an end-to-end assisted solution that lets you author, customize, export, and deploy applications.

Before you begin

Access Gemini Cloud Assist chat

If Gemini Cloud Assist is set up for your project, you can access its chat capabilities from any page in the Google Cloud console.

  1. In the Google Cloud console, go to any page—for example, the Dashboard.

    Go to Dashboard

  2. In the Google Cloud console toolbar, click spark Open or close Gemini AI chat.

    The Cloud Assist pane opens and displays a few example prompts that you can click. The prompts vary depending on your current Google Cloud console page.

Design your application infrastructure with Gemini assistance

In Gemini Cloud Assist chat, you can get assistance by using natural language prompts (questions or statements) such as the following:

  • Product-oriented prompts—for example, "Help me set up Cloud Run, Cloud SQL, and a Load Balancer together in region eu-west-2."
  • Business outcome-oriented prompts—for example, "I need a data pipeline solution to process async events."

In these examples, Gemini Cloud Assist responds with designs and a suggested application architecture that adhere to Google Cloud best practices and available products. It also provides the purpose of each product in the stack.

If your natural language prompt pertains to a supported resource type, the chat response might include an initial architecture diagram that's based on your initial prompt.

Basic natural language design prompts

If you're exploring Gemini Cloud Assist design capabilities or are at an early phase of design, you can use basic design-related prompts such as the following:

  • "I need to process short-lived, event-based actions triggered from other systems for data pipeline automation."
  • "Set up a batch pipeline."
  • "Help me set up jobs that periodically run on datasets."
  • "Help me implement a high availability web application with a Java backend and a MySQL database. Traffic will be bursty so make sure it scales up and down fast."

Detailed natural language design prompts

The more detailed initial information that you give Gemini Cloud Assist, the more likely it is to produce an initial application template that's better aligned to your design goals. For example, you might enter the following in Gemini Cloud Assist chat:

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.

Enter a prompt

  1. In Gemini Cloud Assist chat, enter a basic or detailed natural language prompt—for example, Help me set up Cloud Run, Cloud SQL, and a Load Balancer together in region eu-west-2.

    The response returns application templates, an explanation, and suggested default configurations along with a link to go directly to the App Design Center.

  2. Optional: Expand the template to view its details and additional change management review capabilities.

  3. Review the architecture diagram and reasoning explanation to decide what, if anything, to change. Further refine the architecture through multi-turn natural language design improvements.

  4. If you're satisfied with the application design that Gemini Cloud Assist provides or want to continue designing in fullscreen view, click Continue in Application Design Center to create a new application template.

Refine the architecture with Gemini recommendations

You can adjust the application template to suit your needs by using multi-turn chat. With multi-turn chat, you send follow-up natural language prompts that further refine the results you seek.

For example, in the following steps, you change the deployment region and set up database replication across regions using multi-turn chat. At each step, an updated application template is returned in the chat response.

  1. In Gemini Cloud Assist chat, enter the prompt Choose us-central1 as the deployment region and set up cross region replication for all DB instances to us-west1 region.

    The response includes the changes, including a description of the configuration and other design values that are changed. The response also returns a new application template design. For example, in Configurations, it shows that the region was updated from us-east1 to us-central1.

  2. Further refine the design: enter the prompt create a new microservice called "cart service" with a database layer.

    The response includes configuration changes that are based on your prompt, along with an explanation for the changes.

To design in fullscreen or create a new application template, click Continue in Application Design Center at any time.

Create a new application template

  1. In Gemini Cloud Assist chat, click Continue in Application Design Center.

  2. On the Create a new template page, specify the template details, and then click Create template.

    The application design is imported as a template, which you can then further edit in the canvas.

After you have the template that you like, you can deploy your application infrastructure.

Deploy your application infrastructure

After you settle on an application design, you can deploy your application infrastructure.

  1. Create an application instance from an application template.

  2. Deploy the application using one of the following methods:

What's next