DevOps im IT-Provider Business

DevOps wird häufig im Kontext der klassischen Softwareentwicklung betrachtet. Doch weshalb sollte man die Vorteile der DevOps Prinzipien nicht auch in anderen Geschäftsfeldern nutzen? Ein Bericht aus der Praxis eines IT-Providers.

Ausgangslage

Als IT-Provider steht man vor der Herausforderung, eine Vielzahl von IT-Umgebungen für andere Unternehmen zu verwalten. Dazu gehören wiederkehrende Prozesse, die man möglichst kosteneffizient abwickeln will. Dort kommt die Automatisierung ins Spiel: Ist ein Prozess einmal automatisiert, spielt es keine Rolle mehr, in wie vielen Kundeninstanzen die Automatisierung eingesetzt wird. Wie hierbei DevOps Prinzipien unterstützen können, soll der nachfolgende Artikel anhand des Patchmanagement Prozess erläutern.

Microsoft publiziert jeden Monat am Patch Tuesday Softwareaktualisierungen für gefährliche Sicherheitslücken in ihren Produkten. Zusätzlich wird bei einer gravierenden Sicherheitslücke auch ausserhalb des Patchdays ein Patch veröffentlicht. Als IT-Provider steht man in der Pflicht, diese Aktualisierungen schnellstmöglich auf alle Systeme eines Kunden zu verteilen. Dies bringt Herausforderungen mit sich:

  • Die Aktualisierungen müssen gestaffelt verteilt werden, um das Netzwerk nicht zu überlasten. Die Anzahl parallel möglicher Verteilungen variiert dabei von Kunde zu Kunde resp. von Standort zu Standort.
  • Treten Komplikationen mit einer spezifischen Businessapplikation auf, muss die Verteilung für diese Clients gestoppt werden können. Der Patch muss auch vor zukünftigen Verteilungen ausgeschlossen werden können.
  • Kunden haben während geschäftskritischen Phasen (Stichtag Versicherungswechsel, Quartal- und Jahresabschluss) Frozen Zones, die die Planung beeinflussen.

DevOps Lösungsansatz

Die realisierte Lösung baut auf einer CI/CD Release Pipeline auf, doch anstelle von Source Code werden die Metadaten der Patches integriert. Diese Metadaten werden während dem Buildvorgang getestet: Wurden Patches für das korrekte Produkt ausgewählt? Wurden die Patches korrekt integriert? Mit diesen Tests soll gewährleistet werden, dass nicht unabsichtlich falsche Patches in die Kundeninstanzen importiert und verteilt werden.

Beim Einspielen des Releases werden anhand der Metadaten die Patches in die Kundeninstanzen importiert. Dabei wird die kundenspezifische Konfiguration berücksichtigt: die Tranchen werden entsprechend angelegt und die zeitlich gestaffelte Verteilung, unter Berücksichtigung allfälliger Frozen Zones, auf die Tranchen konfiguriert. Für kritische Businessapplikationen können Feldtesttranchen hinterlegt werden, so dass im Problemfall nicht alle Systeme betroffen sind. Schlussendlich wird getestet, ob der Importvorgang korrekt abgeschlossen wurde: wurden alle Patches heruntergeladen und sind alle Verteilungen korrekt konfiguriert?

Benefits

Die fortlaufend integrierten Metadaten der Patches werden vollautomatisch in mehrere Kundeninstanzen verteilt. Selbst wenn ein ausserordentlicher Patch publiziert wird, kann mit dieser Lösung zeitnah reagiert werden. Der hohe Grad an Testautomatisierung reduziert das Risiko, dass ein falscher Patch eingespielt wird oder Tranchen falsch konfiguriert werden. Tritt trotzdem in einer produktiven Umgebung ein Problem auf, können die Testfälle erweitert werden, so dass das Problem beim nächsten Mal automatisch identifiziert wird.

Beitrag teilen

Schreibe einen Kommentar