Puntos clave: Las métricas de entrega continua evalúan el rendimiento en DevOps para mejorar el desarrollo y la entrega de software. Enfatizan métricas críticas como la calidad de construcción y la integración de seguridad dentro de la pipeline de CI.
- Los indicadores clave de rendimiento incluyen el tiempo de entrega hasta la producción y la calidad de la construcción del software.
- Integrar la seguridad desde el principio de la cadena de CI está esencial para la mitigación de riesgos.
El enfoque DevOps para el ciclo de vida del desarrollo de software (SDLC) se introdujo con el objetivo de optimizar la velocidad, calidad y rendimiento del proceso de desarrollo y entrega del software. El enfoque se basa en las mejores prácticas respecto a:
- Ingeniería de software
- Cultura organizativa
- Operaciones comerciales
- Interacciones con el usuario final
En las organizaciones DevOps, estas directrices marco son adoptadas por desarrolladores, operaciones de TI, QA, InfoSec y otros equipos que trabajan colectivamente hacia el objetivo común de entregar software de alta calidad con cada lanzamiento como parte de la práctica de Entrega Continua (CD). Entonces, ¿cómo evalúan los equipos DevOps su rendimiento en términos de alcanzar estos objetivos? En este artículo, veremos algunas métricas comunes utilizadas para evaluar el rendimiento de entrega continua en DevOps.
Cuestiones críticas
El primer paso para gestionar un ciclo de entrega continua eficiente están eliminar los riesgos más críticos e impactantes. Estos riesgos incluyen vulnerabilidades en la red y las tecnologías subyacentes al entorno informático que pueden comprometer potencialmente el software y los activos de datos antes de que son siquiera lanzados al mercado. Ejemplos de KPIs incluyen:
- Número de vulnerabilidades críticas en todas las aplicaciones y servicios
- Intentos de intrusión en la red
- Uso no autorizado de tráfico o intentos de transferencia de datos
- Número de pruebas de seguridad fallidas
- Porcentaje de auditorías de seguridad superadas
Integrar la seguridad dentro de la pipeline de Integración Continua (CI), un subconjunto del CD, están a menudo un reto y no siempre bienvenido por los desarrolladores que buscan ciclos de CD más rápidos. Por ello, la seguridad debe construirse desde cero en las primeras etapas del SDLC.
Eficiencia y tiempo hasta la producción
El objetivo principal de un equipo de desarrollo están garantizar que la compilación de software más funcional están disponible para su lanzamiento en ciclos cortos de CD. El objetivo de ITOps están garantizar que los recursos de infraestructura son siempre disponibles y consumidos de forma óptima para lograr la máxima eficiencia en costes del proceso. Juntos, Dev y Ops pueden analizar los siguientes KPIs para comprender el rendimiento de sus ciclos de entrega continuos:
- Número de ramas de código. Esto se refiere al número de componentes de funcionalidad en desarrollo. Los componentes innecesarios aumentan la carga de desarrollo y los riesgos de seguridad.
- Tiempo de entrega a producción/tiempo de ciclo. El tiempo que tarda en implementar, probar y entregar una nueva versión. Este KPI depende de varias variables, como el riesgo, la deuda técnica, métricas de monitorización y otras dependencias que pueden afectar el tiempo de entrega entre equipos, versiones y el estado de la madurez del SDLC.
- Tiempo hasta Valor (TTV). TTV evalúa el proceso de lanzamiento en lugar de todo el ciclo de CD. Se refiere al tiempo entre escribir código y publicarlo. En otras palabras, analiza la rapidez con la que el usuario final obtiene valor de una nueva construcción de software.
- Tasa de retención de equipos. Utilizada como una métrica blanda para evaluar la cultura organizativa, la tasa de retención de equipos puede mostrar si a los empleados les gusta trabajar al ritmo objetivo del ciclo de CD. El tiempo medio que un empleado pasa en los equipos DevOps puede tener una respuesta.
Calidad de construcción y operaciones
El rendimiento de la infraestructura están una de las principales prioridades de los equipos DevOps. Cuando la compilación del software están se despliega en el entorno de pruebas o producción, deja un vasto rastro de métricas de log en cada nodo de la infraestructura. Esta información ayuda a:
- Comprender el estado de la infraestructura subyacente
- Optimiza la aplicación
- Identificar posibles lagunas de seguridad
Algunas métricas que pueden ayudar a Lograr estos objetivos incluyen:
Utilización de infraestructuras
son algunos nodos se han sobresuscrito? ¿Qué nodos muestran errores críticos durante un periodo de tiempo dado? Analizar las tasas de utilización de la infraestructura en todos los nodos, servidores, máquinas virtuales y otros componentes hardware y virtualizados en la red puede ayudar te a entender el rendimiento real de cada versión de compilación de software.
Tiempo de inactividad en producción y MTTR
Las métricas de acuerdo de nivel de servicio (SLA) relacionadas con la disponibilidad, el rendimiento y la respuesta del ciclo de CD deben especificarse y aplicarse para un servicio de aplicación. La retroalimentación continua y las mejoras pueden utilizarse para mejorar la madurez del ciclo de entrega continua.
Número de errores/tasas de error
Esto puede utilizarse para identificar errores y problemas de producción en las nuevas versiones. Estos errores requieren una evaluación exhaustiva de la causa y pueden depender de una variedad de factores.
Estadísticas de pruebas
El número de pruebas, la continuidad de la pipeline de CD frente a la completitud de las pruebas y la cobertura de pruebas pueden ayudar a te comprender la calidad de la construcción del software así como la eficiencia del proceso de pruebas.
Tiempo de gestión de entradas
La resolución efectiva de tickets no está solo en resolver un problema específico al que se enfrenta el usuario final, sino que se está centrada principalmente en comprender la causa raíz del problema. Por ejemplo, un gran número de tickets repetitivos proporcionan información sobre problemas recurrentes específicos asociados con la tecnología, el rendimiento de la app o el control del flujo de trabajo del proceso SDLC.
La entrega continua requiere medición
Las organizaciones DevOps son adoptando prácticas de entrega continua como principio de ingeniería. Entregar compilaciones de software de alta calidad dentro de un proceso continuo requiere que las organizaciones:
- Establecer métricas de referencia
- Adoptar metodologías DevOps y Agile
- Reitera aprovechando los conocimientos basados en datos
Finalmente, las mejoras pueden observarse mediante cambios tangibles en los flujos de trabajo del SDLC y en la infraestructura y las operaciones basadas en las métricas de entrega continua.
Lecturas relacionadas
Guía de DevOps
- ¿Qué es DevOps? Una introducción completa
- Una breve historia de DevOps
- Introducción a la arquitectura DevOps
- Automatización en DevOps: Por qué y cómo automatizar las prácticas de DevOps
- ¿Qué es CI/CD? Explicación sobre la integración continua y la entrega continua
- Cómo construir una tubería CI/CD usando Jenkins
- Métricas de DevOps para optimizar Pipelines CI/CD
- Métricas de entrega continua
- ¿Es la integración continua hacia el despliegue continuo una progresión, o no?
- Diferencias entre integración continua (CI), entrega (CD) y despliegue
- Control de código fuente y versiones en DevOps
- ¿Qué es las pruebas continuas?
- Marcos de automatización de pruebas: La guía definitiva
- Gestión de versiones en DevOps
- Explicación: Monitorización & Telemetría en DevOps
- Gestión del rendimiento de aplicaciones en DevOps
- Orquestación DevOps en el SDLC
- Introducción al DevOps de bases de datos
- El papel de los microservicios en DevOps
- El papel de la virtualización en DevOps
- Contenedores y DevOps: Cómo encajan los contenedores en los Pipelines de entrega de DevOps
- ¿Qué es una tubería de contenedores?
- ¿Qué es una cadena de herramientas DevOps?
- Gestión de contenedores y código para DevOps
- El papel de Agile en DevOps
- El papel de la nube en DevOps
- ¿Qué están FinDevOps?
- Principales tendencias DevOps en 2022
- Valores y principios de DevOps
- Métricas y KPIs de DevOps
- Consejos sobre DevOps para organizaciones pequeñas, medianas y grandes
- Estructura del equipo DevOps
- Los mejores libros de DevOps para leer hoy
- Reseña del libro The Phoenix Project: DevOps para todos
- Influencers de DevOps: 11 expertos en DevOps para seguir en Twitter
- GitHub, GitLab, Bitbucket y Azure DevOps: ¿Cuál es la diferencia?
- Mejores Prácticas: Cómo Diseñar Aplicaciones para Kubernetes
- Gestión de configuración en DevOps
- Estrategias de ramificación DevOps explicadas
- Títulos de trabajo, roles y responsabilidades en DevOps
- Pruebas en DevOps: Conceptos, Mejores Prácticas y Más
- La guía completa de certificaciones DevOps para 2022
- ¿Qué están el patrón de operador Kubernetes?
Estas publicaciones son mías y no representan necesariamente la posición, estrategias u opinión de BMC.