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.
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
analysisen 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.
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_PROGRESSEl análisis comenzó y aún se está ejecutando. El lanzamiento seguirá siendo
IN_PROGRESS, a menos que lo canceles.FAILEDEl 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á aIN_PROGRESS.SUCCEEDEDEl análisis finalizó (el
durationvenció) y no se recibieron indicaciones de métricas desfavorables. El estado de lanzamiento cambia aSUCCEEDEDdespués de que finalizan todas las demás fases y trabajos.
¿Qué sigue?
Prueba la guía de inicio rápido: Analiza tu aplicación con métricas.
Aprende a configurar el análisis de la implementación con Google Cloud Observability o con otro proveedor de métricas.
Consulta el esquema de configuración para el análisis en la referencia de configuración de Cloud Deploy.
Obtén más información sobre la automatización de la implementación.
Obtén más información sobre las estrategias de implementación.