Header Ads Widget

Ticker

6/recent/ticker-posts

Más de 12 marcos para crear bots de ChatOps

 

12 + -Frameworks-to-Build-ChatOps-Bots

Desde que GitHub integró ChatOps en sus estratos operativos , el concepto ha generado mucho entusiasmo. Esencialmente, ChatOps mueve las operaciones del sistema a una sala de chat grupal, lo que permite a los desarrolladores colaborar, iniciar pruebas, implementar software y construir una cultura empresarial, todo desde una sola línea de comandos unificada. Una idea novedosa que algunos equipos han implementado con éxito, ChatOps podría aumentar la eficiencia, representa un movimiento hacia un entorno de trabajo más transparente y permite que prosperen los equipos de desarrollo de software distribuidos.

En esta publicación, describimos los posibles beneficios de un enfoque de ChatOps y enumeramos más de 12 marcos, bots y herramientas de ChatOps prefabricados que los equipos pueden utilizar para desarrollar su propia interfaz de usuario conversacional en su flujo de trabajo de desarrollo de software.

¿Qué es “Chatops”?

Muchos equipos ya usan una sala de chat como Slack o Hipchat para compartir información, colaborar y construir bases de conocimiento en torno a proyectos particulares. Naturalmente, estas plataformas han construido miles de extensiones que utilizan conectores de API para brindar funcionalidad adicional a los espacios de trabajo de chat. Desde asistentes de programación, consejos de inversión, informes de ingresos, libros de contabilidad de productividad del equipo, noticias, emojis y puntajes de cricket, miles de bots se pueden integrar en salas de chat para publicar actualizaciones automáticas o activar la funcionalidad cuando se le solicite.

A medida que la colaboración en equipo pasa del correo electrónico al chat, al mismo tiempo, DevOps intenta automatizar las pruebas y la implementación de software. Por lo tanto , ChatOps , acuñado por Github , es una filosofía para llevar el trabajo de monitoreo y control de la infraestructura y las operaciones desde la interfaz de línea de comandos a la ventana de chat, a menudo con la ayuda de un útil bot conversacional basado en inteligencia artificial que puede activar tareas y enviar informes de error desde un simple comando en inglés. Jesse Newland de GitHub simplemente define ChatOps como:

"Poner herramientas directamente en el medio de la conversación"

En el espíritu del procesamiento del lenguaje natural, muchos chatbots responden, adquieren un nombre y, a veces, incluso una personalidad humana ; pero no estamos hablando de chatbots como Cleverbot o ELIZA a los que puedes enviar mensajes instantáneos por diversión, sino de una interfaz de usuario útil y conversacional que activa los procesos de DevOps. Sorprendentemente, solo hay algunos de ellos.

Arquitectura fundamental de ChatOps

Enfoque fundamental de ChatOps

Más de 12 bots de ChatOps esperan tu comando

Veamos qué hay en el ámbito de los bots de ChatOps. Hay algunos marcos populares y bots prefabricados para elegir, como  Hubot (CoffeeScript), Lita (Ruby) y Err (Python). Los proyectos alternativos, los scripts, los marcos y las bibliotecas que privilegian diferentes idiomas también podrían ser útiles para algunos. Algunos bots están diseñados para interactuar con una plataforma de chat en particular, como Slack , Hipchat o Flowdock , pero muchos son independientes del cliente de chat. A continuación se muestran algunos marcos de bots y bots construidos listos para instalar. La mayoría de ellos son compatibles con múltiples instancias de chat y admiten muchos complementos para herramientas populares de integración continua .

1: Hubot   CoffeeScipt / Node.js

Un robot de mejoramiento de la vida personalizable "

bot de hubot chatops

Hubot de Github es la encarnación más bifurcada de un bot de ChatOps. Fuera de la caja, Hubot no realiza muchas cosas, su valor radica en la extensibilidad . Los desarrolladores pueden integrar Hubot en la mayoría de las plataformas de chat y pueden utilizar los muchos scripts generados por la comunidad que le permiten hacer cosas como generar estadísticas de monitoreo desde PagerDuty o implementar fácilmente en Heroku. Alternativamente, puede crear sus propios scripts en CoffeeScript. Aquí hay algunos comandos de Hubot de ejemplo tomados de este script de estado de Heroku :

hubot heroku status - Returns the current Heroku status for app operations and tools
hubot heroku status issues  	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 - Returns a list of recent  	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 issues (default limit is 5)
hubot heroku status issue  - Returns a single issue by ID number

También es fácil generar su propio chatbot utilizando el marco de Hubot con Yeoman .

2: Lita   Rubí

Un robot compañero para la sala de chat de su empresa "

Bot de Lita chatops

Lita es un marco para un robot para una sala de chat de empresa escrito en Ruby y de código abierto en GitHub . Muy inspirado en Hubot, Lita se puede utilizar para crear automatizaciones de tareas operativas y tiene una lista muy completa de complementos , lo que significa que puede integrar Lita fácilmente en casi cualquier aplicación de chat, desde Facbeook Messenger, IRC (Internet Relay Chat) hasta Flowdock; También se pueden construir adaptadores personalizados. A los desarrolladores de Ruby les gustará la familiaridad con herramientas como RubyGems y Bundler .

3: Cog   agnóstico

Cree nuevos comandos de bot en cualquier idioma " / " plataforma ChatOps de próxima generación "

Bot de Cog ChatOps

Cog , creado por Operable, es otro marco de chatbot para ayudar a automatizar los flujos de trabajo de DevOps. Está diseñado para ser independiente de la plataforma de chat y el lenguaje, y utiliza una canalización de estilo Unix para activar funciones complejas. Las guías de instalación y los tutoriales bien documentados lo ayudan a configurar Cog, instalar Docker, desarrollar activadores e instalar "paquetes", que son grupos de comandos.

"Cog lleva el poder de la línea de comandos al lugar donde colaboras con tu equipo todo el tiempo: tu ventana de chat"

holgura del engranaje

Cog en acción - Tomado de la documentación de Cog

Operable también publicó algunas excelentes prácticas recomendadas de ChatOps , esencialmente una guía de estilo para la formación de comandos, la composición de canalizaciones y el diseño de interfaces de comandos en estilos de lenguaje natural. Consulte la documentación de Cog para obtener más información.

4: Errbot   Python

Una biblioteca Pythonic para crear chatbots "

Errbot
Err chatops bot
 es un demonio de chatbot que es un middleware entre un servicio de chat y las herramientas de DevOps que su equipo ya puede usar. El objetivo de Errbot es facilitar la escritura de complementos, de modo que cualquier herramienta con una API pueda activarse con un simple comando. Las plataformas de transmisión de video, así como la plataforma de juegos en línea EVE, usan Errbot. Escrito en Python, Errbot ofrece una biblioteca de Python para crear chatbots con backends para admitir muchas plataformas de chat como Slack. Consulte la documentación pública o el chat de la comunidad de Errbot para obtener más información sobre Errbot.

5: JavaScript de Nestor   

El bot programable de su equipo de Slack "

Logotipo de Nestor

Nestor es otro marco de bot programable diseñado para ChatOps. Con los complementos escritos previamente de Nestor, puede hacer cosas como conectarse a TravisCI o Circle CI para monitorear y activar flujos de integración continuos, devolver estadísticas de GitHub, así como ver problemas y fusionar ramas, o aprovechar las API internas utilizando la API de JavaScript de Nestor [ ver el manual de programación del bot de Nestor ]. Puede usar Bot Powers existentes , importar scripts de Hubot o usar el kit de desarrollador de Nestor para crear nuevos Powers en JavaScript.

Bot Nestor en acción

Bot Nestor en acción

6: Chato.ps   agnóstico

Integra cientos de servicios en el chat de tu equipo "

Chato.ps
Chato.ps
 se creó con la idea de que los equipos existen y se comunican en demasiadas plataformas de chat, utilizan demasiadas herramientas y experimentan cambios innecesarios entre aplicaciones como GitHub, Pagerduty, Asana, Trello, Heroku, CircleCI y más.

Independiente del lenguaje y la plataforma de chat, Chato.ps se enmarca como un búfer verdaderamente agnóstico entre todas las plataformas y herramientas de chat. Ya sea que esté usando Campfire, Slack, IRC o HipChat para chatear, Chato.ps le permite implementar aplicaciones en Heroku con un solo mensaje o recibir informes de incidentes. Como no existe una iteración de código abierto de Chato.ps, un problema potencial es el bloqueo del proveedor.

7: ChatOps de HP

Hacer que la gestión de servicios empresariales sea más ChatOps-y

Recientemente se anunció el flujo de trabajo ChatOps propuesto por HP. Es menos un marco personalizable, sino más una prueba de concepto de cómo una empresa podría administrar incidentes de una manera infundida por chat.

En la última conferencia Discover de HPE, revelaron algunas de sus prácticas internas de ChatOps que ahora son de código abierto. Una vista de alto nivel de la arquitectura de “SM ChatOps” implica conectar HPE Service Manager con Hubot y Slack. Según la cobertura de The New Stack :

"ChatOps de HPE: es en realidad una implementación de código abierto de las herramientas de automatización y gestión de incidentes existentes de la empresa, integradas con Slack, la herramienta de mensajería que finalmente parece haber inclinado la balanza en la batalla del mercado por las herramientas de chat en el lugar de trabajo".

Flujo de trabajo de HPEs chatops

El diseño ChatOps de HPE está diseñado para interactuar con la gestión de servicios de HP: los estados de los incidentes se comunican a través de Hubot. Tomado del blog de la comunidad de HPE .

8: Jarvis de CA Technologies   Java

Bot de Flowdock ChatOps para la JVM

Construido por CA Technologies , Jarvis es otra alternativa de código abierto a Hubot, diseñada específicamente para trabajar con mensajes de compilación para aprovechar al máximo Flowdock de CA , una plataforma de chat y colaboración. Jarvis funciona en la JVM, por lo que los complementos se pueden crear en Groovy , Java y Clojure , con soporte para otros lenguajes JVM como Kotlin . La desventaja es la extensibilidad: Jarvis solo se comporta con Flowdock.

9: Lazlo   

Un marco de automatización de chatops basado en eventos y con secuencias de comandos lua para Slack in Go "

Lazlo es un agente de eventos para el lanzamiento de complementos, esencialmente una plataforma de chatbot alternativa que privilegia el lenguaje de programación Go . Para escribir automatización para Lazlo, crea scripts de Lua . Con una pequeña cantidad de contribuyentes, el proyecto tiene un estilo de código abierto , quizás no para los desarrolladores débiles.

10: Multivac

Marco de bots de ChatOps extensible para Slack "

bot chatops multivac

Creado por la tienda de desarrollo de Nueva York VektorLab , Multivac es un marco extensible creado para ChatOps. Algunas de las características de las que cuenta son una cola de trabajos integrada, una API RESTful y compatibilidad con Slack. Multivac toma comandos de acción programados para realizar tareas de DevOps automáticamente y transmite resúmenes de resultados de trabajos, confirma comandos, tiene retención de registros y habilita contenedores Docker como comandos.

11: StackStorm   

Herramienta de automatización creada con amor por DevOps y ChatOps "

Logotipo de Stackstorm

También vale la pena mencionar StackStorm . A veces llamado "IFTTT para operaciones de TI", StackStorm conecta el desarrollo de software y las aplicaciones de colaboración en equipo, actuando como una  herramienta automática de informes y corrección automática . Puede crear comandos personalizados con StackStorm usando YAML , posiblemente convirtiéndolo en una alternativa más útil para crear sus propios comandos CoffeeScript. StackStorm es esencialmente una capa para la automatización DevOps impulsada por eventos, compatible con la mayoría de las plataformas de chat y otros bots como Hubot.

12: VictorOps

Seguimiento de incidentes y alertas automáticas para equipos de guardia

Logotipo de VictorOps

Dado que su herramienta cierra la brecha entre incidentes y empleados, VictorOps es uno de los principales evangelistas de ChatOps. Actúa como un centro para "centralizar el flujo de información a lo largo del ciclo de vida del incidente", lo que significa que las alertas, el monitoreo y la resolución de incidentes se realizan en una sola plataforma. El entorno de monitoreo de VictorOps también ofrece una integración de Slack, lo que lo hace útil para los equipos que desean una solución prefabricada.

Más herramientas para ChatOps y construcción de bots

  • Cloudbot ; un bot Python IRC simple, rápido, expandible y de código abierto
  • Eggdrop ; un popular bot IRC de código abierto, diseñado para brindar flexibilidad y facilidad de uso
  • Bot ChatOps de ElasticSearch JARVIS
  • Comandos de barra con DeployBot
  • Will ; un simple bot de python hipchat
  • Botkit ; un marco para construir Slackbots
  • Pandorabots ; una API RESTful para integrar chatbots con inteligencia artificial en aplicaciones
  • API.ai ; ayuda a crear Slackbots conversacionales
  • Gupshup : herramientas para construir e implementar bots en cualquier canal
  • MobileMonkey : crea bots conversacionales para Facebook Messenger.
  • ¿Piensas en algo más? ¡Comenta abajo!

Análisis: ¿Por qué adoptar DevOps habilitado para mensajería instantánea?

La adquisición del chatbot está generalizada e influye en todo, desde el diseño de API , las fachadas de las empresas públicas hasta la nueva plataforma de desarrollo de Facebook , que permite a las empresas crear bots de interfaz de usuario conversacionales dentro de su aplicación Messenger. HP dijo recientemente que encuentran las salas de chat, o ChatOps, " fundamentales para el éxito de DevOps ".

Algunos argumentan que el mantenimiento del sistema infundido por chat no es nada nuevo; muchos han estado implementando esto utilizando IRC (Internet Relay Chat) desde los años 90. Sin embargo, el reciente movimiento hacia métodos de ChatOps más fáciles de usar es triple:

  • Ayuda a automatizar tareas ; Al identificar y reemplazar acciones repetibles con comandos de bot, los equipos pueden ahorrar tiempo. GitHub, por ejemplo, usa ChatOps internamente para operar el sitio web y la infraestructura, como administración de alertas, actualizaciones de estado, administración de red, mantenimiento de MySQL y más;
  • ChatOps funciona en un foro empresarial más visible , proporcionando un registro que todos los miembros del equipo pueden ver. Esto ayuda a los equipos distribuidos a colaborar en tiempo real, creando una cultura y un contexto de empresa más transparentes para incorporar nuevos miembros;
  • Por último, agregar un poco de personalidad a un bot puede ayudar a crear una cultura interna en una empresa.

Por supuesto, ya puede agregar muchas herramientas operativas a Slack con complementos como el monitoreo de incidentes de Pagerduty o Jira y Confluence para el seguimiento de errores, por lo que para algunos un bot puede ser excesivo. Algunos pueden ser reacios a adoptar ChatOps debido a razones de seguridad . Para negar esto, Cog incluye mecanismos de acceso y los desarrolladores han creado middleware para interactuar con Hubot. También se han desarrollado productos como Demisto para ayudar a proteger el contenido en los canales de Slack.

"La forma en que trabajamos está fuertemente influenciada por el chat"
- Mark Imbriaco, CEO de Operable

El desarrollo impulsado por la conversación es muy diferente de los entornos comerciales tradicionales. Al final del día, simplemente está exponiendo las API de las herramientas internas que usa, y un bot es solo una interfaz para ellas. El beneficio final de crear un bot usando estos marcos es que le da a su equipo la personalización y le permite trabajar con cualquier cliente de chat. Dejando a un lado las diferentes estrategias de ChatOps / bot, cualquier sistema que permita a un equipo trabajar de manera eficiente y también responder rápidamente ante los desastres de TI triunfará. Incluso si no está en ChatOps, asegúrese de que sus API tengan las habilidades necesarias para competir en el mundo en evolución habilitado por voz y bot .

Recursos adicionales:

Publicar un comentario

0 Comentarios