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 terme « ChatOps » : lors de conférences, sur Reddit et Hacker News, ou autour de la machine à café (ou d'un verre). Mais que signifie-t-il exactement ? Et pourquoi et comment le mettre en œuvre dans votre organisation ?

ChatOps, un terme largement attribué à GitHub , est un développement axé sur la conversation. Dans une salle de chat, les membres de l'équipe saisissent des commandes que le chatbot est configuré pour exécuter via des scripts et des plugins personnalisés. Ces commandes peuvent aller du déploiement de code aux réponses aux événements de sécurité, en passant par les notifications aux membres de l'équipe. En intégrant vos outils à 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, pour un travail plus efficace, plus rapide et moins coûteux, permettant à 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

Analysons cela plus en détail. Vous utilisez probablement un client de chat au travail. HipChat, Slack, Flowdock et Campfire sont des outils courants, et si vous en possédez déjà un, vous êtes sur la bonne voie. Il existe également les chatbots, tous open source.

Screen Shot 2014-12-02 at 9.47.12 AM

Bien que les chatbots se chargent des commandes, il arrive que des serveurs de déploiement soient également à l'écoute de 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 est appelé 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à connu la difficulté de déterminer si une commande particulière a été exécutée par un collègue. ChatOps permet de mettre ce travail au premier plan en centralisant toutes les actions, notifications et diagnostics de chacun. Cela encourage la transparence au sein des équipes. Différents plugins permettent de rendre plus d'informations accessibles à tous (en remplaçant les adresses IP opaques par des noms DNS et d'autres métadonnées, par exemple). Outre une efficacité opérationnelle accrue dès le départ, ChatOps permet aux nouveaux employés d'apprendre par la pratique et simplifie les flux de travail habituels des équipes pour le déploiement et le diagnostic. (Sans oublier que le télétravail est grandement simplifié.)

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 du ChatOps profite même aux équipes non techniques. En centralisant les outils de chat, les équipes commerciales, marketing et financières peuvent comprendre l'activité de votre infrastructure (par exemple, quand déployer du code ou quand elles souhaitent savoir qui est responsable de quels systèmes et ce qu'ils font) sans avoir à intervenir. Elles peuvent apprendre directement depuis le bot lui-même.

Automatiser les tâches manuelles

Les tâches auparavant effectuées manuellement (et souvent liées à des erreurs humaines) sont désormais automatisées grâce au chatbot. Vous pouvez réduire les instructions SQL manuelles, fastidieuses et sujettes aux erreurs, ou mettre en place des tests appropriés pour les commandes souvent répétées. Une fois une tâche dans le chat, les autres équipes peuvent facilement et rapidement formuler des demandes (fini le « volley-ball » !). ChatOps peut également améliorer votre processus de livraison continue. En comprenant facilement où et par qui un déploiement a commencé, vous pouvez éliminer les tâches superflues et le suivi manuel, et déployer du code en continu tout au long de la journée.

Comment puis-je commencer ?

Vous souhaitez intégrer ChatOps à votre entreprise ? Voici quelques conseils.

Choisissez votre bot

Les trois chatbots présentés ci-dessus – Lita, Hubot et Err – offrent aux équipes des options adaptées à leurs flux de travail. Chaque chatbot possède des plugins et des langages de développement différents, allant de Ruby à Node en passant par Python. Choisissez donc l'écosystème le mieux adapté à votre activité.

Branchez-le

Hubot, Lita et Err proposent chacun une multitude de scripts et de plugins, et votre équipe peut facilement les utiliser dès aujourd'hui. Voici quelques exemples :

  • 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 performants. Il est donc conseillé de commencer simplement et d'acquérir de l'expérience pour trouver ce qui fonctionne le mieux pour votre équipe. Testez différentes intégrations de bots et scripts dans votre salle de chat, puis conservez ceux qui vous conviennent le mieux. Il y aura peut-être des essais et des erreurs, mais ce n'est pas grave, cela fait partie du processus.

Plus vous vous familiariserez avec le codage et l'exécution de commandes avec votre chatbot, plus vous gagnerez en efficacité. À mesure que votre équipe tirera profit du ChatOps, d'autres équipes, comme celles du front-end et du mobile, l'adopteront également et le mettront en œuvre de leur côté. Grâce à la participation des équipes techniques et non techniques, vous développez non seulement des processus efficaces, mais aussi une culture d'entreprise davantage axée sur le développement.

Ressources supplémentaires

Monitoring_Ebook_728_90