Registering your existing Google Cloud resources as services and workloads in an App Hub application lets you simplify management by organizing resources based on their business purpose. This approach provides unified visibility, monitoring, governance, and operational control.
This guide shows you how to group existing Google Cloud resources that are not yet formally defined as an application.
Before you begin
You must complete the initial setup for application management before organizing resources into applications. This process typically involves the following roles and steps:
For administrators:
- Choose your application setup model. You must configure a management project and define an application management boundary that includes the Google Cloud resources you want to organize.
- Enable required APIs for all Google Cloud resources you intend to use.
- Grant access to users. Assign appropriate IAM roles based on user's responsibilities in the application lifecycle.
For developers and operators:
- Confirm with your administrator that the initial setup is finalized.
- Make sure you have the necessary IAM roles for the tasks you want to perform.
- Open your management project in the Google Cloud console or find the project ID of the management project for Terraform or Google Cloud CLI interactions.
Create an application
Create an application in App Hub to act as a logical container for your existing Google Cloud resources:
Console
In the Google Cloud console, use the project picker to select your management project.
Go to the Applications page from App Hub:
Click Create application.
In the Application details tab, select the best location for your application based on your geographic distribution requirements:
- Select Global to create a global application.
- Select Regional to create a regional application. Then, select the specific region for your application based on App Hub supported regions.
For more information about the best location for your application, see Global and regional applications.
Enter a name for your application.
This name is a unique identifier that can only contain lowercase letters, numbers, or hyphens. You can't change this name after you create the application.
Optionally, add a display name and a description for the application.
These are not unique identifiers, and you can change them after you create the application.
Click Continue.
In the Application resources tab, browse through infrastructure resources and select the checkboxes of the resources you want to register as services and workloads of the application.
You can select up to 10 resources at a time.
Click Continue.
In the Attributes and owners tab, you can add attributes for the application, such as criticality, environment, and application owners.
You can choose to use the same attributes and owners for the resources you are registering to the application or define those later.
Click Create.
When the application is created, the Applications page displays its details, including the resources you registered as services and workloads. After creating the application, you can register more services and workloads to it.
gcloud
Use Google Cloud CLI to create an application from your terminal or Cloud Shell:
gcloud apphub applications create APPLICATION_NAME \ --project=PROJECT_ID \ --scope-type=LOCATION \ --location=REGION \ --display-name=DISPLAY_NAME \ --criticality-type=CRITICALITY \ --environment-type=ENVIRONMENT \ --developer-owners=display-name=DEV_NAME,email=DEV_EMAIL \ --operator-owners=display-name=OPERATOR_NAME,email=OPERATOR_EMAIL \ --business-owners=display-name=BUSINESS_NAME,email=BUSINESS_EMAILReplace
APPLICATION_NAMEwith the name of your application. This name is a unique identifier that can only contain lowercase letters, numbers, or hyphens.Use optional flags such as
--criticality-typeto define the application's top-level attributes and support discoverability and governance.For required and optional flags, replace the following:
- Required:
PROJECT_ID: the ID of the management project. Required:
LOCATION: the location for your application based on your geographic distribution requirements. Use one of the following values:REGIONALfor regional applications.GLOBALfor global applications.
For more information about the best location for your application, see Global and regional applications.
Required:
REGION: the specific region for your application. Use one of the following values:- If the
--scope-typelocation for your application is set toREGIONAL, specify an App Hub supported region name. - If the
--scope-typelocation for your application is set toGLOBAL, useglobal.
- If the
Optional:
DISPLAY_NAME: the display name of your application. The display name is not a unique identifier and you can change it after you create the application.Optional:
CRITICALITY: the importance level of the application for your operations. Use one of the following values:MISSION_CRITICALHIGHMEDIUMLOW
Optional:
ENVIRONMENT: the stage of the software lifecycle. Use one of the following values:PRODUCTIONSTAGINGDEVELOPMENTTEST
Optional:
DEV_NAMEandDEV_EMAIL: the display name and email address of the developer owner, respectively.Optional:
OPERATOR_NAMEandOPERATOR_EMAIL: the display name and email address of the operator owner, respectively.Optional:
BUSINESS_NAMEandBUSINESS_EMAIL: the display name and email address of the business owner, respectively.
- Required: