Nach dem Deployment einer Applikation in der Cloud und deren Go-Live beginnt der Regelbetrieb. Je reibungsloser er vonstatten geht, desto besser. Bis alles passt, haben Entwickler und Admins einiges zu tun. Der IT-Dienstleister ConSol nennt fünf Aufgaben.
Aufgabenplanung: Sprechen DevOps-Teams von „Day 0“, „Day 1” und „Day 2“, geht es weniger um die genaue Zeiteinteilung als vielmehr um die chronologische Abfolge. Mit Day 0 ist das Deployment einer Cloud-Anwendung gemeint, Day 1 markiert deren Go-Live und am Day 2 beginnt der Regelbetrieb. Während die ersten beiden Phasen eines Cloud-Projekts häufig sehr stressig sind, wünschen sich Entwickler und Admins für den Betrieb der Cloud-Anwendung möglichst wenig Aufregung. Wie sie diesen Zustand erreichen, erklärt der IT-Dienstleister ConSol – und gibt einen Ausblick, worauf sich DevOps-Teams am Day 3 einstellen müssen.
1. Automatisierung ist das A und O
Das Versprechen der Cloud-nativen Entwicklung besteht darin, neue Features schneller in Produktion zu bringen als zuvor. Das funktioniert allerdings nur, wenn nicht bei jedem Update ein Plattform-Team die Deployments manuell durchführen muss. Automatisierung ist daher unverzichtbar, um die Vorteile der Cloud in vollem Umfang zu nutzen. Fortschrittliche DevOps-Teams setzen dafür auf Continuous-Integration- und Continuous-Deployment-Pipelines. Diese Fachbegriffe bezeichnen feste Prozesse, die vollständig in Code gegossen sind und die bei Code-Änderungen automatisch ablaufen.
2. Observability verbessert die Fehlerprävention
Wissen ist Macht – das gilt auch für die Fehlersuche in IT-Systemen. Leider verhindern auch gute Review-Prozesse und automatisierte Tests in Continuous-Deployment-Pipelines nicht sämtliche Fehler. Daher benötigen DevOps-Teams Observability, die ihnen Informationen aus drei Quellen bereitstellt: Metriken, Logs und Traces. Metriken liefern den Experten Kennzahlen, um Probleme schnell zu erkennen. Logs erlauben ihnen zu sehen, was genau in einer Applikation vor sich geht. Und Traces unterstützen sie schließlich dabei, Aufrufe und eben auch Fehler zwischen verteilten Systemen nachzuvollziehen. Die Korrelation der Daten bringt einen großen Mehrwert gegenüber dem reinen Monitoring, bei dem DevOps-Teams ihre Systeme nur dahingehend überwachen, ob sie einwandfrei laufen.
3. Optimierung ist vor allem eine Frage der Architektur
Um Cloud-native Anwendungen so effizient wie möglich zu gestalten, setzen Entwickler auf eine Microservices-Architektur. Die Aufteilung in kleinere überschaubare Services, die untereinander kommunizieren, erleichtert deren Wartung und Weiterentwicklung. Zudem müssen DevOps-Teams nicht das gesamte System anfassen, nur um einzelne Teile einer Anwendung zu ändern. Setzen sie zudem auf automatisierte Continuous-Deployment-Pipelines, können Entwickler und Admins sehr schnell auf sich ändernde Anforderungen reagieren. Microservices-Architekturen sorgen zudem dafür, dass sie einzelne Anwendungsteile unabhängig voneinander skalieren können.
4. IT-Sicherheit hat viele Facetten
Das Thema Sicherheit lässt sich nicht pauschalisieren. Das komplexe Feld umfasst unter anderem das passende Training für Entwickler und Administratoren sowie das Live-Monitoring der Aktivitäten in und um die eigentliche Anwendung herum. Ein gerade für das Cloud-native Umfeld sehr wichtiges Sicherheits-Asset ist Infrastructure as Code. Bei dieser Methode ist nicht nur die Applikation selbst, sondern auch die gesamte Konfiguration einer IT-Infrastruktur als Code definiert. Dadurch können DevOps-Teams zu jedem Zeitpunkt den Zustand des Systems prüfen und verifizieren, sodass sich Sicherheitslücken seltener einschleichen. Auch die Möglichkeit, den Code vor dem Deployment zu prüfen, senkt das Sicherheitsrisiko.
5. Künstliche Intelligenz hat Zukunft
Ist alles optimiert und sicher und der Betrieb läuft reibungslos, schlägt die Stunde der künstlichen Intelligenz: Mit ihr ist es möglich, die Automatisierung anhand von Algorithmen und Machine-Learning-Verfahren noch weiter voranzutreiben, sodass DevOps-Teams nur noch wenige Aufgaben manuell erledigen müssen. Das Verfahren für den automatisierten Betrieb sowie die Optimierung und Überwachung von IT-Infrastrukturen und Cloud-nativer Anwendungen nennt sich Artificial Intelligence für IT-Operations.In der Kombination von Big Data Analyse und Machine Learning erkennt diese Technologie Anomalien und findet die Ursachen für Fehler.
„Mit dem erfolgreichen Deployment und dem Go-Live einer Cloud-nativen Anwendung ist die Arbeit für DevOps-Teams noch nicht vorbei, sondern hat gerade erst begonnen“, erläutert Lukas Höfer, Cloud Solutions Architect bei ConSol. „Entwickler und Administratore sind nun gefodert, den reibungslosen Betrieb der Anwendung sicherzustellen und deren Effizienz zu steigern. So schaffen sie ein Fundament für weiterführende Technologien.“ Jürgen Frisch