Optimize an application with design recommendations

Continuously improving your App Hub applications is key to meeting operational and business goals. Application insights and assistance services, such as Cloud Hub and Gemini Cloud Assist, help you identify optimization opportunities. For example, you might receive recommendations to resize underutilized virtual machines or configure Cloud CDN to reduce latency and cost.

This guide shows you how to analyze an existing application and then use Application Design Center to implement architectural changes.

Before you begin

This document assumes you have set up a folder-level application management boundary for your applications. Application Design Center, Cloud Hub, and Gemini Cloud Assist require this boundary type.

You must complete the following steps before using application insights and assistance services:

Analyze the application for optimization opportunities

Use Cloud Hub and Gemini Cloud Assist to get a consolidated view of your application's operational data and receive recommendations:

  1. In the Google Cloud console, use the project picker to select your management project.
  2. Navigate to the Home page from Cloud Hub:

    Go to Home

  3. Select your application to view its integrated dashboard.

  4. Review incidents, alerts, performance metrics, and cost trends. For more information, see Application views and project views.

  5. Optionally, use the Gemini Cloud Assist panel to ask for optimization recommendations using natural language prompts, for example:

    • Give me recommendations to optimize my application.
    • Show me the most expensive resources with the lowest utilization for this application.

    Gemini Cloud Assist provides recommendations, such as resizing underutilized machine types or enabling a Cloud CDN.

Evolve the application architecture

After identifying an optimization, use Application Design Center to model and deploy the improved architecture:

Deploy the optimized application architecture. This process might involve updating an existing deployment or creating a new one, depending on the nature of the changes.