Die Automatisierung von Abläufen ist nicht immer einfach, insbesondere bei älteren Systemen, die sich nicht ohne Weiteres in typische DevOps-Automatisierungstools und -strategien einbinden lassen.
Die Automatisierung von IT-Betriebsprozessen ist bei modernen, Cloud-nativen Anwendungen unkomplizierter. Dennoch müssen Altsysteme nicht am Rand Ihrer DevOps-Automatisierungsstrategie stehen. Mit den richtigen Werkzeugen und Methoden lassen sich Anforderungen von Altsystemen mit modernen Automatisierungstechniken zusammenführen.
DevOps-Automatisierung: Die Grundlagen
DevOps ist eine Methode zur Entwicklung und Bereitstellung von Software, die eine enge Zusammenarbeit zwischen Entwicklern (die Code schreiben) und IT-Betriebsexperten (die Anwendungen im produktiven Betrieb verwalten) fördert.
Die meisten Unternehmen, die DevOps für klassische Anwendungen einführen, nutzen Automatisierungstools und -techniken. Im Folgenden finden Sie einige der Werkzeuge, die DevOps-Prozesse effizient, skalierbar und konsistent gestalten:
- Infrastructure-as-Code (IaC) und Configuration-as-Code (CaC): Damit können Anwender Infrastruktur definieren und Anwendungen per Code konfigurieren und diese Einstellungen automatisch auf mehrere Umgebungen anwenden.
- Automatisiertes Testen: Mit Testautomatisierungs-Frameworks können DevOps-Teams Skripte entwickeln, die neuen Code automatisch auf Fehler und Leistungsprobleme testen. Diese Herangehensweise verbessert die Anwendungsqualität und hilft, Fehler schneller zu erkennen und zu beheben.
- Release-Automatisierung: Werkzeuge, mit denen Anwendungen automatisiert freigegeben werden – das heißt, sie paketieren Anwendungen und stellen sie in produktive Umgebungen bereit. Solche Tools helfen DevOps-Teams, neuen Code schneller an Nutzer auszuliefern.
- Anwendungsorchestrierung: Orchestrierungsplattformen automatisieren zahlreiche Prozesse für Bereitstellung und Verwaltung von Anwendungen in einem Server-Cluster und bringen so Skalierbarkeit und Wiederholbarkeit in das Application-Hosting.
Herausforderungen bei der DevOps-Automatisierung
Die oben genannten DevOps-Automatisierungslösungen lassen sich bei Altsystemen, die aus Hardware und/oder Software bestehen und lange vor modernen, DevOps-freundlichen Architekturen und Bereitstellungsmethoden eingeführt wurden, nicht immer einfach umsetzen.
Beispielsweise unterstützen IaC-Tools ältere Systeme oft nicht, weil sie die zur Verwaltung erforderlichen Konfigurationssprachen oder Management-Werkzeuge nicht abdecken. Die meisten modernen Systeme lassen sich mit Sprachen wie YAML konfigurieren, während bei Legacy-Systemen häufig proprietäre Konfigurationssprachen und Frameworks notwendig sind.
Aus ähnlichen Gründen ist Testautomatisierung im Zusammenhang mit Legacy-Anwendungen oft aufwendig. Die meisten modernen Automatisierungs-Frameworks sind für browserbasierte oder mobile Anwendungen konzipiert. Altsysteme laufen jedoch häufig lokal und verwenden proprietäre Benutzeroberflächen, was die Automatisierung von Tests mit gängigen Frameworks erschwert.
Ebenso sind viele Release-Automatisierungs- und Orchestrierungsplattformen auf containerisierte Anwendungen ausgelegt. Da Container erst mit dem Erscheinen von Docker im Jahr 2013 populär wurden, bieten Altsysteme meist nur begrenzte native Unterstützung für die Containerisierung von Anwendungen.
Automatisierung für Altsysteme
Glücklicherweise sind die Hürden für die Implementierung von DevOps-Automatisierung bei Altsystemen nicht unüberwindbar. Die Bewältigung dieser Herausforderungen erfordert innovative Ansätze, die eine Integration von Automatisierung und Legacy-Systemen ermöglichen:
- Migrieren Sie in die Cloud: Anbieter von Altsystemen bieten inzwischen Cloud-basierte Hosting-Plattformen an. Zwar ermöglicht die Übertragung von Legacy-Workloads aus der eigenen Infrastruktur in die Cloud nicht automatisch alle DevOps-Automatisierungsfunktionen, doch erleichtert sie den Einsatz von Vorteilen wie automatisch skalierbarer Infrastruktur und die Möglichkeit, Arbeitslasten zwischen verschiedenen Cloud-Rechenzentren zu verschieben, um Ausfälle an einem Standort abzufedern.
- Containerisieren Sie Legacy-Workloads: In bestimmten Situationen können Legacy-Anwendungen in Containern betrieben werden. Die Containerisierung solcher Anwendungen ermöglicht es Unternehmen, diese mit Orchestrierungslösungen wie Kubernetes zu verwalten, was wesentlich mehr Agilität und Skalierbarkeit für das Management von Legacy-Anwendungen mit sich bringt.
- Setzen Sie Machine Learning (ML) ein: Der Einsatz von Machine Learning zur Überwachung und Verwaltung von Altsystemen ist eine Möglichkeit, Probleme effizient zu erkennen, wenn herkömmliche Automatisierung nicht einsetzbar ist. Beispielsweise kann man für eine Legacy-Anwendung, die von Selenium nicht unterstützt wird, keine automatisierten Tests ausführen—fortschrittliche ML-Verfahren können in solchen Fällen genutzt werden, um anhand des Verhaltens der Anwendung Fehler zu identifizieren.
- Ändern Sie Ihre Denkweise: Ein entscheidender Schritt, um die Vorteile von Automatisierung auch für Legacy-Apps zu nutzen, ist ein grundlegender Wandel der Denkweise Ihrer Organisation gegenüber Altsystemen. Statt diese als veraltete und ineffiziente Umgebungen abzustempeln, betrachten Sie Legacy-Anwendungen wie alle anderen Anwendungen Ihrer IT-Landschaft. Wenn Ihr Team Altsysteme mit Wertschätzung begegnet, fällt es leichter, eine Unternehmenskultur der Zusammenarbeit und Innovation aufzubauen, die sich auch auf diese Systeme erstreckt.
Ignorieren Sie Legacy-Umgebungen nicht
Es steht außer Frage, dass die Automatisierung des Managements von Legacy-Anwendungen für DevOps-Teams oft schwieriger ist als die Einführung von Automatisierung für moderne Anwendungen. Das bedeutet jedoch nicht, dass es unmöglich ist. Viele Unternehmen setzen erfolgreich Automatisierung ein, um die Flexibilität und Qualität von Legacy-Apps zu verbessern und gleichzeitig die Entwicklungs- und Betriebskosten zu senken. Um dies zu erreichen, ist es jedoch notwendig, über konventionelle DevOps-Methoden hinauszudenken.
Beschleunigen Sie Ihr SaaS-Wachstum und Ihre Führungsqualitäten. Abonnieren Sie unseren Newsletter für die neuesten Einblicke für CTOs und angehende Tech-Leader. Wir unterstützen Sie mit Leitfäden, Ressourcen und Strategien von Top-Experten, damit Sie klüger skalieren und souveräner führen!
