Eines der am häufigsten verwendeten Schlagworte in der IT ist definitiv DevOps. Viele Unternehmen setzen DevOps-Praktiken ein, um schnellere, bessere und kostengünstigere Releases von Funktionen in der Produktion bereitzustellen. John Willis und Damon Edwards haben den Kern der DevOps-Bewegung im Jahr 2010 beschrieben: Bei DevOps geht es darum, die Silos zwischen den Teams aufzubrechen und eine Kultur der Automatisierung, Messung und gemeinsamen Nutzung innerhalb der Teams zu schaffen. In diesem Artikel zeigen wir Ihnen, wie die Implementierung von ChatOps die DevOps-Bewegung in Ihrem Unternehmen beschleunigt.
Warum ChatOps?
Wahrscheinlich kennen Sie eine Situation, in der Sie eine Arbeit erledigen müssen, die normalerweise von einem Kollegen erledigt wird, und Sie keine Ahnung haben, wie Sie sie lösen können. Wäre es nicht schön, wenn Sie sehen könnten, wie er diese Aufgabe in der Vergangenheit gelöst hat? Oder wäre es nicht toll, wenn er sich entschließen würde, die Aufgabe zu automatisieren, so dass Sie sie sofort ausführen können, ohne die inneren Details zu kennen? Eine andere Situation, die Sie wahrscheinlich kennen, ist die, in der Sie wegen eines Produktionsvorfalls von hoher Priorität zu einem War-Room-Meeting mit dem Management-Team gebeten werden. Während dieser Sitzung muss das Managementteam über eine Lösung entscheiden, ohne die Details zu kennen. Ihre Aufgabe ist es, sie mit den aktuellsten Informationen zu versorgen. Aber wäre es nicht effizienter und effektiver, an einem zentralen Ort an der Lösung des Problems zu arbeiten, anstatt in einer Sitzung über den Vorfall zu sprechen? Wäre es nicht besser, wenn das Management bereits über die Feinheiten Bescheid wüsste, weil es sich durch einen Blick auf die letzten Unterhaltungen im Chatroom ständig die neuesten Erkenntnisse verschaffen kann?
ChatOps geht die oben genannten Herausforderungen an, indem es die anstehende Arbeit mit dem Kontext der Gespräche in Einklang bringt. Oder wie andere sagen: Sie erledigen den größten Teil Ihrer Arbeit vom selben Chatraum aus, in dem Sie auch Ihre Unterhaltungen führen. Ganz gleich, ob Sie mit Ihren Teammitgliedern kommunizieren oder eine operative Aufgabe erledigen müssen, Sie tun dies alles bequem von einer einzigen Befehlszeilenschnittstelle aus. Anstatt die notwendigen Informationen aus verschiedenen Tools und Quellen zu sammeln und mit Querverweisen zu versehen, um eine Aufgabe zu erledigen, geben Sie einfach einen Befehl in den Chat ein, der Sie mit allen benötigten Informationen versorgt. Alle Interaktionen mit externen Systemen und Ihren Teammitgliedern werden an einer zentralen Stelle protokolliert und initiiert. Wenn ich Code bereitstellen möchte, gebe ich einen Befehl in den Chat ein und muss nichts über das Tool wissen, das die Bereitstellung ausführt. Wenn ich Berichte über die Arbeitsgeschwindigkeit unserer Teams erhalten möchte, gebe ich einen Befehl in den Chat ein. Wenn ich eine Datenbanksicherung in der Produktionsumgebung wiederherstellen möchte, gebe ich einen Befehl in den Chat ein. Das alles mache ich bequem und sicher von einem zentralen Chatroom aus, der meine Aktivitäten automatisch protokolliert und für den Rest des Unternehmens sichtbar macht.
Viele DevOps-Implementierungen stehen vor der Herausforderung, die DevOps-Kultur der Automatisierung, Messung und gemeinsamen Nutzung zu verinnerlichen. Wie kann man eine automatisierungsorientierte Denkweise und ein automatisierungsorientiertes Verhalten sicherstellen? Wie lässt sich der Wissensaustausch innerhalb der Teams und sogar zwischen verschiedenen Teams einbinden? Wie kann man sicherstellen, dass die Teams über alle Vorgänge transparent bleiben? ChatOps ist ein Beschleuniger für einen solchen Kulturwandel, indem es die Arbeitsausführung über automatisierte Befehle erzwingt, die Macht der Automatisierung nutzt, um den Wissensaustausch zu erleichtern, und eine Self-Service-Berichtsumgebung über den Chat bereitstellt.
Was ist ChatOps?
Der Kern von ChatOps ist, dass wir als Team unser Wissen automatisieren (mit Hilfe von Bots) und dieses Wissen als Befehl in unserem Chatroom zur Verfügung stellen, um zu verhindern, dass unser Team vom institutionellen Wissen der Teammitglieder abhängig ist. Der Bewegung von ChatOps zu folgen bedeutet, dass Sie so viel relevante Arbeit und Wissen wie möglich automatisieren. All diese Informationen sollten über den zentralisierten Team-Chat zugänglich sein. Da dieser Team-Chat auch zur Kommunikation über die Arbeit genutzt wird, erhalten wir ein durchgängiges Protokoll über alle Aktionen und die Kommunikation, die zur Erledigung eines bestimmten Auftrags stattgefunden haben.
Tagtäglich erweitern wir die Menge der automatisierten Befehle, damit auch andere davon profitieren können. Um uns selbst zu zwingen, diese Befehle weiter zu automatisieren, folgen wir innerhalb des Teams einem einzigen Verfahren: Die einzige Möglichkeit zu erfahren, ob eine tägliche Aufgabe oder eine Erkenntnis automatisiert ist, besteht darin, einen Befehl in den Team-Chat zu tippen. In dem Moment, in dem Sie erwarten, dass eine bestimmte Aufgabe automatisiert wird, dies aber nicht der Fall zu sein scheint, kann das ganze Team sehen, dass Sie erwartet haben, dass eine Aufgabe oder ein Einblick automatisiert wird. Wenn das passiert, gilt die eine zentrale Regel von ChatOps: "Wenn etwas nicht automatisiert ist, müssen Sie es automatisieren!".
Vorteile
Die Anwendung von ChatOps bietet zahlreiche Vorteile. Die folgende Liste enthält ein paar ausführliche Beispiele:
- Verbesserte Zusammenarbeit: Durch die Zentralisierung aller Interaktionen mit Ihren Systemen und Ihrem Team in einer zentralen Befehlszeilenschnittstelle profitieren Sie von einer verbesserten Zusammenarbeit innerhalb Ihres Teams. Jeder in Ihrem Team kann die Kommunikation sehen, die in Ihrem Chatroom stattgefunden hat, und das sorgt dafür, dass die Teammitglieder stärker eingebunden sind.
- Sofortige Informationen: ChatOps beschleunigt den Entscheidungsprozess. Anstatt Informationen von verschiedenen Systemen und Personen sammeln zu müssen, ermöglicht ChatOps die sofortige Beschaffung all dieser Informationen durch die Eingabe eines einzigen Befehls in Ihren Chatroom.
- Wissensaustausch: Besonders bei verteilten Teams hilft ChatOps beim Wissensaustausch und bei der Abstimmung der Kommunikation. Jedes Teammitglied kann den gesamten Chatverlauf einsehen und muss innerhalb des Chats die gleiche Sprache sprechen. Jeder einzelne Befehl wird protokolliert, so dass jeder weiß, was auf einem bestimmten Server oder in einer bestimmten Umgebung passiert ist. Dadurch wird sichergestellt, dass alle Beteiligten in Bezug auf Kommunikation und Sprache auf dem gleichen Stand sind und dass neue Teammitglieder sehr schnell in ein Gespräch einsteigen können. Da gängige Aufgaben automatisiert sind, kann jeder im Team eine bestimmte Aufgabe ausführen, ohne sich mit den technischen Feinheiten auskennen zu müssen.
Wie fangen Sie an?
Wenn Sie Ihr Team mit ChatOps zum Laufen bringen wollen, müssen Sie erst einmal investieren. Die Investition wird sich auszahlen, wenn Sie die Aufgaben, die Sie von Hand erledigen, automatisieren. Fangen Sie klein an, um ein Gefühl dafür zu bekommen, was sinnvoll ist und was nicht. Am wichtigsten ist, dass Sie nicht alles selbst erfinden, sondern ein fauler Entwickler sind, indem Sie ein Paket verwenden, das die Integration in Ihre Chat-Plattform übernimmt. Es macht zwar Spaß, es selbst zu entwickeln, ist aber nicht sehr effizient. Es gibt Frameworks, die sich in Ihre bevorzugte Chat-Umgebung integrieren lassen. Wählen Sie also ein Framework, das eine Programmiersprache verwendet, die Ihrem Team vertraut ist. Jeder sollte in der Lage sein, zu Ihren Tools und Automatisierungen beizutragen. Wenn es einfach ist, wird es Teil der normalen Arbeit und der alltäglichen Aufgaben werden.
Die Erstellung Ihres ersten ChatBots kann in wenigen Stunden erfolgen, vorausgesetzt, Sie verfügen bereits über einen gemeinsamen Chat-Arbeitsbereich, der für die Bot-Integration geeignet ist. In ein paar Stunden sollten Sie in der Lage sein, einen einfachen Befehl aus dem Chat an Ihren Chatbot zu senden, der dann etwas mit Ihrer Anwendung macht. Ein Beispiel: Wenn Sie Slack verwenden, können Sie es mit Slash-Befehlen, Web-Hooks oder einem Bot integrieren. Ein Bot ist eine gute Wahl für ChatOps. Für die Slack-Integration gibt es bereits Frameworks, die die ganze Arbeit für Sie erledigen. Sie müssen nur noch den eigentlichen Code implementieren, der in Ihre Anwendung integriert wird. Wählen Sie ein Bot-Framework, das am besten zu Ihrem Entwicklungsstack passt. Wenn Sie den Chatbot zum Laufen gebracht haben, besteht der nächste Schritt darin, die Funktionen auszuwählen, die Sie im Chat ausführen möchten. Halten Sie es einfach, indem Sie kleine Funktionen erstellen. Lernen Sie, was funktioniert und was nicht. Beginnen Sie damit, eine kurze Beschreibung zu schreiben, wie der neue Befehl heißen soll. Sie können diese Beschreibung im Team besprechen, um zu sehen, ob sie Ihnen helfen wird. Einige Dinge, mit denen Sie beginnen können:
- Protokolle prüfen
- Starten Sie die Anwendung neu
- Anwendungsstatus melden
- Starten Sie einen Batch-Prozess
- Integration von Anwendungstests durchführen
- Starten Sie einen Einsatz
- Hinzufügen/Entfernen eines Benutzers
- Aktualisieren Sie die Datenbank
- Datenbankversion prüfen
- Automatisieren Sie ein Tool, das Sie verwenden.
Führen Sie die Implementierung durch und zeigen Sie sie im Sprint-Review. Denken Sie daran, es klein zu halten und den Mehrwert für das Team zu bewerten. Verwalten Sie es in PBIs in Ihrem Backlog, um die richtige Priorität zu erhalten. Das Ziel ist es, Ihr Team produktiv zu halten. Durch die Automatisierung wiederkehrender alltäglicher Arbeiten haben Sie mehr Zeit, um dem Produkt, das Sie entwickeln, echten Wert zu verleihen.
Fazit
Wir haben gesehen, dass ChatOps eine ganze Reihe von Vorteilen bietet, wie z.B. verbesserte Zusammenarbeit, Effizienz, Wissensaustausch und sofortige Protokollierung. ChatOps kann auch genutzt werden, um Barrieren zwischen Teams abzubauen. In unserer täglichen Arbeit haben wir großartige ChatOps-Implementierungen gesehen, bei denen die Reibung zwischen den Sicherheits-, Compliance- und Entwicklungsteams durch die Self-Service-Infrastrukturbereitstellung per Chat beseitigt wurde. Zögern Sie also nicht und beschleunigen Sie Ihre DevOps-Implementierung, indem Sie ChatOps in den Mix aufnehmen!
Contact
