Diseña plantillas compuestas

Cuando quieras compilar aplicaciones complejas a partir de elementos básicos más pequeños y reutilizables, crea plantillas compuestas. Por ejemplo, puedes crear una plantilla compuesta que incluya varias plantillas de aplicación conectadas.

También puedes crear plantillas compuestas para modelar y empaquetar unidades de implementación para una oferta de SaaS que implementes con App Lifecycle Manager. Para obtener más información, consulta Unidades de implementación de modelos y paquetes.

Diseña plantillas compuestas agregando y conectando plantillas de aplicaciones estándar y componentes individuales. Este enfoque modular te ayuda a lograr lo siguiente:

  • Acelera el desarrollo: Arma apps complejas a partir de componentes básicos más pequeños. Puedes reutilizar cada plantilla de aplicación estándar en varias plantillas compuestas.
  • Habilita el desarrollo paralelo: Permite que los equipos modulares se especialicen en componentes básicos específicos. Por ejemplo, un equipo de bases de datos puede abordar el almacenamiento y el análisis de datos con una dependencia mínima del equipo de lógica de la aplicación.
  • Reducir el impacto de las vulnerabilidades: Los desarrolladores pueden actualizar o corregir un componente básico sin volver a implementar toda la aplicación.
  • Mejora la postura de seguridad: Restringe el acceso creando cuentas de servicio distintas para implementar cada componente básico. Asegúrate de que cada equipo solo tenga permisos para los componentes básicos que configure.

En este documento, se muestra cómo diseñar, verificar y compartir una plantilla compuesta.

Antes de comenzar

Debes tener uno de los siguientes roles en la carpeta habilitada para la app o en el proyecto de administración:

  • Administrador de App Design Center (roles/designcenter.admin)
  • Usuario de App Design Center (roles/designcenter.user)

Para usar tus propias plantillas de aplicaciones estándar como componentes básicos, establece variables de entrada y salida para establecer variables configurables, y crea conexiones entre tus plantillas de aplicaciones. Para obtener más información, consulta lo siguiente:

Crea una plantilla de aplicación compuesta

Crea plantillas compuestas cuando quieras diseñar y compartir aplicaciones complejas. Puedes agregar y conectar los siguientes elementos en el diseño de tu plantilla:

  • Plantillas de aplicación estándar: Selecciona una de las siguientes plantillas existentes:

  • Componentes: Selecciona uno de los siguientes Google Cloud recursos:

Especifica los detalles de la plantilla

Los detalles de la plantilla te ayudan a categorizarla y a que los desarrolladores decidan si usarla.

Para ingresar los detalles de tu plantilla, haz lo siguiente:

Lienzo de diseño

  1. En el menú de navegación, haz clic en Plantillas.

    Ir a Plantillas

  2. En la lista Create Template, selecciona Composite template.

  3. El campo ID de plantilla se completa automáticamente. También puedes ingresar un identificador único para la plantilla. Este campo es obligatorio.

  4. En el campo Nombre de la plantilla, ingresa un identificador legible por humanos para mostrar en la consola de Google Cloud .

    Si no proporcionas un nombre, el ID de plantilla se copiará en este campo.

  5. En el campo Descripción, ingresa una breve explicación del propósito de la aplicación.

  6. Haz clic en Crear Plantilla. Se muestra el lienzo de diseño.

gcloud CLI

Crea una nueva plantilla de aplicación compuesta.

gcloud design-center spaces application-templates create APPLICATION_TEMPLATE \
--project=PROJECT \
--location=LOCATION \
--space=SPACE \
--display-name=DISPLAY_NAME \
--description=DESCRIPTION \
--composition-type=COMPOSITE

Reemplaza lo siguiente:

  • APPLICATION_TEMPLATE: Es el ID de la plantilla de la aplicación que deseas crear.
  • PROJECT: Es el ID de tu proyecto de administración.
  • LOCATION: Es la región de la plantilla de la aplicación.
  • SPACE: ID de tu espacio.
  • DISPLAY_NAME: Es el nombre que se mostrará en la consola de Google Cloud .
  • DESCRIPTION: Es una descripción breve.

Para obtener más información, consulta gcloud design-center spaces application-templates create.

Diseña tu plantilla

Diseña tu plantilla compuesta agregando y conectando plantillas y componentes de aplicaciones estándar a los siguientes puntos de partida:

A medida que diseñas tu plantilla, App Design Center genera código de Terraform para reflejar los detalles de diseño y configuración.

Para diseñar tu plantilla, haz lo siguiente:

Lienzo de diseño

  1. En el lienzo de diseño, selecciona Diseño para ver el lienzo.

  2. Para comenzar, realiza una de las siguientes acciones:

    • Para comenzar con una plantilla proporcionada por Google, en el área Comenzar del lienzo, haz clic en el nombre de la plantilla.

    • Para comenzar desde un lienzo en blanco, continúa con el siguiente paso.

  3. Para agregar una plantilla de aplicación estándar al lienzo, haz lo siguiente:

    1. En el área Componentes, haz clic en Plantillas de incorporación.

    2. Para agregar una plantilla existente, haz clic en una de las siguientes listas:

      • Plantillas: Son plantillas de aplicaciones estándar que se encuentran en el catálogo de tu espacio o que se compartieron con tu espacio.
      • Plantillas de Google: Son plantillas de aplicaciones estándares creadas por Google y agregadas al catálogo de Google.
    3. Para agregar la plantilla seleccionada al lienzo, haz clic en Seleccionar.

  4. Para crear una plantilla de aplicación estándar nueva, haz clic en Crear una plantilla nueva. Se abrirá la página Crear plantilla nueva.

    Para obtener más información, consulta Diseña plantillas de aplicaciones estándar.

  5. Para agregar un componente al lienzo, haz clic en uno en el área Componentes.

  6. Para crear un canal de comunicación entre plantillas y componentes, haz una de las siguientes acciones:

    • Arrastra el cursor desde un punto azul de un componente básico hasta un punto azul de otro componente básico.

    • Para agregar un componente conectado a un componente existente, haz clic en Agregar y selecciona el componente que deseas agregar.

    Para obtener detalles de la conexión, consulta la documentación de configuración de cada recurso compatible.

  7. Para quitar un componente básico o una conexión, haz lo siguiente:

    1. En el lienzo, haz clic en el componente básico o la conexión.

    2. En el área Configuración, haz clic en Borrar.

    3. En el campo, ingresa delete.

    4. Haz clic en Borrar.

gcloud CLI

  1. Identifica los URIs de revisión de la plantilla para los componentes básicos del catálogo de tu espacio.

    gcloud design-center spaces shared-templates list \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE
    

    Reemplaza lo siguiente:

    • PROJECT: Es el ID de tu proyecto de administración.
    • LOCATION: Es la región de la plantilla de la aplicación.
    • SPACE: ID de tu espacio.

    Para obtener más información, consulta gcloud design-center spaces shared-templates list.

  2. Identifica los URIs de revisión de la plantilla para los componentes básicos del catálogo de Google que deseas agregar a la plantilla.

    gcloud design-center spaces shared-templates list \
    --google-catalog \
    --location=us-central1
    

    Para obtener más información, consulta gcloud design-center spaces shared-templates list.

  3. Agrega una plantilla o un componente de aplicación estándar a tu plantilla compuesta.

    gcloud design-center spaces application-templates components create COMPONENT \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE \
    --application-template=APPLICATION_TEMPLATE \
    --shared-template-revision-uri=SHARED_TEMPLATE_URI
    

    Reemplaza lo siguiente:

    • COMPONENT: Es el ID de la plantilla o el componente de la aplicación estándar que deseas agregar a la plantilla.
    • PROJECT: Es el ID de tu proyecto de administración.
    • LOCATION: Es la región de la plantilla de la aplicación.
    • SPACE: ID de tu espacio.
    • APPLICATION_TEMPLATE: Es el ID de la plantilla de la plantilla de aplicación compuesta en la que agregas la plantilla o el componente de aplicación estándar.
    • SHARED_TEMPLATE_URI: Es el URI de la plantilla de aplicación estándar o de la plantilla de componente compartida. Por ejemplo, projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1

    Para obtener más información, consulta gcloud design-center spaces application-templates components create.

  4. Agrega una segunda plantilla o componente de aplicación estándar a tu plantilla.

    gcloud design-center spaces application-templates components create COMPONENT_2 \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE \
    --application-template=APPLICATION_TEMPLATE \
    --shared-template-revision-uri=SHARED_TEMPLATE_URI_2
    

    Reemplaza lo siguiente:

    • COMPONENT_2: Es el ID de la segunda plantilla o componente de aplicación estándar que deseas agregar a la plantilla.
    • PROJECT: Es el ID de tu proyecto de administración.
    • LOCATION: Es la región de la plantilla de la aplicación.
    • SPACE: ID de tu espacio.
    • APPLICATION_TEMPLATE: Es el ID de la plantilla compuesta en la que agregas la plantilla o el componente de la aplicación estándar.
    • SHARED_TEMPLATE_URI_2: Es el URI de la segunda plantilla o componente estándar de la aplicación compartida. Por ejemplo, projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1

    Para obtener más información, consulta gcloud design-center spaces application-templates components create.

  5. Crea una conexión entre las plantillas o los componentes de la aplicación estándar.

    gcloud design-center spaces application-templates components connections create CONNECTION \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE \
    --application-template=APPLICATION_TEMPLATE \
    --component=COMPONENT \
    --destination-component-uri=COMPONENT_2
    

    Reemplaza lo siguiente:

    • CONNECTION: Es el ID de la conexión que deseas agregar a la plantilla.
    • PROJECT: Es el ID de tu proyecto de administración.
    • LOCATION: Es la región de la plantilla de la aplicación.
    • SPACE: ID de tu espacio.
    • APPLICATION_TEMPLATE: Es el ID de la plantilla de la aplicación en la que agregas la conexión.
    • COMPONENT: Es el ID de la plantilla o el componente de la aplicación estándar de origen.
    • COMPONENT_2: Es el ID de la plantilla o el componente de la aplicación estándar de destino.

    Para obtener más información, consulta gcloud design-center spaces application-templates components connections create.

Configura valores predeterminados para los componentes

Para cada componente que agregues a una plantilla, puedes especificar detalles de configuración predeterminados, como el proyecto del recurso y la ubicación de la implementación. App Design Center aplica estos valores predeterminados cuando se crea una aplicación a partir de esta plantilla.

Los desarrolladores de aplicaciones también pueden modificar los detalles de conexión si la configuración predeterminada no cumple con sus requisitos. Por ejemplo, puedes modificar los nombres de las claves de variable de entorno, cambiar los puertos de conexión o agregar funciones adicionales a las cuentas de servicio cuando creas una aplicación.

Antes de implementar una aplicación, los desarrolladores pueden ver y modificar los valores predeterminados que configuraste en la plantilla. Los desarrolladores deben configurar los detalles necesarios para cada recurso compatible.

Para configurar componentes y conexiones, haz lo siguiente:

Lienzo de diseño

  1. En el lienzo de diseño, haz clic en un componente.

  2. En el área Configuración, en la lista ID del proyecto, selecciona el proyecto en el que deseas implementar el recurso. Selecciona un proyecto que cumpla con los siguientes requisitos:

  3. Configura parámetros adicionales para el recurso. Por ejemplo, para Cloud SQL, puedes configurar lo siguiente:

    • Región
    • Configuración de las copias de seguridad
    • Marcas de la base de datos
    • Configuración de IP

    Para obtener vínculos a la documentación de configuración de cada componente, consulta Recursos compatibles.

  4. Cuando conectas componentes en el lienzo de diseño, se usan valores de configuración predeterminados para crear la conexión. Para agregar o modificar los detalles de conexión, haz lo siguiente.

    1. En el lienzo de diseño, haz clic en la conexión entre dos componentes. Se abrirá el panel Connection y se mostrarán los parámetros de conexión.

    2. Realiza una de las siguientes acciones:

      • Para modificar un parámetro de conexión existente, haz clic en Editar.

      • Para agregar un parámetro de conexión nuevo, haz clic en Agregar parámetro.

    3. Actualiza los campos Clave y Valor. Por ejemplo, es posible que desees modificar los siguientes detalles:

      • Nombres de claves de variables de entorno para alinearse con los requisitos de tu aplicación
      • Es el valor del puerto de conexión.
      • Son los roles que se agregaron a una cuenta de servicio.
  5. Haz clic en Guardar.

gcloud CLI

  1. Describe cada componente de la plantilla de la aplicación para ver los parámetros del componente.

    gcloud design-center spaces application-templates components describe COMPONENT \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE \
    --application-template=APPLICATION_TEMPLATE
    

    Reemplaza lo siguiente:

    • COMPONENT: ID del componente que deseas describir.
    • PROJECT: Es el ID de tu proyecto de administración.
    • LOCATION: Es la región de la plantilla de la aplicación.
    • SPACE: ID de tu espacio.
    • APPLICATION_TEMPLATE: Es el ID de la plantilla de la aplicación.

    Para obtener más información, consulta gcloud design-center spaces application-templates components describe.

  2. Para cada componente que desees modificar, crea un archivo JSON en tu directorio principal que contenga los valores de los parámetros.

    Por ejemplo, podrías crear el siguiente archivo para un componente de Cloud Run:

      [
          {
            "key": "service_name",
            "value": "frontend-service"
          },
          {
            "key": "project_id",
            "value": "DEPLOYMENT_PROJECT"
          }
      ]
    
  3. Actualiza cada componente de la plantilla de la aplicación para configurar los parámetros obligatorios.

    gcloud design-center spaces application-templates components update COMPONENT \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE \
    --parameters=PARAMETERS_FILE_PATH \
    --application-template=APPLICATION_TEMPLATE
    

    Reemplaza lo siguiente:

    • COMPONENT: ID del componente que deseas actualizar.
    • PROJECT: Es el ID de tu proyecto de administración.
    • LOCATION: Es la región de la plantilla de la aplicación.
    • SPACE: ID de tu espacio.
    • PARAMETERS_FILE_PATH: Es un archivo JSON que incluye parámetros de componentes.
    • APPLICATION_TEMPLATE: Es el ID de la plantilla de la aplicación.

    Para obtener más información, consulta gcloud design-center spaces application-templates components update.

  4. Describe las conexiones de los componentes.

    gcloud design-center spaces application-templates components connections describe CONNECTION \
    --component=COMPONENT \
    --application-template=APPLICATION_TEMPLATE \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE
    

    Reemplaza lo siguiente:

    • CONNECTION: El ID de la conexión.
    • COMPONENT: Es el ID del componente.
    • APPLICATION_TEMPLATE: Es el ID de la plantilla.
    • PROJECT: Es el ID de tu proyecto de administración.
    • LOCATION: Es la región de la plantilla de la aplicación.
    • SPACE: ID de tu espacio.

    Para obtener más información, consulta gcloud design-center spaces application-templates components connections describe.

  5. Edita los parámetros de conexión del componente.

    gcloud design-center spaces application-templates components connections update CONNECTION \
    --component=COMPONENT \
    --application-template=APPLICATION_TEMPLATE \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE \
    --source-component-parameters='[{"key": SOURCE_KEY, "value": SOURCE_VALUE}]'
    

    Reemplaza lo siguiente:

    • CONNECTION: El ID de la conexión.
    • COMPONENT: Es el ID del componente.
    • APPLICATION_TEMPLATE: Es el ID de la plantilla.
    • PROJECT: Es el ID de tu proyecto de administración.
    • LOCATION: Es la región de la plantilla de la aplicación.
    • SPACE: ID de tu espacio.
    • SOURCE_KEY: Es la nueva clave del parámetro.
    • SOURCE_VALUE: Es el nuevo valor del parámetro.

    Para obtener más información, consulta gcloud design-center spaces application-templates components connections update.

Configura plantillas de aplicaciones estándar

Cuando los desarrolladores implementan tu plantilla compuesta como una aplicación, se crea una aplicación para cada uno de los siguientes elementos:

  • Cada grupo de plantillas de aplicaciones estándar.
  • Cada grupo de componentes.

Puedes proporcionar valores predeterminados para cada grupo. Por ejemplo, puedes incluir el proyecto de implementación, la región y los propietarios. Cuando los desarrolladores implementan la aplicación en el Centro de diseño de aplicaciones, pueden usar los valores predeterminados o especificar sus propios detalles para cada aplicación.

Para proporcionar detalles predeterminados de la aplicación para cada grupo, haz lo siguiente:

Lienzo de diseño

  1. En el lienzo de diseño, haz clic en una plantilla de aplicación estándar.

    Se abrirá el panel Embedded Template.

  2. En el área Configuración, ingresa los detalles de la aplicación.

    Para obtener más información, consulta Cómo crear un borrador de la solicitud.

gcloud CLI

Para obtener más información, consulta Cómo diseñar tu plantilla.

Verifica tu plantilla

Antes de compartir tu plantilla compuesta con los desarrolladores, implementa y verifica tu plantilla en App Design Center. Este paso te ayuda a verificar la funcionalidad antes de una implementación a gran escala en varias máquinas.

Para verificar tu plantilla, haz lo siguiente:

  1. En el lienzo de diseño, haz clic en Continuar y selecciona Crear aplicación para implementar.

    Se abrirá el panel Crear una aplicación.

  2. En el área Detalles de la aplicación compuesta, ingresa los detalles de la aplicación.

    Para obtener más información, consulta Cómo crear un borrador de la solicitud.

  3. Haz clic en Siguiente.

  4. Para cada componente básico que agregaste a la plantilla compuesta, se creará una aplicación cuando realices la implementación. Configura cada aplicación y haz clic en Siguiente.

    Para obtener más información, consulta Cómo crear un borrador de la solicitud.

  5. Prueba la aplicación implementada para asegurarte de que cumpla con tus requisitos.

  6. Para evitar costos recurrentes, borra la implementación de prueba.

Crea una implementación a gran escala

Para implementar y administrar varias instancias de tu plantilla compuesta, usa App Lifecycle Manager.

  1. Verifica tu plantilla en App Design Center.

  2. En el lienzo de diseño, haz clic en Continuar y selecciona Realizar implementaciones a gran escala con App Lifecycle Manager.

    Se abrirá la página Unidades de App Lifecycle Manager.

  3. Para conocer los pasos de implementación, consulta Implementa una oferta de SaaS.

Cómo compartir tu plantilla

Para que tu plantilla esté disponible para los desarrolladores, puedes agregarla a un catálogo y compartirla. Cuando agregas una plantilla a un catálogo, esta queda disponible como fuente de aplicación en los espacios en los que se comparte el catálogo.

Para compartir la plantilla, haz lo siguiente:

  1. En el lienzo de diseño, haz clic en Agregar al catálogo.

  2. Para administrar los espacios en los que se comparte el catálogo, consulta Administra catálogos.

Revisa y vuelve a compartir tu plantilla

A medida que adquieras experiencia con tu aplicación y evolucionen las necesidades de tu empresa, es posible que desees actualizar tu plantilla. Por ejemplo, puedes decidir mejorar el rendimiento de un servicio de backend agregando un servicio de Memorystore para el almacenamiento en caché.

Cuando modificas una plantilla, creas una revisión de la plantilla. Para aplicar los cambios a las aplicaciones existentes, los desarrolladores deben implementar las aplicaciones con la revisión.

App Design Center no publica automáticamente las revisiones de plantillas en los catálogos. Para compartir la revisión más reciente, vuelve a publicar la plantilla en el catálogo.

Para crear una revisión nueva, haz lo siguiente:

  1. En el menú de navegación, haz clic en Plantillas.

    Ir a Plantillas

  2. Selecciona la plantilla de solicitud que deseas revisar. Se abrirá el lienzo.

  3. Modifica la plantilla para que se ajuste a tus nuevos requisitos. Por ejemplo, agregar y configurar un componente nuevo

  4. Para compartir la revisión más reciente con otros espacios, agrega la plantilla a tu catálogo nuevamente.

Borra una plantilla

Si ya no necesitas una plantilla, puedes borrarla.

Lienzo de diseño

  1. En el lienzo de diseño, haz clic en Acciones.
  2. Haz clic en Borrar.

gcloud CLI

Borra una plantilla de aplicación.

```sh
gcloud design-center spaces application-templates delete APPLICATION_TEMPLATE \
--project=PROJECT \
--location=LOCATION \
--space=SPACE
```

Reemplaza lo siguiente:

  • APPLICATION_TEMPLATE: Es el ID de la plantilla de la aplicación que deseas borrar.
  • PROJECT: Es el ID de tu proyecto de administración.
  • LOCATION: Es la región de la plantilla de la aplicación.
  • SPACE: ID de tu espacio.

Para obtener más información, consulta gcloud design-center spaces application-templates delete.

¿Qué sigue?