Was ist ChatOps? Von der Pizza-Bestellung zu Continuous Delivery

Chats gibt es seit den Urzeiten des Internets. Irgendwann hatte einer die Idee, einen Computer, der Pizza-Bestellungen entgegennimmt, in einen Chat zuhängen.

Autor:  Cyrill Rüttimann

Chaträume gibt es seit den Urzeiten des Internets. Irgendwann kam jemand auf die Idee, einen Computer in einen Chat reinzuhängen, der Pizza-Bestellungen entgegennimmt. Und das war erst der Anfang…

Chaträume sind virtuelle Foren, in die man sich einwählen kann, um mit andern Leuten online zu chatten. Man verschickt Nachrichten, die ohne Zeitverzögerung bei den anderen Chat-Teilnehmern auf dem Bildschirm erscheinen. Beim hochscrollen, werden die vorgehenden Nachrichten sichtbar.

Etwa gleich alt wie Internet-Chaträume ist die Idee vom Chat-Bot. Dies ist ein Computer, der sich in einen Chatraum einwählt und mit den Chat-Teilnehmern interagiert. Frühe Chat-Bots konnten z.B. auf bestimmte Fragen eine Antwort liefern, wie z.B.: „Wie spät ist es?“. Bald einmal konnten sie Pizza-Bestellungen entgegennehmen.

Und warum sollte uns das interessieren?

Kommunikation ist eine der grössten Barrieren, die wir bei der Umstellung auf agile Software-Entwicklung und Continuous Delivery feststellen. Software-Teams sind geografisch verteilt, die einzelnen Abteilungen wissen wenig voneinander. Der Support weiss nicht, wer zuständig ist. Der Tester weiss nicht, was der Entwickler macht. Der Sys-Admin hat etwas gemacht, aber niemand traut sich ihn zu fragen. Viel zu viel muss von Hand gemacht werden. Und der Junior, der neu angefangen hat?

Hier kommt ChatOps ins Spiel.

Was ist ChatOps?

ChatOps ist ein Kollaborations-Modell, welches Menschen, Tools, Prozesse und Automatisierung in einem transparenten Arbeitsablauf verbindet (siehe Abbildung 1).

Abbildung-1_chatops.png
Abbildung 1: ChatOps verbindet Menschen, Tools, Automatisierung in einem transparenten Workflow

Es fängt an mit einem Chat-Raum, in dem sich die Projektmitarbeiter austauschen. Es kommen Chat-Bots hinzu, welche Auskunft geben über Zuständigkeiten, den Status von Deployments, etc… Andere Chatbots steuern Build-Prozesse und Deployments.

Ein Grundsatz bei ChatOps besteht darin, dass alles was integriert werden soll, eine digitale Schnittstelle (Web-API) haben muss. Softwarekomponenten ohne Web-API haben bei ChatOps keinen Platz mehr. Der unlimitierte Austausch von Informationen ist die Grundlage von ChatOps. Mittels Bots können wir diese APIs für menschliche Kommunikation zugänglich machen.

Wir bauen uns eine Welt, in der wir mit unseren Kollegen und unseren Tools auf eine menschliche Art plaudern können. Es ist diese Konversation, welche bei ChatOps im Zentrum der Zusammenarbeit steht. Ganz nebenbei bauen wir ein kollektives Wissen und ein Log über unsere Arbeit auf.

Neue Mitarbeitende tauchen sofort ein in den Informationskanal. Sie sehen – sozusagen am schlagenden Herzen – wie gearbeitet wird. So können sie sich schneller einarbeiten.

Warum jetzt?

Warum sollten Chat-Räume gerade jetzt die Informatik revolutionieren? Auf der einen Seite stehen wir bei der Einführung von DevOps und Continuous Delivery vor massiven Herausforderungen in der Kommunikation und Koordination zwischen Abteilungen und teilweise Kontinenten. Information ist das Lebensblut von Continuous Delivery.

Auf der anderen Seite stehen wir massiven Fortschritten in der Erforschung der künstlichen Intelligenz gegenüber.

Mit ChatOps können wir den Herausforderungen begegnen durch einfache, transparente, menschliche Kommunikation. Und wir können von den Fortschritten der Forschung profitieren und immer intelligentere Chat-Bots bauen, welche uns bei unserer Arbeit unterstützen.

Abbildung-2-chatops.png
Abbildung 2: ChatOps Erfolgsfaktoren: Kommunikations-Bedarf, APIs und künstliche Intelligenz (AI)

Nicht zuletzt sehen wir, dass sich APIs immer mehr ausbreiten und so neue Tools und Services für ChatOps erschliessen (siehe Abbildung 2).

Und… Taugt es etwas?

Immer die Frage bei diesen Hype-Themen. Taugt es was? Das Thema ist brandheiss. Es gibt aber aktuell noch keine Hersteller, die diesbezüglich mit Produkten auf dem Markt auftreten. Microsoft arbeitet an einer Plattform und einem Bot.

Wir haben uns entschieden, anhand eines Prototyps herauszufinden, ob etwas Taugliches hinter dem Ansatz steckt. Lesen Sie dazu unseren Blog-Beitrag «Prototyping»