Si registras tus recursos de Google Cloud como servicios y cargas de trabajo en una aplicación de App Hub, podrás simplificar la gestión organizando los recursos en función de su finalidad empresarial. Este enfoque proporciona visibilidad, monitorización, gobernanza y control operativo unificados.
En esta guía se explica cómo agrupar recursos de Google Cloud que aún no se han definido formalmente como una aplicación.
Antes de empezar
Debes completar la configuración inicial de la gestión de aplicaciones antes de organizar los recursos en aplicaciones. Este proceso suele incluir los siguientes roles y pasos:
Para los administradores:
- Elige el modelo de configuración de la aplicación. Debes configurar un proyecto de gestión y definir un límite de gestión de aplicaciones que incluya los Google Cloud recursos que quieras organizar.
- Habilita las APIs necesarias para todos los recursos de Google Cloud que quieras usar.
- Concede acceso a los usuarios. Asigna los roles de gestión de identidades y accesos adecuados en función de las responsabilidades del usuario en el ciclo de vida de la aplicación.
Para desarrolladores y operadores:
- Confirma con tu administrador que se ha completado la configuración inicial.
- Asegúrate de que tienes los roles de gestión de identidades y accesos necesarios para las tareas que quieras realizar.
- Abre tu proyecto de gestión en la Google Cloud consola o busca el ID del proyecto de gestión para las interacciones de Terraform o de la CLI de Google Cloud.
Crear una aplicación
Crea una aplicación en App Hub para que actúe como contenedor lógico de tus recursos: Google Cloud
Consola
En la Google Cloud consola, usa el selector de proyectos para seleccionar tu proyecto de gestión.
Ve a la página Aplicaciones desde el Centro de aplicaciones:
Haz clic en Crear aplicación.
En la pestaña Detalles de la aplicación, selecciona la mejor ubicación para tu aplicación en función de tus requisitos de distribución geográfica:
- Selecciona Global para crear una aplicación global.
- Seleccione Regional para crear una aplicación regional. A continuación, selecciona la región específica de tu aplicación en función de las regiones admitidas por App Hub.
Para obtener más información sobre la mejor ubicación para tu aplicación, consulta Aplicaciones globales y regionales.
Escribe el nombre de la aplicación.
Este nombre es un identificador único que solo puede contener letras minúsculas, números o guiones. No podrás cambiar este nombre después de crear la aplicación.
Si quieres, añade un nombre visible y una descripción de la aplicación.
No son identificadores únicos y puedes cambiarlos después de crear la aplicación.
Haz clic en Continuar.
En la pestaña Recursos de la aplicación, busca los recursos de infraestructura y marca las casillas de los recursos que quieras registrar como servicios y cargas de trabajo de la aplicación.
Puedes seleccionar hasta 10 recursos a la vez.
Haz clic en Continuar.
En la pestaña Atributos y propietarios, puede añadir atributos a la aplicación, como la importancia, el entorno y los propietarios de la aplicación.
Puedes usar los mismos atributos y propietarios para los recursos que registres en la aplicación o definirlos más adelante.
Haz clic en Crear.
Cuando se crea la aplicación, en la página Aplicaciones se muestran sus detalles, incluidos los recursos que has registrado como servicios y cargas de trabajo. Después de crear la aplicación, puedes registrar más servicios y cargas de trabajo en ella.
gcloud
Usa la CLI de Google Cloud para crear una aplicación desde tu terminal o 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_EMAILSustituye
APPLICATION_NAMEpor el nombre de tu aplicación. Este nombre es un identificador único que solo puede contener letras minúsculas, números o guiones.Usa marcas opcionales, como
--criticality-type, para definir los atributos de nivel superior de la aplicación y facilitar la detección y la gobernanza.En el caso de las marcas obligatorias y opcionales, sustituya lo siguiente:
- Obligatorio:
PROJECT_ID, el ID del proyecto de gestión. Obligatorio:
LOCATION: la ubicación de tu aplicación en función de tus requisitos de distribución geográfica. Usa uno de los siguientes valores:REGIONALpara aplicaciones regionales.GLOBALpara aplicaciones globales.
Para obtener más información sobre la mejor ubicación para tu aplicación, consulta Aplicaciones globales y regionales.
Obligatorio:
REGION, la región específica de tu aplicación. Se debe utilizar uno de los valores indicados a continuación.- Si la
--scope-typeubicación de tu aplicaciónREGIONALesREGIONAL, especifica el nombre de una región admitida por App Hub. - Si la
--scope-typeubicación de tu aplicación está definida comoGLOBAL, usaglobal.
- Si la
Opcional:
DISPLAY_NAME: el nombre visible de tu aplicación. El nombre visible no es un identificador único y puedes cambiarlo después de crear la aplicación.Opcional:
CRITICALITY: el nivel de importancia de la aplicación para tus operaciones. Usa uno de los siguientes valores:MISSION_CRITICALHIGHMEDIUMLOW
Opcional:
ENVIRONMENT, la fase del ciclo de vida del software. Se debe utilizar uno de los valores indicados a continuación.PRODUCTIONSTAGINGDEVELOPMENTTEST
Opcional:
DEV_NAMEyDEV_EMAIL: el nombre visible y la dirección de correo del propietario del desarrollador, respectivamente.Opcional:
OPERATOR_NAMEyOPERATOR_EMAIL: el nombre visible y la dirección de correo del propietario del operador, respectivamente.Opcional:
BUSINESS_NAMEyBUSINESS_EMAIL: el nombre visible y la dirección de correo del propietario de la empresa, respectivamente.
- Obligatorio:
Lista las aplicaciones de tu proyecto:
gcloud apphub applications list \ --project=PROJECT_ID \ --location=REGIONDebes obtener un resultado similar al siguiente:
ID DISPLAY_NAME CREATE_TIME APPLICATION_NAME DISPLAY_NAME 2023-10-31T18:33:48
Terraform
Para crear una aplicación con Terraform, usa el recurso google_apphub_application.
Este recurso te permite definir las propiedades de la aplicación, como su nombre, ubicación y atributos.
En el siguiente ejemplo se crea una aplicación regional en us-central1 con atributos de importancia, entorno y propietario definidos:
resource "google_apphub_application" "example" {
project = "my-project-id"
location = "us-central1"
application_id = "my-application"
display_name = "My Application"
description = "This application represents our platform."
scope {
type = "REGIONAL"
}
attributes {
criticality {
type = "MISSION_CRITICAL"
}
environment {
type = "PRODUCTION"
}
business_owners {
display_name = "Alice"
email = "alice@example.com"
}
developer_owners {
display_name = "Bob"
email = "bob@example.com"
}
operator_owners {
display_name = "Charlie"
email = "charlie@example.com"
}
}
}
Registrar servicios y cargas de trabajo
App Hub te permite seleccionar recursos admitidos ubicados dentro del límite de gestión de tu aplicación para registrarlos como servicios y cargas de trabajo. Después de crear una aplicación, puedes registrar Google Cloud recursos como servicios y cargas de trabajo en ella.
Solo puedes registrar servicios exclusivos en una aplicación. Sin embargo, los servicios compartidos se pueden registrar en más de una aplicación. App Hub detectará los servicios compartidos cuando los registres en una aplicación, aunque ya estén registrados en otra aplicación, pero es posible que no puedas modificar sus atributos.
Consola
Después de crear una aplicación, puedes registrar varios recursos en ella:
En la Google Cloud consola, usa el selector de proyectos para seleccionar tu proyecto de gestión.
Ve a la página Aplicaciones desde el Centro de aplicaciones:
Haga clic en el nombre de la aplicación para la que quiera registrar recursos.Google Cloud
En la página de la aplicación, seleccione la pestaña Servicios y cargas de trabajo.
Haz clic en Registrar servicios o cargas de trabajo.
En la pestaña Servicios y cargas de trabajo, busque los recursos de infraestructura y marque las casillas de los recursos que quiera registrar como servicios o cargas de trabajo de la aplicación.
Puedes seleccionar hasta 10 recursos a la vez.
Haz clic en Continuar.
En la pestaña Atributos y propietarios, puedes añadir atributos a estos recursos, como la importancia, el entorno y los propietarios de los recursos.
Puede usar los mismos atributos y propietarios que en la aplicación o definir otros atributos más adelante.
Haz clic en Registrarse.
La pestaña Servicios y cargas de trabajo muestra todos los servicios y cargas de trabajo registrados de la aplicación.
gcloud
App Hub te permite seleccionar recursos admitidos ubicados dentro del límite de gestión de tu aplicación como servicios o cargas de trabajo. Usa la CLI de Google Cloud para enumerar los servicios o las cargas de trabajo que puedes registrar en la aplicación desde tu terminal o Cloud Shell. Los comandos son ligeramente diferentes para los servicios y las cargas de trabajo:
Registrar servicios
Muestra los servicios disponibles a los que puedes registrar una aplicación:
gcloud apphub discovered-services list \ --project=PROJECT_ID \ --location=REGION \ --filter=FILTER_EXPRESSIONEn el caso de las marcas obligatorias y opcionales, sustituya lo siguiente:
- Obligatorio:
PROJECT_ID, el ID del proyecto de gestión. Obligatorio:
REGION: la región específica de tu servicio en función de tu distribución geográfica. Usa uno de los siguientes valores:- Si el servicio es regional, especifica el nombre de la región admitida por App Hub.
- Si el servicio es global, usa
global.
Opcional:
FILTER_EXPRESSION: la expresión de filtro de la marca--filterpara mostrar solo los servicios de un proyecto específico dentro del límite de gestión de aplicaciones o con una propiedad específica. Por ejemplo:service_properties.gcp_project=projects/PROJECT_IDservice_properties.gcp_project=projects/PROJECT_ID AND service_reference.uri~"forwardingRules"
La salida es similar al siguiente ejemplo:
ID SERVICE_REFERENCE SERVICE_PROPERTIES SERVICE_ID {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/forwardingRules/forwarding-rule'} {'gcpProject': 'projects/PROJECT_ID', 'location': 'REGION'}- Obligatorio:
Copia el ID de servicio,
SERVICE_ID, de la salida.Registra el servicio en tu aplicación:
gcloud apphub applications services create SERVICE_NAME \ --project=PROJECT_ID \ --location=REGION \ --application=APPLICATION_NAME \ --discovered-service=projects/PROJECT_ID/locations/REGION/discoveredServices/SERVICE_ID \ --display-name=SERVICE_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_EMAILSustituye
SERVICE_NAMEpor el nombre que quieras usar para registrar el servicio en la aplicación.Usa marcas opcionales, como
--criticality-type, para definir los atributos de nivel superior del servicio y facilitar la detección y la gobernanza.En el caso de las marcas obligatorias y opcionales, sustituya lo siguiente:
- Obligatorio:
PROJECT_ID, el ID del proyecto de gestión. Obligatorio:
REGION: la región específica de tu servicio en función de tu distribución geográfica. Usa uno de los siguientes valores:- Si el servicio es regional, especifica el nombre de la región admitida por App Hub.
- Si el servicio es global, usa
global.
Obligatorio:
APPLICATION_NAME, el nombre de la aplicación para la que quieres registrar el servicio.Obligatorio:
SERVICE_ID, el ID de servicio que has copiado del resultado anterior.Opcional:
SERVICE_DISPLAY_NAME: el nombre visible de tu servicio.Opcional:
CRITICALITY: la importancia del servicio para tus operaciones. Se debe utilizar uno de los siguientes valores:MISSION_CRITICALHIGHMEDIUMLOW
Opcional:
ENVIRONMENT, la fase del ciclo de vida del software. Se debe utilizar uno de los valores indicados a continuación.PRODUCTIONSTAGINGDEVELOPMENTTEST
Opcional:
DEV_NAMEyDEV_EMAIL: el nombre visible y la dirección de correo del propietario del desarrollador, respectivamente.Opcional:
OPERATOR_NAMEyOPERATOR_EMAIL: el nombre visible y la dirección de correo del propietario del operador, respectivamente.Opcional:
BUSINESS_NAMEyBUSINESS_EMAIL: el nombre visible y la dirección de correo del propietario de la empresa, respectivamente.
- Obligatorio:
Muestra los servicios registrados en tu aplicación:
gcloud apphub applications services list \ --application=APPLICATION_NAME --project=PROJECT_ID \ --location=REGIONDebes obtener un resultado similar al siguiente para cada servicio registrado:
ID DISPLAY_NAME SERVICE_REFERENCE CREATE_TIME SERVICE_NAME SERVICE_DISPLAY_NAME {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/forwardingRules/forwarding-rule'} 2023-11-01T21:38:08