Blog

Qu'est-ce que ChatOps ?

par Éric Sigler 2 décembre 2014 | 5 minutes de lecture

Vous entendez probablement de plus en plus souvent le mot ChatOps, lors de conférences, sur Reddit et Hacker News, ou autour de la machine à café (ou du tonneau). Mais que signifie-t-il exactement ? Et pourquoi et comment le mettre en œuvre dans votre organisation ?

ChatOps, un terme largement attribué à GitHub , est une question de développement axé sur la conversation. Dans une salle de discussion, les membres de l'équipe saisissent des commandes que le chatbot est configuré pour exécuter via des scripts et des plugins personnalisés. Il peut s'agir de déploiements de code, de réponses aux événements de sécurité ou de notifications aux membres de l'équipe. En intégrant vos outils dans vos conversations et en utilisant un chatbot modifié pour fonctionner avec des plugins et des scripts clés, les équipes peuvent automatiser les tâches et collaborer, en travaillant mieux, moins cher et plus rapidement, ce qui permet à toute l'équipe de collaborer en temps réel pendant l'exécution des commandes.

Screen Shot 2014-12-02 at 2.11.12 PM

Commandes ChatOps utilisées dans le développement.

Aidez vos équipes à mieux communiquer et collaborer

Détaillons cela un peu plus en détail. Vous utilisez probablement un client de chat au travail. HipChat, Slack, Flowdock et Campfire sont des outils couramment utilisés, et si vous en avez déjà un en place, vous êtes sur la bonne voie. Ensuite, il y a les chatbots, et ils sont tous open source.

Screen Shot 2014-12-02 at 9.47.12 AM

Bien que les chatbots effectuent les commandes, vous avez parfois également des serveurs de déploiement qui écoutent ces commandes et effectuent la lourde tâche d'exécuter les tâches de déploiement en arrière-plan. Avec Hubot de GitHub, le serveur de déploiement s'appelle Heaven. Découvrez comment Flowdock a récemment implémenté ChatOps avec ces outils dans son flux de travail. De la même manière que Hubot dit à Heaven ce qu'il doit faire, le bot de PagerDuty, Officer URL, dit à Igor, notre serveur de déploiement, ce qu'il doit faire.

Les résultats?

Visibilité à tous les niveaux

Tout le monde a déjà eu à se demander si une commande particulière a été exécutée par un collègue. ChatOps permet de mettre ce travail au premier plan en le regroupant au même endroit : les actions, les notifications et les diagnostics de chacun sont visibles. Cela encourage les équipes à faire preuve de transparence. Différents plugins peuvent aider à exposer davantage d'informations à tout le monde (en remplaçant les adresses IP opaques par des noms DNS et d'autres métadonnées, par exemple). En plus de fonctionner plus efficacement dès le départ, cela aide également les nouvelles recrues à se lancer et à apprendre par la pratique, et aplatit les flux de travail typiques que les équipes utilisent pour déployer et diagnostiquer. (Sans compter que cela facilite grandement le travail à distance.)

C'est également ainsi que, chez PagerDuty, nous intégrons mieux les talents, améliorons notre infrastructure grâce à l'automatisation et, comme le dit Jesse Newland de GitHub, plaçons les outils au centre de la conversation.

L'utilisation de ChatOps profite également aux équipes non techniques. En disposant d'un emplacement central pour les outils basés sur le chat, les équipes telles que les ventes, le marketing et les finances peuvent comprendre ce qui se passe dans votre infrastructure (par exemple, quand vous allez déployer du code ou quand elles veulent savoir qui est responsable de quels systèmes et ce qu'ils font) sans avoir à se déplacer et à interrompre. Elles peuvent apprendre directement à partir du bot lui-même.

Automatiser les tâches manuelles

Les tâches qui étaient auparavant effectuées manuellement (et impliquaient souvent des erreurs humaines) sont désormais automatisées grâce au chatbot. Vous pouvez réduire les instructions SQL fastidieuses et sujettes aux erreurs saisies à la main ou mettre en place des tests appropriés autour de commandes souvent répétées. Une fois qu'une tâche est dans le chat, c'est un moyen rapide et facile pour les autres équipes de faire des demandes (fini le volley-ball des tickets !). ChatOps peut également améliorer votre processus de livraison continue. En comprenant facilement où un déploiement a commencé et qui l'a commencé, vous êtes en mesure de supprimer les tâches supplémentaires et le suivi manuel, et de déployer le code en continu tout au long de la journée.

Comment puis-je commencer ?

Vous souhaitez utiliser ChatOps dans votre entreprise ? Voici quelques conseils.

Choisissez votre bot

Les trois chatbots que nous avons listés ci-dessus (Lita, Hubot et Err) offrent aux équipes des options qui s'adaptent au mieux à leur flux de travail. Différents bots ont différents plugins et langages de développement allant de Ruby à Node en passant par Python, alors choisissez l'écosystème qui convient le mieux à votre entreprise.

Branche le

Hubot, Lita et Err proposent chacun des tonnes de scripts et de plugins, et votre équipe peut facilement utiliser n'importe lequel d'entre eux dès aujourd'hui. Découvrez quelques exemples ci-dessous :

  • Plugins Lita
  • Scripts Hubot : GitHub utilise /explain pour enquêter sur les requêtes MySQL lentes.
  • Pour une première étape simple, consultez lita-dig – un outil de recherche rapide d’enregistrements DNS.

Commencez petit et itérez

Il existe de nombreux outils, plugins et extras ChatOps puissants, il est donc probablement judicieux de commencer simplement et d'acquérir de l'expérience pour découvrir ce qui fonctionne le mieux pour votre équipe. Essayez différentes intégrations de bots et scripts dans la salle de discussion de votre équipe, puis restez avec ceux que vous préférez. Il peut y avoir des essais et des erreurs, mais ce n'est pas grave, cela fait partie du processus.

Plus vous vous habituerez à coder, à exécuter des commandes, etc. avec votre chatbot, plus vous deviendrez efficace. À mesure que votre équipe récoltera les bénéfices de l'utilisation de ChatOps, d'autres équipes (comme Front-End, Mobile, etc.) l'adopteront également et l'appliqueront de leur côté. Avec la participation des techniciens et des non-techniciens, vous développez non seulement des processus efficaces, mais aussi une culture plus axée sur le développement au sein de votre entreprise.

Ressources additionnelles

Monitoring_Ebook_728_90