Puntos clave: La monitorización y la telemetría son vitales en DevOps para evaluar el rendimiento de las aplicaciones y la salud del sistema, facilitando la detección de patrones de uso y errores, asegurando así la disponibilidad y la fiabilidad.
- La monitorización recopila registros y datos de métricas a lo largo del ciclo de vida del desarrollo de software.
- La telemetría proporciona datos específicos de medición para análisis en tiempo real.
DevOps están un marco de ciclo de vida de desarrollo de software (SDLC) basado en datos. Los ingenieros DevOps analizan registros y métricas de datos generados en todos los componentes de software y la infraestructura de hardware subyacente. Esto les ayuda a comprender una variedad de áreas:
- Aplicación y rendimiento del sistema
- Patrones de uso
- Bugs
- Cuestiones de seguridad y normativas
- Oportunidades de mejora
Se está necesario un seguimiento exhaustivo de la aplicación y telemetría antes de que una aplicación alcance el codiciado tiempo de actividad del Acuerdo de Nivel de Servicio (SLA) de cinco 9 o más: disponible al menos el 99,999% de las veces. Pero, ¿qué es exactamente la monitorización y la telemetría y cómo encaja en un entorno DevOps? Hablemos.
¿Qué es la monitorización?
La monitorización están una práctica común en TI. En el contexto de DevOps, la monitorización implica el proceso de recopilar registros y datos de métricas para observar y Detecta el rendimiento y el cumplimiento en cada etapa de la pipeline SDLC. La monitorización implica herramientas que pueden programarse para
- Adquirir flujos de datos de registro específicos
- Produce una representación visual intuitiva del rendimiento de las métricas
- Crea alertas basadas en criterios especificados
Los objetivos de la monitorización en DevOps incluyen:
- Mejorar la visibilidad y el control de los componentes de la aplicación y las operaciones de infraestructura de TI. Las aplicaciones pueden ir desde la ciberseguridad hasta la optimización de recursos. Por ejemplo, las herramientas de monitorización pueden alertar incidentes de brechas de red y tráfico excesivo en un nodo específico.
- Supervisa los problemas de rendimiento de las aplicaciones, identifica errores y entiende cómo se comportan componentes específicos de la aplicación en entornos de producción y prueba. Una vez desplegadas, las herramientas de monitorización alertan en varias métricas para rastrear la utilización de recursos y la distribución de la carga de trabajo. Con esta información, los ingenieros pueden asignar recursos para tener en cuenta las demandas dinámicas de tráfico y carga de trabajo.
- Comprender el comportamiento del usuario y del mercado. Esta información puede ayudar a los ingenieros a Haz decisiones técnicas como añadir una característica específica, eliminar un botón o invertir en recursos en la nube para mejorar aún más el rendimiento del SLA. La toma de decisiones proactiva en este sentido ayuda a las organizaciones a mantener y ampliar su cuota de mercado en el competitivo panorama empresarial.
(Explora métricas de entrega continua, incluyendo la monitorización.)
¿Qué es la telemetría?
La telemetría están un subconjunto de la monitorización y se refiere al mecanismo de representar los datos de medición proporcionados por una herramienta de monitorización. La telemetría puede verse como agentes que pueden programarse para extraer datos específicos de monitorización como:
- Información de series temporales de alto volumen sobre la utilización de recursos
- Alertas en tiempo real para incidentes específicos
Monitorización DevOps frente a telemetría
considera el caso de las carreras de motor, donde los aficionados Obtén a métricas Ve como la velocidad máxima, las fuerzas G, los tiempos de vuelta, la posición en carrera y otra información que se muestra en las pantallas de televisión. Estas pantallas de medición se refieren a la telemetría. Por el contrario, el proceso de instalar sensores, extraer datos y proporcionar un conjunto limitado de información de métricas en televisores están, en su totalidad, se denomina monitorización. En el contexto del DevOps, algunas de las métricas más comunes medidas son relacionadas con la salud y el rendimiento de una aplicación, y varias métricas correspondientes siempre son visibles en el panel de control.
Desafíos de monitorización
Antes de hablar de los distintos casos de utiliza de la telemetría de DevOps, hablemos de los desafíos de monitorización más comunes a los que se enfrentan las organizaciones DevOps:
- El personal de operaciones invierte tiempo y recursos significativos para detectar problemas de rendimiento en la infraestructura y las aplicaciones.
- Los desarrolladores interrumpen frecuentemente su trabajo de desarrollo para corregir nuevos errores y problemas identificados en la fase de producción.
- El enfoque de ciclo de lanzamiento rápido hace que las aplicaciones sean propensas a problemas de rendimiento: realizar pruebas exhaustivas requiere tiempo y recursos que quizá no estén justificados desde una perspectiva empresarial.
- El procedimiento de despliegue está complejo: los ingenieros necesitan sincronizar y coordinar múltiples líneas de trabajo de desarrollo, dentro de microservicios, multi-nube y TI híbrida
- Las anomalías son señal de posibles problemas emergentes. Es importante identificar y contener los daños antes de que el impacto se están percibido y se extienda por la base de usuarios global.
- Las restricciones de seguridad y normativas exigen que las organizaciones ejerzan un control profundo y mantengan visibilidad sobre los recursos de hardware que operan datos y aplicaciones sensibles de los usuarios. Esto está complicado, especialmente cuando la infraestructura subyacente está en la nube que opera fuera de las instalaciones por un proveedor externo que solo puede ofrecer datos limitados de registros, información métrica e información sobre los componentes de hardware.
Casos de utiliza de monitorización y telemetría
Para abordar estos desafíos, los equipos de DevOps utilizan diversas herramientas de monitorización para identificar y comprender cuidadosamente patrones que puedan predecir el rendimiento futuro de una aplicación, servicio o la infraestructura subyacente. Algunos de los casos de utiliza más comunes de la telemetría en DevOps incluyen las siguientes métricas y casos de utiliza:
- Salud de las versiones de compilación del código fuente
- Información de registros de repositorios de artefactos
- Fallos de integración continua en el servidor de CI
- Pruebas de rendimiento en varias etapas de la tubería SDLC
- Participación y visibilidad del usuario para funciones específicas de la app
- Tiempo de actividad y métricas de rendimiento como MTTF, MTTD y MTTR
- Detección de anomalías y enrutamiento del tráfico de red.
El análisis de datos está necesario
El análisis sigue a la monitorización. La telemetría no incluye necesariamente registros analizados y procesados o información de métricas. La toma de decisiones basada en la telemetría de métricas de logs requiere un análisis exhaustivo de una variedad de KPIs y puede integrarse con los sistemas de monitorización para activar acciones automatizadas cuando sea necesario.
Lecturas relacionadas
- BMC DevOps Blog
- Estado de la monitorización de TI: Resumen de informes
- Elegir métricas de TI que importan
- Métricas y KPIs de DevOps
- Microservicios de monitorización con Spring Boot Actuator y AspectJ
- Cómo la orquestación de flujos de trabajo mejora el desarrollo y la monitorización de aplicaciones
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.