Qué es DevOps: Fundamentos, beneficios y herramientas
Conoce la respuesta a esta pregunta que tanto intriga a muchos en el sector TI y seguramente te hayas hecho alguna vez.
Aprende más sobre herramientas de comunicación y ChatOps y mejora tu nivel automatizando procesos y cumpliendo con la filosofía DevOps en tu empresa.
Tabla de contenidos
Adquiere aprendizaje continuo sobre herramientas de comunicación y ChatOps. No te quedes en el simple intercambio de mensajes y pasa al siguiente nivel automatizando procesos y cumpliendo con la filosofía DevOps en tu organización.
La mayoría de personas hoy en día pueden acceder a su correo electrónico en sus teléfonos inteligentes, y el correo electrónico permite a los usuarios enviar archivos adjuntos grandes y ponerse en contacto con varios miembros del equipo a la vez. Los equipos de DevOps tienden a confiar en canales de comunicación más interactivos, dependiendo de las necesidades de los proyectos y las preferencias de los miembros del equipo, la comunicación interna puede ser a través de aplicaciones de colaboración de proyectos, una intranet o incluso aplicaciones de comunicación habituales como redes sociales.
Las reuniones regulares son la columna vertebral de la comunicación de DevOps. Se pueden organizar en persona o a través de aplicaciones de videoconferencia. Al igual que con la estructura de Agile Project Management (Gestión de proyectos ágiles), el equipo de DevOps debe reunirse al menos dos veces por semana.
Desafortunadamente, las prácticas de recursos humanos en muchas industrias se basan en estereotipos. Uno de los estereotipos más prominentes sobre los profesionales de TI es su falta de habilidades interpersonales. Aunque algunos ingenieros y desarrolladores caen en esta generalización, sus conocimientos e intereses van mucho más allá de los temas de TI y tecnología. Aun así, incluso los miembros más habladores y asertivos del equipo de desarrollo necesitan trabajar en sus habilidades blandas para mejorar la comunicación del equipo.
Las habilidades blandas mejoradas permiten a los miembros del equipo colaborar de manera más efectiva y desarrollar relaciones de trabajo sólidas. En DevOps, todo esto está acompañado por herramientas que ayudan a mejorar la forma en que nos comunicamos y automatizamos procesos.
Es una colaboración basada en la conversación que utiliza clientes de chat, chatbots y herramientas de comunicación en tiempo real. Se centra en la idea de que la conversación es la base del crecimiento humano y el progreso, que puede acelerarse con herramientas de colaboración.
Es ampliamente utilizado por los equipos de DevOps para trabajar con más transparencia, eficiencia y velocidad. A lo largo de la cadena de progresión, algunos equipos pueden comenzar como solo correo electrónico, comenzar a incursionar con aplicaciones basadas en chat y luego agregar bots personalizados avanzados o IA (Inteligencia Artificial) para automatizar ciertas tareas. Idealmente, el estado final sería tener un sistema en tiempo real que integre todo el personal, el trabajo, la tecnología y los procesos en un entorno unificado y, al mismo tiempo, mantenga una documentación detallada de todo lo que sucede allí.
En este entorno, la plataforma de comunicación puede servir como una interfaz de línea de comandos compartida para comandos. Los chatbots inteligentes y configurables se utilizan para ejecutar ciertas acciones, como disparar una llamada a la API, restablecer un servidor o incluso implementar correcciones en producción.
Tiene como objetivo aumentar la visibilidad en todos los ámbitos para que todas las acciones se tomen a la vista del equipo. Es especialmente útil para proporcionar un contexto en tiempo real para los trabajadores remotos y las nuevas contrataciones.
A medida que su equipo integra más herramientas en la herramienta ChatOps, el equipo obtiene varios beneficios. Primero, el equipo recibe menos correos electrónicos porque las conversaciones a menudo se llevan a cabo en conversaciones de chat y persisten en contexto. El segundo beneficio es el ahorro de tiempo porque el equipo ya no debe cambiar continuamente entre herramientas para encontrar información. Cuantas más herramientas integre en la plataforma ChatOps, mayores serán los beneficios.
Los equipos avanzados llevan las cosas un paso más allá. Al incorporar sus herramientas a sus conversaciones y usar un chatbot que se modifica para trabajar con complementos y scripts clave, los equipos pueden automatizar tareas y colaborar para trabajar mejor, más barato y más rápido. Mientras están en una sala de chat, los miembros del equipo pueden escribir comandos que el chatbot está configurado para ejecutarse a través de scripts y complementos personalizados. Estos scripts y complementos van desde implementaciones de código hasta respuestas de eventos de seguridad y notificaciones de miembros del equipo. Todo el equipo colabora a medida que se ejecutan los comandos.
Su equipo puede aplicar ChatOps a varias disciplinas de la gestión de servicios:
Individual y colectivamente, estos beneficios en última instancia fortalecen DevOps al acelerar las comunicaciones del equipo, lo que acorta las canalizaciones de desarrollo y el tiempo de respuesta a incidentes.
La implementación de un entorno de ChatOps requiere el uso de los siguientes tipos de herramientas:
Slack
y Microsoft Teams
) para ejecutar comandos preprogramados.ChatOps se puede implementar en fases a medida que su equipo se familiariza y depende de la herramienta de colaboración elegida.
La primera fase son las comunicaciones persistentes simples entre los miembros del equipo. Dos o más miembros del equipo pueden iniciar una conversación para obtener respuestas a problemas apremiantes y asegurarse de que el equipo esté de acuerdo antes de proporcionar una respuesta.
En la segunda fase, establece grupos que deben comunicarse entre sí para hacer su trabajo. Además de mensajes grupales simples, el equipo puede compartir capturas de pantalla, videos de problemas y archivos como archivos de registro, archivos de configuración o salida de comandos. La herramienta ChatOps almacena mensajes de forma persistente, por lo que cualquier persona que se agregue a una conversación puede ver todas las comunicaciones anteriores.
Cuando se recibe un incidente importante, algunas herramientas de ChatOps pueden crear canales automáticamente. También puede especificar listas de asignaciones para que cuando ocurra un incidente específico, se invite a las personas adecuadas a unirse a la conversación.
A medida que el equipo evoluciona, la plataforma ChatOps puede proporcionar comunicación bidireccional entre los participantes del chat y el sistema o sistemas que el equipo utiliza en su trabajo diario. Por ejemplo, puede crear un canal de chat grupal con integraciones de herramientas para ver esta información:
Dependiendo de la fase de implementación en la que se encuentre y de sus intenciones de crear un entorno de ChatOps, los siguientes casos de uso son aplicables a su empresa:
ChatSecOps
).Actualmente, el ciclo DevOps hace referencia a un gran número de herramientas de desarrollo de software, redes, gestión de servidores, equipos de test, monitoreo, etc. Como facilitador a la utilización e integración de este gran número de herramientas requeridas en DevOps surge ChatOps.
ChatOps nos permite colaborar y centralizar todas las herramientas en una sola ventana. Se compone principalmente de tres piezas clave: el chat, las automatizaciones/bots y los sistemas a integrar (Jira
, Bitbucket
, Bamboo
, Jenkins
, Docker
, etc).
Es una solución de software de colaboración de proyectos e interacción en equipo basada en la nube especialmente diseñada para facilitar sin problemas la comunicación entre organizaciones.
Crea y administra equipos y canales, programa una reunión, activa las traducciones de idiomas y comparte archivos. Pasar de un chat a una llamada para una colaboración más profunda, administrar invitaciones de calendario, unirte a una reunión directamente en Teams y usar efectos de fondo.
Lita es un bot de chat escrito en Ruby. Un robot compañero para la sala de chat de su empresa. Se conecta con su servicio de chat favorito y lo ayuda a mantenerse eficiente mientras se divierte. Puede convertir tareas tediosas, lentas y propensas a errores en comandos simples con Lita bot.
Características que incluye:
Redis
.Es un robot personalizable para mejorar la vida. GitHub, Inc., escribió la primera versión de Hubot para automatizar salas de chat de una empresa. Hubot sabe cómo automatizar muchas tareas y ser una fuente de diversión en la oficina. Está escrito en CoffeeScript
en Node JS
y se implementa rápidamente en plataformas como Heroku
.
La característica incluye:
Otro software de bot IRC. A menudo se describe como el bot IRC de Python simple, rápido, expandible y de código abierto. CloudBot está licenciado bajo la licencia GPL v3. CloudBot solo se ejecutará en Python 3.4 o superior debido al uso del módulo asyncio. Si conoces Python, pruébalo a CloudBot. No te decepcionará.
Otro bot está escrito en Python. Es un chatbot basado en complementos diseñado para ser fácilmente desplegable, extensible y mantenible. Errbot es software libre, disponible bajo la licencia GPL-3:
Es un chatbot, un demonio que se conecta a tu servicio de chat favorito y trae tus herramientas a la conversación.
El objetivo del proyecto es facilitarle la escritura de sus propios complementos para que pueda hacer lo que quiera: una implementación, recuperar información en línea, activar una herramienta a través de una API, trolear a un compañero de trabajo y más.
Errbot se está utilizando en muchos contextos diferentes: ChatOps, salas de chat de juegos en línea, salas de chat de transmisión de video como TV de codificación en vivo, seguridad en el hogar, etc.
La característica incluye:
Es una potente plataforma de automatización de código abierto que conecta todas sus aplicaciones, servicios y flujos de trabajo. Es extensible, flexible y construido para trabajar con DevOps y ChatOps. StackStorm ayuda a automatizar patrones operativos comunes. Algunos ejemplos son:
Solución de problemas: activación de fallas del sistema capturadas por Nagios
, Sensu
, New Relic
y otros sistemas de monitoreo, ejecución de una serie de comprobaciones de diagnóstico en nodos físicos, instancias de OpenStack
o Amazon
y componentes de aplicaciones, y publicación de resultados en un contexto de comunicación compartido, como HipChat
o Jira
.
Corrección automatizada: identificar y verificar fallas de hardware en el nodo de cómputo OpenStack
, evacuar adecuadamente las instancias y enviar correos electrónicos a los administradores sobre el posible tiempo de inactividad, pero si algo sale mal, congelar el flujo de trabajo y llamar a PagerDuty
para alertar a alguien.
Implementación continua: cree y pruebe con Jenkins
, aprovisione un nuevo clúster de AWS
, active parte del tráfico con el equilibrador de carga y avance o retroceso, según los datos de rendimiento de la aplicación New Relic
.
También te presento un Top herramientas DevOps: Integración y Despliegue Continuo.
Se ha hecho un recorrido de cómo se comunican en el área de DevOps y las herramientas de comunicación y ChatOps que se suelen utilizar, para sacar provecho a los tiempos de resolución de incidencias o el despliegue de nuevas características con mayor eficiencia en dichos procesos.
En el caso de que estés considerando aprender un Stack más completo sobre desarrollo y operaciones, te recomiendo mirarte los Cursos de DevOps.
Si aún no conoces las responsabilidades en un rol de DevOps, te invito a aprender sobre Qué es un ingeniero DevOps y qué funciones tiene.
También te puede interesar
Conoce la respuesta a esta pregunta que tanto intriga a muchos en el sector TI y seguramente te hayas hecho alguna vez.
En este artículo vamos abordamos la importancia de que la figura del CIO promueva la implantación de las culturas Agile y DevOps...