Der klassische Ansatz beim Patch-Testing ist das Testlabor. Moody hält es weiterhin für sinnvoll, weist aber darauf hin, dass kein Labor jede Kombination aus Hardware, Software, Konfiguration und Nutzerverhalten einer Produktionsumgebung nachbilden kann. Hinzu kommt: Zwar habe jeder eine Testumgebung, aber nicht jeder eine, die vollständig von den Produktivsystemen getrennt sei.
Sein Vorschlag lautet daher, kontrollierte Ausrollungen in der Produktion zum Teil der Validierung zu machen. Dabei komme es auf Geschäftskontext und genaue Kenntnis der eigenen Infrastruktur an. Denn der zu automatisierende Vorgang bestehe aus weit mehr als dem Übertragen und Ausführen einer Datei: Von Anfang bis Ende stecken darin zahlreiche Entscheidungen sowie umgebungsspezifisches Wissen. Werde das nicht mitautomatisiert, beschleunige man lediglich die Ausführung, nicht den Prozess.
Der Einstieg sollte klein ausfallen — etwa mit IT-Mitarbeitern, einer repräsentativen Auswahl von Endpunkten oder mit Systemen, die besonders komplizierte Konfigurationen abbilden. Vorab müsse definiert werden, was Erfolg bedeutet: Was tut eine Automatisierung, womit und wann? Wurde das Update sauber angewendet? Blieben die Endpunkte funktionsfähig, liefen die Anwendungen weiter, blieb die Fehlerquote unterhalb eines akzeptablen Schwellenwerts? Erst wenn diese Bedingungen erfüllt sind, soll das Update an eine größere Gruppe gehen.
Genau das ist die Grundidee gestufter Ausrollung beziehungsweise von Update-Ringen: Statt einer binären Entscheidung — überall verteilen oder gar nicht — entsteht eine Abfolge immer größerer Gruppen. Entscheidend ist laut Moody, dass dieser Fortschritt nicht jedes Mal von der Einschätzung einer Person abhängt, sondern von vorab festgelegten Kriterien dafür, wann weitergemacht und wann gestoppt wird, weil die Bedingungen die erwartete Basislinie nicht mehr erfüllen. Seine Faustregel: Jede definierbare Entscheidung automatisieren, menschliches Urteil dort behalten, wo es nötig ist — alles, was man mehr als zweimal gleich macht, sei verschwendete Zeit.
Vollständig autonomes Patchen hält Moody ausdrücklich nicht für die beste Lösung. Ein Domänencontroller, eine Produktionsdatenbank, ein ERP-System oder andere geschäftskritische Arbeitslasten verdienten eine andere Behandlung als eine gewöhnliche Mitarbeiter-Workstation. In größeren Umgebungen sei die Konzentration allerdings höher, sodass mit zunehmender Größe mehr Spielraum entstehe, einzelne Systeme als weniger geschäftskritisch einzustufen — vergleichbar mit Kanarienvögeln im Kohlebergwerk.
Kann ein System die Ergebnisse einer Verteilung selbst bewerten, ein fehlschlagendes Update stoppen und ein bewährtes automatisch weiterlaufen lassen, verwalte der Administrator Richtlinie und Prozess, statt jede Ausrollung von Hand zu steuern. Der größte Gewinn sei Zeit: Gruppen und Erfolgskriterien werden einmal festgelegt, die Fortschreibung übernimmt der Verteilungsprozess.
Als Beispiel für eine Plattform, die dieses Modell unterstützt, nennt der Beitrag Action1 selbst: mit Update-Ringen für die sequenzielle Verteilung an Endpunkte, Kriterien für das Weiterlaufen oder Stoppen eines Updates, manuellen Freigabe-Abläufen und Endpunktgruppen, die sich nach unterschiedlichen Merkmalen und Anforderungen ordnen lassen. Der Nutzen liege nicht darin, das Patchen schneller zu machen, sondern schnelleres Patchen sicherer. Das Angebot ist für bis zu 200 Endpunkte dauerhaft kostenlos. Der Beitrag ist von Action1 gesponsert und verfasst.
