Produktaktualisierungen: Kleine Updates – kleines Risiko

Continuous Deployment: Goodbye Wartungs-Downtime?
Kommentare

Wartungszeiten sind ein Problem bei der Aktualisierung von Websites. Sie sind zwar notwendig, um größere Updates einzuspielen, aber dabei doch nicht so richtig populär. Immerhin kostet es Geld, wenn eine Website nicht erreichbar ist und vor allem: Es stört die Kundschaft. Eine Lösung für dieses Problem könnte Continuous Deployment sein. Mit dieser Methode wird auf große Updates verzichtet und stattdessen jede kleine Änderung am Produkt unmittelbar vorgenommen, im laufenden Betrieb. Ist das aber immer so sinnvoll?

Große Veränderungen an Websites, seien es nun neue Features oder Bugfixes, können meist nur vorgenommen werden, während die Seite nicht erreichbar ist, findet Shaumik Daityari. Das Risiko, dass etwas schief geht, ist zu groß und auch die Server sind mit der Verarbeitung großer Mengen neuen Codes erst einmal ausgelastet. Das ist unbequem, aber doch der sichere Weg. Die Kundschaft sieht erst das Ergebnis; sie bekommt nichts davon mit, ob zuvor etwas schief gegangen ist.

Kleine Updates – kleines Risiko

Der erst einmal sichere Weg muss allerdings nicht immer der beste sein. Denn auch, wenn Updates erst einmal hinter verschlossenen Türen eingespielt werden, steigt das Risiko für Probleme mit der Menge der vorgenommenen Veränderungen. Je größer das Update ist, desto wahrscheinlicher wird es, dass irgendein Problem damit auftritt. Stattdessen können kleine Updates kontinuierlich eingespielt werden – und das dann auch direkt im laufenden Betrieb, ganz ohne Downtimes und verärgerte Kunden. Je kleiner nämlich die Veränderung ist, desto geringer ist auch das Risiko, dass etwas schief geht.

Shaumik Daityari ist der Meinung, dass ein solches Continuous Deployment mit einer guten Infrastruktur und einer soliden Planung problemlos möglich ist. Statt beispielsweise umfangreichere Updates global allen Usern gleichzeitig nach einer Wartungs-Downtime zur Verfügung zu stellen, können diese live in Batches freigegeben werden. Und um sicher zu gehen, dass die Lösung des einen Problems nicht zum nächsten Fehler im laufenden Betrieb führen wird, kann sie vor dem Einspielen automatisiert getestet werden. Mit dem richtigen Vorgehen können so sogar Änderungen an der Datenbank erfolgen!

Nicht ohne Netz und doppelten Boden

Diese Methode ist auf den ersten Blick verlockend; auch die Tatsache, dass Google und Facebook so arbeiten, spricht durchaus dafür. Allerdings ist die Weiterentwicklung von Webangeboten immer schwierig – und daran ändert sich auch nichts, wenn Neuerungen in kleinen Häppchen eingespielt werden. Wer live entwickelt, muss sich darüber im Klaren sein, dass es dazu einer entsprechenden Infrastruktur bedarf. Ein Staging-Server mit separater Datenbank ist Pflicht, um sehen zu können wie sich Änderungen auf die Nutzer auswirken! Diese Anforderungen können große Unternehmen natürlich problemlos erfüllen. Ob derartige Investitionen für kleinere Projekte aber sinnvoll sind, ist sehr vom Einzelfall abhängig.

Die Möglichkeit, schnell Veränderungen einzuspielen, verleitet außerdem dazu, genau das auch zu tun. Continuous Deployment folgt der Annahme, dass so wenig Zeit wie möglich zwischen Idee und Update vergehen sollte – doch was, wenn sich eine Idee als nicht allzu gut herausstellt? Veränderungen, die live geschaltet wurden, lassen sich nur schwer wieder rückgängig machen, vor allem dann, wenn sie sicht- und spürbar für den Nutzer sind. Doch auch, wenn die Verwirrung des Users kein Problem ist, sorgen undurchdachte Updates für verschwendete Arbeitszeit.

Abwägungssache

Arbeitszeit ist dabei aber auch dann ein Thema, wenn eine Änderung durchaus im Produkt bleiben soll. Updates und Bugfixes verhalten sich in der realen Anwendung nur selten so wie im Test, egal, wie gut dieser war. Hier eine Fehlermeldung, dort eine verschobene Anzeige – was bei großen Updates dann einmal abgearbeitet wird, muss im Continuous Deployment ständig aufgefangen werden. Darauf muss sich das Entwicklerteam einstellen und jederzeit bereit sein, zu reagieren. Auch Kleinigkeiten können beim User nämlich zu großem Frust führen!

Continuous Deployment kann dabei helfen, Downtime zu vermeiden. Wenn dieser Aspekt im Zentrum steht, ist es sicherlich eine gute Strategie um Produkte aktuell zu halten. Das trifft allerdings nicht auf alle Produkte und Situationen zu – und ein Allheilmittel ist der Verzicht auf Wartungszeiten definitiv auch nicht. Welche Updatestrategie für ein Produkt am Besten geeignet ist, hängt am Ende von zu vielen Faktoren ab. Nur die Downtime im Auge zu haben, kann nämlich auch manches neue Problem schaffen.

Aufmacherbild: The comical construction superintendent in a helmet and a skeleton mask via Shutterstock.com / Urheberrecht: pzAxe

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -