Herramientas DevOps para el ecosistema de monitoreo




DevOps es una transformación cultural y de proceso; el objetivo es lograr una mayor tasa de cambio y calidad de software. Existen categorías de herramientas para ayudar a facilitar esta transformación a través de la automatización y una mayor medición y visibilidad. No puede tener u observar el progreso sin medir, y durante su transformación necesita mantener un alto grado de visibilidad para moverse de forma rápida y segura. La idea de la transformación cultural y de procesos no solo es desalentadora para muchas organizaciones, sino que la adopción de las herramientas para ayudarlo en ese viaje lo es aún más, ya que requiere una gran cantidad de aprendizaje. 

Un conjunto integrado de herramientas DevOps para monitoreo tiene el poder de mejorar la visibilidad y la productividad, lograr sistemas de mayor rendimiento y establecer una colaboración interfuncional. El conjunto de herramientas correcto es más que las herramientas en sí mismas: se trata de desarrollar la cultura, la disciplina y las prácticas que vienen a definir su producto / servicio y su lugar de trabajo.


Herramientas de monitoreo

Una buena plataforma de monitoreo le permite monitorear la infraestructura y el rendimiento de las aplicaciones, ya sea en las instalaciones, en la nube o en entornos en contenedores, para que tenga una visibilidad completa de cada sistema, todo el tiempo. Ya sea que desee monitorear Kubernetes, dispositivos IoT o metal desnudo, la herramienta de monitoreo adecuada lo hace posible.

Una herramienta de monitoreo efectiva mejora el rendimiento y la productividad del sistema, y ​​lo ayuda a reducir el tiempo de inactividad. Puede planificar adecuadamente las actualizaciones y los nuevos proyectos, y asignar mejor su tiempo y recursos. Puede detectar problemas y resolverlos antes de que afecten a los usuarios.

Hay un montón de excelentes herramientas de monitoreo por ahí; No los abordaré todos aquí, pero destacaré los tres primeros en términos de popularidad.

Nagios sigue siendo una herramienta muy utilizada y formó la base para el monitoreo tal como lo conocemos hoy. Además, la verificación del servicio de Nagios es realmente impresionante (y subestimada). Sin embargo, Nagios se queda corto cuando se trata de monitorear entornos efímeros, como Kubernetes y Docker, a escala. En realidad, Nagios se queda corto cuando se trata de monitoreo a escala en cualquier entorno, ya sea virtualizado o no.Ingrese a Prometheus, una herramienta de monitoreo de código abierto (y, como Kubernetes, una parte del CNCF) que utiliza una arquitectura basada en extracción. En lugar de enviar métricas a la herramienta de monitoreo, extrae métricas de los servicios. Debido a los exportadores incorporados de Kubernetes, Prometheus es a menudo el lugar para monitorear Kubernetes, pero se queda corto cuando se trata de monitorear infraestructura más antigua. 

Eso me lleva a Sensu , que ofrece lo mejor de ambos mundos: puede reutilizar las comprobaciones de servicio de Nagios en Sensu y monitorear entornos efímeros a escala. Si tiene un entorno estrictamente basado en contenedores, Prometheus es una buena opción; Si tiene una combinación de infraestructura multigeneracional (que la mayoría de las veces encontramos con nuestros clientes), Sensu es el camino a seguir.

Herramientas de gestión de configuración

Las herramientas de administración de la configuración le permiten automatizar el aprovisionamiento y la implementación de sistemas, aplicar las configuraciones deseadas y remediar la deriva de la configuración. Al modelar su infraestructura como código , puede aplicar prácticas de entrega de software como control de versiones, pruebas automatizadas y entrega continua a infraestructura y aplicaciones.

La automatización del trabajo que solía ser manual, repetitivo y propenso a errores da como resultado una mayor velocidad, previsibilidad y escalabilidad, y la garantía de configuraciones estandarizadas en entornos de prueba, desarrollador y producción. Eliminar los servidores de copos de nieve reduce el tiempo (y los dolores de cabeza) y le permite implementar software de manera más rápida y confiable.

Las herramientas de administración de configuración populares incluyen: Ansible, que está escrito en Python, sin agente y utiliza un enfoque imperativo (en lugar de declarativo). Puppet es otra opción popular: se basa en un enfoque de gestión de configuración declarativa y utiliza un lenguaje específico de dominio y una arquitectura de agente / maestro. Finalmente, está Chef, que está escrito en Ruby y Erlang, y está modelado de manera similar a Puppet.

Herramientas de alerta

Las herramientas de alerta proporcionan alertas del sistema tanto informativas como accionables, y se pueden personalizar para adaptarse a las complejidades de sus sistemas. Por ejemplo, su sistema de alerta debe ser lo suficientemente sensible como para cubrir un corte de energía, pero no tan sensible como para detectar problemas frecuentes e intermitentes que los usuarios no verán y que lo inundarían con alertas innecesarias.

Las herramientas de alerta ayudan a sentar las bases de sus políticas de alerta, para que pueda determinar a quién notificar, cómo rastrear problemas y resultados y cómo priorizar la corrección. Las herramientas populares incluyen PagerDuty, que ofrece una plataforma de administración de guardia con complementos para análisis, inteligencia de eventos y respuesta automática a incidentes. También está ServiceNow, que utiliza flujos de trabajo automatizados para ITSM, así como servicio al cliente y procesos comerciales. Puede enviar sus alertas a Slack para consolidar las alertas en la misma plataforma que utiliza para colaborar con su equipo.

Almacenamiento de métricas

Una vez que haya automatizado la gestión de la configuración, las alertas y el monitoreo, tendrá una gran cantidad de datos a su disposición para aprender. El desafío: ¿cómo almacenarlo y analizarlo de forma segura? Necesita un sistema de almacenamiento que le permita agregar y aprender de la capacidad del sistema, el comportamiento del usuario, los niveles de servicio, los riesgos de seguridad y más.

Los conocimientos que obtenga de sus métricas informan las decisiones en todas las capas de su negocio, mejorando su capacidad para cumplir con los SLA, satisfacer las expectativas de los clientes y defender nuevas inversiones estratégicas. Las decisiones basadas en datos promueven una cultura de aprendizaje y mejora continua.

Las herramientas populares para almacenar métricas incluyen InfluxDB y TimescaleDB, bases de datos de series temporales (TSDB) que son muy adecuadas para el almacenamiento a largo plazo, y Splunk, que utiliza un modelo de base de datos de motor de búsqueda para almacenar y consultar sus datos. Amazon Web Services (AWS) admite una amplia gama de propósitos de almacenamiento, incluidas bases de datos relacionales y no relacionales, un almacén de datos para análisis, un TSDB, una base de datos leger para almacenar transacciones y más.

Herramientas de visualización

Una herramienta de visualización podría considerarse la pieza de resistencia de su cadena de herramientas DevOps para el monitoreo: puede combinar todos sus datos, ordenarlos y visualizarlos, y mostrarlos en paneles personalizables.

Las herramientas de visualización proporcionan contexto y significado, le permiten realizar un seguimiento de los cambios y mejoras a lo largo del tiempo y le dan a la administración una vista en tiempo real que ayuda a guiar las decisiones estratégicas. Las opciones de personalización facilitan que los miembros del equipo diseñen y compartan sus propios paneles.

Grafana es una popular herramienta de visualización de código abierto y se puede utilizar sobre una variedad de diferentes almacenes de datos, incluidos Graphite, InfluxDB y Elasticsearch. Para obtener más información sobre cómo Grafana puede integrarse con su monitoreo y TSDB, consulte este caso de uso .

Evaluación de sus herramientas de DevOps

No importa dónde se encuentre en su viaje DevOps, es aconsejable reevaluar las herramientas que está utilizando e identificar dónde puede afinar. Piense en las herramientas DevOps en el ecosistema de monitoreo como algo más que sus capacidades. La forma en que los utiliza comienza a definir sus hábitos, valores y cultura laboral, y en consecuencia, la calidad de su producto o servicio y el valor que brinda a sus usuarios.

Comentarios

Entradas populares de este blog

AWS SAM y AWS Lambda docker Container Image tutorial con PYTHON USANDO A...

Solucion: Docker Error: No such container:

Los unicas 4 herramientas que necesitas para volverte un master en Devops