Ejecuta trabajos de análisis en Cloud Deploy

Cloud Deploy te permite analizar el rendimiento de tus aplicaciones implementadas con la plataforma de supervisión y las métricas que elijas. Luego, puedes usar los resultados de estos análisis para tomar medidas, como revertir automáticamente la implementación.

Cloud Deploy admite Google Cloud Observability y se puede extender para admitir otras plataformas de supervisión, como Datadog o Prometheus.

Si bien Cloud Deploy ofrece la verificación de la implementación, que puedes usar para ejecutar contenedores arbitrarios y validar una implementación, el análisis te permite usar datos de telemetría de Google Cloud Observability o el servicio de supervisión que elijas para evaluar el rendimiento de tus aplicaciones a lo largo del tiempo.

Puedes ejecutar trabajos de análisis en cualquier entorno de destino (por ejemplo, etapa de pruebas o producción).

Proveedores de métricas admitidos

Cloud Deploy admite el análisis con las métricas proporcionadas de cualquiera de las siguientes maneras:

  • Integración directa con las políticas de alertas de Google Cloud Observability, basadas en la telemetría y los registros de Google Cloud Observability

  • Integración con un sistema de métricas que no es de Google (por ejemplo, Prometheus o Datadog)

    Este tipo de análisis personalizado requiere que tu organización proporcione un contenedor con funcionalidad para admitir el sistema de métricas específico.

    Google Cloud proporciona una integración de muestra con Datadog.

Cómo funciona el análisis de Cloud Deploy

En esta sección, se describe cómo funciona el análisis de Cloud Deploy con las políticas de alertas de Google Cloud Observability. Si tu organización crea un contenedor personalizado para usar un proveedor de métricas diferente, tu contenedor personalizado controlará algunas de estas funciones.

  • Configura las métricas en el sistema de métricas que prefieras.

    Cloud Deploy admite Google Cloud Observability sin necesidad de personalización. También puedes usar el proveedor de métricas que elijas creando un contenedor personalizado para procesar la telemetría.

    Obtén más información.

  • Configura una política de alertas

    Si usas Google Cloud Observability para recopilar datos de telemetría, puedes usar una política de alertas para detectar cuándo esos datos indican un problema.

    Si usas otro proveedor de métricas, las alertas son responsabilidad de esa herramienta o de tu contenedor personalizado.

  • Configura un trabajo de análisis

    Consiste en una sección analysis en el archivo de configuración de tu canalización de entrega.

    El trabajo de análisis consta de una o más verificaciones de análisis, cada una de las cuales evalúa el comportamiento de tu aplicación implementada en función de los registros o las métricas de Google Cloud Observability o de tu proveedor de métricas. El trabajo de análisis se ejecuta durante un período especificado.

  • Implementa tu aplicación

    El trabajo de análisis se ejecuta después del trabajo de implementación y del trabajo de verificación, si tu versión incluye uno, pero antes de cualquier trabajo posterior a la implementación, si tu versión incluye alguno.

  • Se ejecuta el trabajo de análisis

    Después de que se implemente tu aplicación (y después de que se complete cualquier trabajo de verificación, si hay alguno), tu proveedor de métricas recopilará datos de telemetría sobre tu aplicación en ejecución. El trabajo de análisis espera la cantidad de tiempo que configures (duration). Si se activa una alerta (si usas Google Cloud Observability como proveedor de métricas) o si tu contenedor personalizado devuelve un código de salida distinto de cero, el trabajo de análisis falla, al igual que tu lanzamiento.

    Si ninguna de las verificaciones determina que hay un problema, el análisis finaliza después de que vence la duración y el lanzamiento se realiza correctamente.

Usa el análisis con automatizaciones

Puedes especificar automatizaciones para usar con tus trabajos de análisis.

Por ejemplo, si deseas ejecutar un análisis en tu aplicación después de que se implemente en staging y, luego, promover automáticamente la versión a prod si el análisis se completa sin alertas, puedes usar una automatización de promoteReleaseRule.

O bien, si deseas revertir automáticamente una versión si un trabajo de análisis encuentra un problema en prod, puedes usar una automatización de repairRolloutRule.

No se requieren automatizaciones para usar los trabajos de análisis y beneficiarse de ellos.

Análisis personalizado

El análisis de Cloud Deploy admite alertas y métricas de Google Cloud Observability. Sin embargo, también puedes usar el análisis de Cloud Deploy con proveedores de métricas que no sean deGoogle Cloud.

La configuración para el análisis personalizado es similar a la de un análisis estándar, excepto que cada verificación del análisis incluye una tarea que hace referencia a un contenedor que proporcionas, los comandos que se ejecutarán en ese contenedor y las variables de entorno aplicables que se pasarán a ese contenedor. Cada verificación de este análisis personalizado también incluye una frecuencia, es decir, la frecuencia con la que se debe ejecutar la verificación.

Obtén más información.

Uso del análisis con una versión canary

Un uso típico del análisis de Cloud Deploy es con una estrategia de implementación de versión canary. Con Canary, puedes usar métricas de Google Cloud Observability o del proveedor que elijas para determinar si avanzas una implementación a la siguiente fase.

También puedes usar una automatización de advanceRolloutRule con el análisis. Por ejemplo, en la fase de versión canary antes de stable, puedes incluir un trabajo de análisis para garantizar el tiempo de actividad y usar la automatización para avanzar en el lanzamiento a stable o no, según los resultados de ese análisis.

Si usas una implementación de versiones canary personalizada o personalizada automatizada, configura trabajos de análisis dentro de la configuración para cada fase que desees analizar.

Obtén más información sobre las implementaciones de versiones canary.

Estados de ejecución del trabajo de análisis

Estos son los posibles estados de una ejecución de trabajo de análisis:

  • IN_PROGRESS

    El análisis comenzó y aún se está ejecutando. El lanzamiento seguirá siendo IN_PROGRESS, a menos que lo canceles.

  • FAILED

    El trabajo de análisis detectó una alerta de Google Cloud Observability o recibió un código de salida distinto de cero de un contenedor personalizado. El estado del lanzamiento ahora es FAILED. Sin embargo, si ignoras o vuelves a intentar el trabajo de análisis, el estado del lanzamiento se actualizará a IN_PROGRESS.

  • SUCCEEDED

    El análisis finalizó (el duration venció) y no se recibieron indicaciones de métricas desfavorables. El estado de lanzamiento cambia a SUCCEEDED después de que finalizan todas las demás fases y trabajos.

¿Qué sigue?