Observabilidad de CI/CD: nuevas oportunidades para OpenTelemetry

Si cambiamos nuestro enfoque de observabilidad hacia la izquierda, podemos resolver los problemas en CI/CD antes de que escale, como afirmaron dos ingenieros de Grafana.

Traducido de Observabilidad de CI/CD: una nueva y rica oportunidad para OpenTelemetry , autor Giordano Ricci;

La integración continua y la implementación continua (CI/CD) son la columna vertebral de la entrega de software moderna, pero la visibilidad de sus procesos sigue siendo limitada. Así es como OpenTelemetry (OTel) está cambiando eso y por qué estos cambios son tan interesantes.

CI/CD tiene diferentes definiciones dependiendo de a quién le pregunte, pero la parte consistente es que es continuo: un ciclo de retroalimentación interminable que tiene que ver con reducir los procesos manuales, producir software implementable y entregar software cuando surgen problemas. Erradicarlo antes del entorno de producción.

Esta práctica se ha vuelto necesaria para reducir los procesos manuales, producir software implementable y aumentar la confianza en el proceso de entrega de software, pero carecemos de las herramientas para evitar que se vuelva inestable.

La observabilidad de los sistemas de CI aún se encuentra en sus primeras etapas y ahora, gracias a una combinación de factores, esta oportunidad es posible. Echemos un vistazo más de cerca a los aspectos históricamente no observables de las canalizaciones de CI/CD, cómo OpenTelemetry y el trabajo relacionado permiten la observabilidad de CI y el alto techo para futuras mejoras en la productividad de los desarrolladores.

Todavía hay mucho espacio para moverse hacia la izquierda.

La CI y las alertas se han utilizado tradicionalmente como soluciones con un objetivo común. Trabajan en estrecha colaboración como componentes esenciales para un monitoreo automatizado continuo. La integración continua es un protector en las primeras etapas: detecta cambios, mantiene el estado de la construcción y monitorea continuamente las señales del sistema. Las alertas se utilizan a menudo en etapas posteriores. Identifica problemas que CI no detectó. Por lo tanto, la CI sienta las bases, mientras que las alertas responden a las amenazas: colaboración continua para resolver el mismo problema.

Pero históricamente, el foco de la observabilidad ha estado en la parte de "ejecución" de las cosas, ignorando información valiosa de las primeras etapas como construcción, prueba e implementación, así como otras áreas clave de oportunidad en las primeras etapas de un proceso de CI.

Desplegamos cosas, vemos que se incendian y luego intentamos apagar el fuego.

Pero si sólo nos fijamos en las etapas finales del ciclo de desarrollo e implementación, será demasiado tarde. No sabemos qué sucedió durante la fase de construcción o la fase de prueba, o tenemos dificultades con el análisis de la causa raíz o un mayor tiempo medio de recuperación, y perdemos oportunidades de optimización. Sabíamos que nuestras canalizaciones de CI tardaban mucho en ejecutarse, pero si queríamos que funcionaran más rápido, no sabíamos qué mejorar.

Si cambiamos nuestro enfoque de observabilidad hacia la izquierda, podemos resolver los problemas antes de que escale, aumentar la eficiencia al reducir los problemas en el proceso, aumentar la solidez y la integridad de nuestras pruebas y minimizar los costos y gastos posteriores a la implementación y relacionados con las interrupciones.

Hay una razón por la que OpenTelemetry es uno de los proyectos más activos de la Cloud Native Computing Foundation (CNCF) (técnicamente, el "segundo proyecto más rápido"). Ha sido un protocolo excelente para definir convenciones semánticas y unificar tipos de señales para registros, métricas y trazas (los "tres pilares" de la observabilidad), así como análisis y otros tipos de señales emergentes.

Hemos visto a OTel causar sensación en el último año después de agregar un amplio soporte para estándares abiertos y puntos en común en lo que alguna vez fue un área de caja negra. Las áreas de observabilidad que alguna vez fueron altamente patentadas, como bases de datos, proveedores de nube, lenguajes de consulta y formatos de archivos de registro, se han descifrado con un protocolo bien definido que funciona y admite casi todo lo popular en nuestro moderno lenguaje de programación mundial multilingüe.

El mundo de las herramientas de los proveedores de CI/CD tiene su propia caja negra. Cada equipo de desarrollo utiliza un sistema de CI y la mayoría de los equipos utilizan varios sistemas de CI. El concepto de "poseer sus propios datos de CI" está ganando terreno hoy en día con más usuarios que están cansados ​​de soluciones complejas para obtener esos datos en su propia arquitectura backend bien entendida, pero que están luchando con el cambio de contexto y hay un backend dedicado.

Esta es la razón por la que cuando el grupo de trabajo CI/CD de OTel propuso por primera vez la introducción de nuevas convenciones semánticas para la observabilidad de CI/CD, y posteriormente propuso un nuevo Grupo de Interés Especial (SIG) específicamente para la observabilidad de CI/CD, hubo tanto entusiasmo.

Cómo será el futuro de los datos de observabilidad

Ser propietario de tus propios datos significa que tú decides dónde van y cómo se almacenan. Al ejecutar OpenTelemetry entre nuestro sistema de CI y el destino de nuestra elección, OpenTelemetry se encarga de transformarlo en la base de datos y el esquema que queremos, lo que significa que ahora se está introduciendo una gran innovación basada en datos de CI previamente aislados en el campo de herramientas de observabilidad.

Por ejemplo, creamos una distribución OpenTelemetry Collector , un binario cuyos receptores, procesadores y exportadores extraen datos de CI de Drone, los convierten al formato que necesita y luego los envían a la base de datos. Jenkins tiene un complemento para exportar datos a través del Protocolo OpenTelemetry (OTLP).

Este es un momento muy emocionante para la comunidad de observabilidad. Al tomar los datos de nuestro CI e integrarlos con el sistema de observabilidad, podemos profundizar en los registros de la compilación y ver información importante de nuestro CI, como la hora de la primera falla. A partir de ahí, podemos descubrir qué causó el error de una manera que identifique con mayor precisión cuándo ocurrió.

El espacio CI/CD desbloquea grandes cantidades de datos previos al delito para los sistemas de observabilidad. Obtener datos de telemetría de sus compilaciones le permite crear una línea de tiempo de sus ramas de implementación y obtener información sobre las fallas que ocurrieron, solucionar una variedad de problemas de prueba inestables, encontrar y reproducir fácilmente la causa raíz de los problemas y analizar el rendimiento y el rendimiento de la canalización de CI/CD. duración. Realice la resolución de problemas.

A medida que la observabilidad continúa avanzando hacia la izquierda en el proceso de CI, podemos resolver los problemas antes de que escale, aumentar la eficiencia eliminando problemas del proceso, mejorar la solidez y la integridad de las pruebas y minimizar los costos y gastos asociados con la implementación y el tiempo de inactividad posteriores.

Impulsado por OpenTelemetry, esperamos que el espacio CI/CD se convierta en una de las áreas en evolución más candentes para la observabilidad, uniéndose a otros casos de uso de observabilidad importantes, como el monitoreo de infraestructura y el monitoreo del rendimiento de las aplicaciones.

CI/CD es la base (y a menudo el requisito previo) de todo sistema de producción moderno, por lo que debemos enfatizar su importancia aplicándole las mejores prácticas que utilizamos para los servicios de producción.

Este artículo se publicó por primera vez en Yunyunzhongsheng ( https://yylives.cc/ ), todos son bienvenidos a visitarlo.

Un programador nacido en los años 90 desarrolló un software de portabilidad de vídeo y ganó más de 7 millones en menos de un año. ¡El final fue muy duro! Los estudiantes de secundaria crean su propio lenguaje de programación de código abierto como una ceremonia de mayoría de edad: comentarios agudos de los internautas: debido al fraude desenfrenado, confiando en RustDesk, el servicio doméstico Taobao (taobao.com) suspendió los servicios domésticos y reinició el trabajo de optimización de la versión web Java 17 es la versión Java LTS más utilizada. Cuota de mercado de Windows 10. Alcanzando el 70%, Windows 11 continúa disminuyendo. Open Source Daily | Google apoya a Hongmeng para hacerse cargo de los teléfonos Android de código abierto respaldados por Docker; Electric cierra la plataforma abierta Apple lanza el chip M4 Google elimina el kernel universal de Android (ACK) Soporte para la arquitectura RISC-V Yunfeng renunció a Alibaba y planea producir juegos independientes para plataformas Windows en el futuro
{{o.nombre}}
{{m.nombre}}

Supongo que te gusta

Origin my.oschina.net/u/6919515/blog/11090891
Recomendado
Clasificación