Bevor wir über ChatOps, automatisierte Systeme und „Autonomous Infrastructure“ sprechen, muss jedem Unternehmen bewusst sein, was im aktuellen Pflichtenheft steht: Automatisierung! Heute stehen vielerorts noch Legacy-Systeme im eigenen Rechenzentrum, während Cloud-fähige Applikationen bereits in der Cloud betrieben werden und Cloud-native Apps ihren kompletten Lebenszyklus in Containern durchlaufen. Es gibt also immer noch genügend Systeme, die nicht über eine hinreichende Flexibilität und den notwendigen Automatisierungsgrad verfügen. Wir sprechen hier über die Bereitstellungszeit für neue Server (zum Teil immer noch im Wochenbereich), über die Konfiguration der Server, das Netzwerk, den Speicher und so weiter.
Dies muss für einen modernen IT-Betrieb deutlich geändert werden. Alle Komponenten einer modernen IT-Landschaft inklusive der Konfigurationen müssen per idempotenter Skripte beziehungsweise Beschreibungssprachen automatisch erstellt werden können. Dies bedeutet, dass das Skript oder die Beschreibungssprachen der Landschaft dafür sorgt, dass die gewünschte Konfiguration automatisch und auch nur in der gewünschten Anzahl ausgeführt wird. Dieser Zustand muss überwacht werden und ebenso bei Fehlern dann automatisch korrigiert werden können.
Wozu die ganze Automatisierung? Bots sollen und können bereits viele Aufgaben in unserem Alltag übernehmen. Denken wir beispielsweise an Siri oder Amazon Echo. Doch damit die Aufgaben erfüllt werden können, muss eine Integration von einfachen Anweisungen erfolgen können. Dies geht nur, wenn die Automatisierung soweit fortgeschritten ist, dass die Bots den entsprechenden Befehl dann auch ausführen können. Ein Beispiel hierzu: Ähnlich, wie ich einem Amazon Echo per Sprachbefehl mitteilen kann, die Temperatur um ein paar Grad zu erhöhen, sollte es möglich sein, einem Bot mitzuteilen ein neues Release der eigenen Anwendung zu deployen. Beides geht nur, wenn alle Plattformen entsprechend in die Frameworks des genutzten Kommunikationsinterfaces integriert worden sind.
Warum Unternehmen automatisieren sollten
Automatisierung bietet Sicherheit, Verbesserung der internen Unternehmenskommunikation und Nachvollziehbarkeit aller Schritte. Hat ein Unternehmen bereits einen hohen Grad an Automatisierung erreicht, dann beginnt die Integration in Chat-Plattformen, wie beispielsweise Slack oder HipChat.
Dies hat den Vorteil, dass die natürliche Art und Weise, wie Ihre Mitarbeiter bereits miteinander kommunizieren, auf den Bereich der IT erweitert wird. Damit haben dann Ihre Mitarbeiter eine enge soziale Bindung durch die Chat-Plattform (Katzenvideos, Emojis und Co.) und ebenso Kontrolle über die Infrastruktur, das Monitoring und Logging. Ebenso erhalten Sie mehr Kontrolle über die Arten der Operationen, welche die Nutzer ausführen können. Eines der einfachsten und effektivsten Beispiele ist, dass in Ihrem Unternehmen niemand mehr SSH-Zugriff auf die Server hat – auch nicht die Administratoren. Denn dadurch, dass ich die Infrastruktur beschreibe und die Erstellung durch Automatisierungstools erfolgt, benötigt auch niemand mehr einen SSH-Zugang.
Im Falle eines Fehlers wird die aktuelle Instanz zerstört und eine neue erstellt. Ferner können alle Schritte, die beispielsweise für die Live-Schaltung einer neuen Version einer Applikation notwendig sind, durch Prüfungen und Verifikationen abgesichert werden. Dadurch sind alle Abhängigkeiten im Hintergrund geprüft und ein einfaches Kommando genügt, um den Prozess anzustoßen.
Die KI greift ein
Mit der Automatisierung können dann Bots und auch ein Stück künstliche Intelligenz in die Prozesse einbezogen werden. Die Bots stellen dabei quasi einen neuen Mitarbeiter dar, welcher viele Abläufe und Teilaufgaben steuern und abarbeiten kann. Oftmals geht es um die Ausführung von einfachen vorher definierten Schritten.
Die Integration der einzelnen externen Systeme in die Chat-Plattform ermöglicht es den Bots die Informationen aus den externen Systemen aufbereitet an den Nutzer zurückzugeben. Ebenso sollte die Integration auch bidirektional erfolgen, so dass der Bot dann die gewünschten Anweisungen entsprechend umzusetzen kann. Dies geschieht durch den Aufruf der entsprechenden REST-Schnittstelle der externen Systeme.
Die künstliche Intelligenz kann dann dazu genutzt werden, auftretende Fehler selbständig zu lösen. Dies kann durch das Lernen von bereits gelösten ähnlichen Problemen erfolgen und ist ein langsamer und schrittweiser Prozess, der auch den Aufbau einer Wissensdatenbank erfordert. Ob das Wissen dann in einer Datenbank, einem Graphen oder einer anderen technischen Form implementiert wird, hängt von der Umsetzung der Integration der KI in Ihrem Unternehmen ab.
Die Vorteile von Automatisierung und ChatOps
Ich habe bereits einige Vorteile angeführt: Sicherheit, Nachvollziehbarkeit, Steigerung der sozialen Interaktion im Unternehmen. Die Schaffung einer automatisierten IT-Landschaft versetzt Sie in die Lage an vielen anderen Stellen schneller zu Ergebnissen zu kommen, beispielsweise bei der Umsetzung eines effektiven und umfassenden Business- und Technologie-Monitorings.
Dies ist ein weiterer wichtiger Schritt zu einer modernen Applikationslandschaft. Denn zu jedem Zeitpunkt zu wissen, welche Bestellung in welchem Prozessschritt Ihres Unternehmens aktuell durchläuft, ist Gold wert. Ebenso ist die Kenntnis über den Zustand der einzelnen Komponenten der IT-Landschaft unverzichtbar. Mit Hilfe des Monitorings können dann im nächsten Schritt auch entsprechende KPIs festgelegt werden, damit eine Messung der Performance für und über das Unternehmen möglich werden.
Mit Hilfe der Automatisierung können diese Schritte erreicht werden. ChatOps sind dabei die nächste natürliche Evolutionsstufe von weltweit verteilten Teams. Und auch die Gesellschaft kommuniziert immer mehr über Messenger. Dies hat auch im Unternehmen längst Einzug gehalten. Demnach ist die Integration von Bots in die im Unternehmen eingesetzte Chat-Plattform der nächste Evolutionsschritt. Damit wachsen dann auch im Idealfall die neuen Organisationsstrukturen automatisch zusammen, welche im Zuge der Digitalisierung angegangen werden müssen.
Die Fachabteilungen, der IT-Betrieb und die Entwickler können gemeinsam alle inhaltlichen und organisatorischen Schritte auf einer gemeinsamen Plattform besprechen und auch nachvollziehen. Dies ist besonders hilfreich bei der schnellen Integration neuer Mitarbeiter oder beim Suchen von Fehlerquellen. Und selbst ein Mitarbeiter aus der Fachabteilung kann dann einen Server starten oder eine neue Applikation ausrollen, wenn es einmal notwendig sein sollte. Daher lautet die Aufgabe: automatisieren, automatisieren, automatisieren! (haf)