Nach dem Deployment einer Applikation in der Cloud und deren Live-Gang beginnt die dritte Phase ihres Lebenszyklus: der Regelbetrieb. Je langweiliger er vonstatten geht, desto besser. Doch bis alles reibungslos läuft, haben Entwickler wie Admins noch einiges zu tun. Consol nennt fünf essentielle Aufgaben für den sogenannten „Day after“.
Wenn DevOps-Teams von „Day 0“, „Day 1” und „Day 2“ sprechen, 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 Live-Gang 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 Langeweile.
Wie sie diesen Zustand erreichen, erklärt Consol – und gibt einen Ausblick, worauf sich DevOps-Teams am Day 3 einstellen müssen.
- Automatisierung ist das A und O
Das Versprechen der Cloud-nativen Entwicklung ist es, 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 essentiell, um die Vorteile der Cloud maximal zu nutzen.
Fortschrittliche DevOps-Teams setzen dafür in der Regel auf Continuous-Integration- und Continuous-Deployment (CI/CD)-Pipelines. Das sind feste Prozesse, die vollständig in Code gegossen sind und die bei Code-Änderungen automatisch ablaufen.
- 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 CI/CD-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 enormen Mehrwert gegenüber dem reinen Monitoring, bei dem DevOps-Teams ihre Systeme nur dahingehend überwachen, ob sie einwandfrei laufen.
- Optimierung ist vor allem eine Frage der Architektur
Um Cloud-native Anwendungen so effizient wie möglich zu gestalten, setzen die meisten 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 CI/CD-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.
- Sicherheit setzt sich aus vielen Faktoren zusammen
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 IaC, also 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.
- Die Zukunft gehört der KI
Ist alles optimiert, sicher und läuft reibungslos – ist der Betrieb also „langweilig“ – 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 immer weniger Aufgaben tatsächlich manuell erledigen müssen. In Bezug auf den automatisierten Betrieb, Optimierung und Überwachung von IT-Infrastrukturen und Cloud-nativer Anwendungen hat das Verfahren bereits einen Namen: AIOps.
„Mit dem erfolgreichen Deployment und dem Live-Gang einer Cloud-nativen Anwendung ist die Arbeit für DevOps-Teams noch nicht vorbei – im Gegenteil: Sie hat gerade erst begonnen“, betont Lukas Höfer, Cloud Solutions Architect bei Consol.
„Jetzt ist es an Entwicklern und Administratoren, den reibungslosen Betrieb der Anwendung sicherzustellen und deren Effizienz zu steigern. So schaffen sie ein Fundament für den Day 3, also die Implementierung weiterführender Technologien.“