Aprende a automatizar ChatOps con Mattermost

Autor: | Última modificación: 19 de febrero de 2024 | Tiempo de Lectura: 3 minutos
Temas en este post:

Algunos de nuestros reconocimientos:

Premios KeepCoding
ChatOps Con Mattermost es una potente solución que ayudará a integrar tus chatbots con el flujo de trabajo de tu equipo y en este post te contaremos cómo funciona. Mucho se habla de ChatOps, pero para empezar queremos aclarar qué es exactamente: ChatOps es un término acuñado por GitHub que se refiere a la práctica de gestionar las operaciones y los sistemas mediante chat. Es una forma de trabajar, tratando que muchas gestiones se puedan hacer a través del propio chat. No es una tecnología ni una herramienta. Este trabajo se hace normalmente a través de bots, pero también hay otras maneras. 

Principales ventajas de usar ChatOps

¿Por qué es mejor usar ChatOps que otros métodos de trabajo? Por numerosas razones: 
  • Reduce el trabajo de tareas repetitivas a órdenes dadas en el chat. 
  • Nos mantiene informados. 
  • Centraliza la información en un único punto. 
  • Queda guardado un histórico de lo que ha pasado. 
  • Habilita al resto de los compañeros a hacer tareas de Ops. 
  • Controla quién y qué se puede hacer. 
  • Convierte el chat en nuestro panel de control. 

Descubre Mattermost

Mattermost, es una plataforma de mensajería Open Source, centrada en temas de seguridad, dado que se trata de una estructura full remote. En un sistema de mensajería la seguridad de la información es una pieza clave. Es self-hosted, puedes instalarlo en tu propio ordenador; además, en este momento está disponible en Cloud, aunque aún se encuentra en beta privada. Es muy extensible y tiene en cuenta que tus datos son tuyos, es decir, Mattermost es la herramienta que ellos te ofrecen pero los datos son de quien los almacena. 

¿Por qué ChatOps con Mattermost?

La seguridad es clave para ChatOps, de este modo: 
  • El sistema de chat va a ser capaz de gestionar sus propios sistemas. 
  • La propia compañía Mattermost necesita confiar al 100% en su sistema de chat y depender de sí mismos. 
  • En un sistema self-hosted se puede acceder a sistemas solo accesibles internamente. 

Los bots

Es la forma más común de hacer ChatOps. Existen muchos bots disponibles con muchas bibliotecas, pero los más utilizados son: 
  • Hubot: escrito por la gente de GitHub en CoffeeScript y soporta numerosos backends, incluido Mattermost. Se puede conectar a diferentes sistemas. 
  • ErrBot: escrito en Python, soporta también diversos backends, también Mattermost. 
  • Tu propio bot. 

Otras formas de hacer ChatOps con Mattermost

Puedes realizarlo de cinco maneras diferentes: 
  • Incoming Webhook: se escriben en cualquier lenguaje, permite crear bots y es compatible con Slack incoming webhooks. Mattermost escucha en una URL. 
  • Outgoing Webhook: se escriben en cualquier lenguaje también y permiten reaccionar con la respuesta. Es compatible con Slack outgoing webhooks. Mattermost envía a una URL el mensaje cuando empieza por la palabra configurada. 
  • Slash Command: otro más que se escribe en cualquier lenguaje, además permite reaccionar con la respuesta y es compatible con Slack slash command. Mattermost envía la petición a una URL cuando se ejecuta el slash command. 
  • Plugins: son muy ricos y potentes en Mattermost, se escriben en Go y la parte de front en Javascript/ReactJS. Se instalan en Matterost, que permite añadir elementos a la interfaz y endpoints a la API. Además, apenas tienen restricciones. 
  • Tu plugin: en este caso puedes integrar tus propios sistemas, integrarte con herramientas en tu red local, acceder a información sensible de manera segura, extender Mattermost para cubrir tu necesidades o modificar plugins existentes. 
Si quieres ver todos los ejemplos prácticos con el fin de entender todo esto mejor e información añadida al respecto, puedes ver el webinar completo aquí. Si eres un amante de las automatizaciones y quieres llevar tu perfil de programador al siguiente nivel, descubre nuestro Full Stack DevOps Bootcamp, con el cual aprenderás a desplegar, optimizar y mantener cualquier proyecto tecnológico.

Posts Relacionados