Der Blog

Was ist ChatOps?

von Eric Sigler 2. Dezember 2014 | 5 Minuten Lesezeit

Sie hören das Wort ChatOps wahrscheinlich immer häufiger – auf Konferenzen, auf Reddit und Hacker News oder am Wasserspender (oder Fass). Aber was bedeutet es eigentlich? Und warum und wie würden Sie es in Ihrem Unternehmen implementieren?

ChatOps, ein Begriff, der weitgehend GitHub zugeschrieben wird dreht sich alles um konversationsgesteuerte Entwicklung. In einem Chatroom geben Teammitglieder Befehle ein, die der Chatbot über benutzerdefinierte Skripte und Plug-Ins ausführen soll. Diese können von Codebereitstellungen über Reaktionen auf Sicherheitsereignisse bis hin zu Benachrichtigungen von Teammitgliedern reichen. Indem Sie Ihre Tools in Ihre Konversationen einbringen und einen Chatbot verwenden, der für die Arbeit mit wichtigen Plug-Ins und Skripten angepasst wurde, können Teams Aufgaben automatisieren und zusammenarbeiten. Sie arbeiten besser, günstiger und schneller – und das gesamte Team kann in Echtzeit zusammenarbeiten, während Befehle ausgeführt werden.

Screen Shot 2014-12-02 at 2.11.12 PM

In der Entwicklung verwendete ChatOps-Befehle.

Helfen Sie Ihren Teams, besser zu kommunizieren und zusammenzuarbeiten

Lassen Sie uns das etwas genauer aufschlüsseln. Sie verwenden wahrscheinlich einen Chat-Client bei der Arbeit. HipChat, Slack, Flowdock und Campfire sind einige häufig verwendete Tools. Wenn Sie bereits eines davon im Einsatz haben, sind Sie auf dem richtigen Weg. Dann gibt es noch die Chatbots – und sie sind alle Open Source.

Screen Shot 2014-12-02 at 9.47.12 AM

Obwohl Chatbots die Befehle ausführen, gibt es manchmal auch Bereitstellungsserver, die auf diese Befehle warten und die schwere Arbeit der Ausführung von Bereitstellungsaufgaben als Hintergrundjobs übernehmen. Bei GitHubs Hubot heißt der Bereitstellungsserver Heaven. Sehen Sie sich an, wie Flowdock kürzlich ChatOps mit diesen Tools in seinen Workflow implementiert hat. Ähnlich wie Hubot dem Himmel sagt, was er tun soll, sagt der Bot von PagerDuty, Officer URL, Igor, unserem Bereitstellungsserver, was er tun soll.

Die Ergebnisse?

Transparenz auf ganzer Linie

Jeder kennt die Mühe, herauszufinden, ob ein bestimmter Befehl von einem Kollegen ausgeführt wurde. ChatOps hilft dabei, diese Arbeit in den Vordergrund zu rücken, indem es alles an einem Ort zusammenfasst – alle Aktionen, Benachrichtigungen und Diagnosen werden vollständig angezeigt. Dies ermutigt Teams, transparent zu sein. Verschiedene Plugins können dazu beitragen, allen mehr Informationen zugänglich zu machen (z. B. durch Ersetzen undurchsichtiger IP-Adressen durch DNS-Namen und andere Metadaten). Abgesehen davon, dass es von Anfang an effizienter arbeitet, hilft es auch neuen Mitarbeitern, direkt einzusteigen und durch praktische Erfahrung zu lernen, und vereinfacht die typischen Arbeitsabläufe, die Teams zum Bereitstellen und Diagnostizieren verwenden. (Ganz zu schweigen davon, dass es die Remote-Arbeit um einiges einfacher macht.)

Auf diese Weise gelingt es uns bei PagerDuty auch, Talente besser einzuarbeiten, unsere Infrastruktur durch Automatisierung zu verbessern und – wie Jesse Newland von GitHub sagt – die Tools in den Mittelpunkt der Diskussion zu stellen.

Der Einsatz von ChatOps kommt sogar nichttechnischen Teams zugute. Durch einen zentralen Ort für chatbasierte Tools können Teams wie Vertrieb, Marketing und Finanzen verstehen, was in Ihrer Infrastruktur vor sich geht – beispielsweise wann Sie Code bereitstellen oder wann sie erfahren möchten, wer für welche Systeme und deren Aufgaben verantwortlich ist – ohne hinübergehen und unterbrechen zu müssen. Sie können direkt vom Bot selbst lernen.

Automatisieren Sie manuelle Aufgaben

Aufgaben, die früher manuell erledigt wurden (und häufig menschliches Versagen beinhalteten), werden jetzt durch den Chatbot automatisiert. Sie können mühsame und fehleranfällige, von Hand eingegebene SQL-Anweisungen reduzieren oder geeignete Tests für häufig wiederholte Befehle einrichten. Sobald eine Aufgabe im Chat ist, können andere Teams schnell und einfach Anfragen stellen (kein Ticket-Volleyball mehr!). ChatOps kann auch Ihren kontinuierlichen Bereitstellungsprozess verbessern. Indem Sie leicht nachvollziehen können, wo eine Bereitstellung begonnen hat und wer sie gestartet hat, können Sie zusätzliche Aufgaben und manuelle Nachverfolgung vermeiden und den Code den ganzen Tag über kontinuierlich bereitstellen.

Wie fange ich an?

Möchten Sie ChatOps in Ihrem Unternehmen einsetzen? Hier sind einige Tipps.

Wählen Sie Ihren Bot

Die drei oben aufgeführten Chatbots – Lita, Hubot und Err – bieten Teams Optionen, die am besten zu ihrem Arbeitsablauf passen. Verschiedene Bots haben unterschiedliche Plugins und Entwicklungssprachen von Ruby über Node bis Python. Wählen Sie also das Ökosystem aus, das am besten zu Ihrem Shop passt.

Steck es ein

Hubot, Lita und Err bieten jeweils eine Vielzahl von Skripten und Plugins an – und Ihr Team kann jedes davon heute problemlos verwenden. Sehen Sie sich unten einige Beispiele an:

  • Lita-Plugins
  • Hubot-Skripte: GitHub verwendet /explain, um langsame MySQL-Abfragen zu untersuchen.
  • Für einen einfachen ersten Schritt schauen Sie sich Lita-Dig – ein schnelles Tool zur Suche nach DNS-Einträgen.

Fangen Sie klein an und iterieren Sie

Es gibt viele leistungsstarke ChatOps-Tools, Plugins und Extras. Daher ist es wahrscheinlich eine gute Idee, einfach anzufangen und Erfahrungen zu sammeln, um herauszufinden, was für Ihr Team am besten funktioniert. Probieren Sie verschiedene Bot-Integrationen und Skripte in Ihrem Team-Chatroom aus und bleiben Sie dann bei denen, die Ihnen am besten gefallen. Möglicherweise müssen Sie ein wenig herumprobieren – aber das ist in Ordnung, es ist Teil des Prozesses.

Je mehr Sie sich daran gewöhnen, mit Ihrem Chatbot zu programmieren, Befehle auszuführen usw., desto effizienter werden Sie. Wenn Ihr Team die Vorteile des Einsatzes von ChatOps nutzt, werden auch andere Teams – wie Front-End, Mobile und andere – es verstehen und auf ihrer Seite implementieren. Mit der Beteiligung der technischen und nicht-technischen Mitarbeiter entwickeln Sie nicht nur effiziente Prozesse, sondern auch eine stärker entwicklungsorientierte Kultur in Ihrem Unternehmen.

Zusätzliche Ressourcen

Monitoring_Ebook_728_90