Ablaufskizze eines Deployments: Code der Entwickler geht in eine Pipeline mit Bauen und automatischen Tests, danach auf die Testumgebung, dann schrittweise auf die Produktionsumgebung mit echten Nutzern; ein Rückpfeil zeigt den Rollback zur vorherigen Version.

Deployment

Deployment bezeichnet den Schritt, bei dem fertige Software von den Rechnern der Entwickler auf die Server wandert, die echte Nutzer bedienen. Erst nach diesem Schritt ist eine neue Funktion für die Öffentlichkeit tatsächlich benutzbar.

Software entsteht zunächst auf den Rechnern der Entwicklerinnen und Entwickler. Dort läuft sie nur für sie selbst und ist für niemanden sonst erreichbar. Damit sie für alle nutzbar wird, muss sie auf die Computer gebracht werden, die den Dienst öffentlich anbieten. Genau dieser Schritt heißt Deployment, auf Deutsch oft « ausrollen ». Wenn eine App über Nacht plötzlich einen neuen Knopf hat, wurde eine neue Version ausgerollt. Der Vorgang selbst dauert heute häufig nur Minuten, obwohl die Arbeit davor Wochen gedauert haben kann.

Warum der Weg auf den Server der heikelste Moment ist

Bis zum Deployment ist ein Fehler harmlos. Er stört höchstens die Person, die gerade programmiert. Danach trifft derselbe Fehler alle Nutzer gleichzeitig. Ein kaputtes Deployment kann eine Bank-App, einen Onlineshop oder einen Chatbot für Stunden lahmlegen. Deshalb behandeln Firmen diesen Schritt mit deutlich mehr Vorsicht als das Programmieren selbst.

Wie oft ausgerollt wird, sagt viel über ein Unternehmen aus. Große Internetfirmen deployen mehrmals täglich, manche hundertfach. Klassische Konzerne mit alter Technik schaffen es manchmal nur alle paar Monate. Häufige, kleine Deployments gelten als sicherer, weil jede Änderung überschaubar bleibt. Geht etwas schief, weiß man sofort, welche der wenigen Änderungen schuld ist.

In der Wirtschaftspresse taucht der Begriff deshalb als Kennzahl auf. « Deployment-Frequenz » misst, wie schnell ein Unternehmen neue Ideen zu den Kunden bringt. Wer schneller ausrollt, kann auf Konkurrenz und Kundenwünsche schneller reagieren. Diese Geschwindigkeit ist inzwischen ein handfester Wettbewerbsvorteil.

Von der Codezeile bis zum laufenden Dienst

Vor dem Ausrollen durchläuft der Code meist eine automatische Kette von Prüfungen. Ein Programm baut aus dem geschriebenen Code ein lauffähiges Paket. Danach laufen Tests, also kleine Prüfprogramme, die typische Fälle durchspielen. Erst wenn alle Tests bestanden sind, geht das Paket weiter. Diese Kette nennt man Pipeline, weil die Änderung sie wie ein Rohr durchläuft.

Die meisten Firmen betreiben mehrere getrennte Umgebungen. Auf der Testumgebung probiert das Team die neue Version mit Beispieldaten aus. Auf der Produktionsumgebung liegen die echten Daten echter Kunden. Der Sprung von der einen auf die andere ist das eigentliche Deployment. Vergleichbar ist das mit einer Generalprobe im leeren Saal, bevor das Publikum kommt.

Um das Risiko zu senken, wird selten alles auf einmal umgestellt. Beim schrittweisen Ausrollen bekommt zuerst ein Prozent der Nutzer die neue Version. Sieht alles gut aus, folgen zehn, dann hundert Prozent. Wenn Fehler auftauchen, schaltet das Team zurück auf die alte Version. Dieses Zurückschalten heißt Rollback und ist bei gut gebauten Systemen eine Sache von Sekunden.

Deployments in News, Apps und KI-Diensten

Man begegnet dem Wort oft, ohne es zu bemerken. Ein Handyspiel, das morgens ein Update meldet, hat ein Deployment hinter sich. Auch die Störungsmeldung « Wir arbeiten an einer Lösung » folgt häufig auf ein fehlerhaftes Ausrollen. Bekannte Ausfälle bei Banken, Fluglinien oder sozialen Netzwerken lassen sich oft auf einen einzigen misslungenen Rollout zurückführen.

Bei künstlicher Intelligenz hat der Begriff eine zusätzliche Bedeutung. Ein trainiertes Modell ist zunächst nur eine riesige Datei mit gelernten Zahlenwerten. Erst das Deployment stellt es auf leistungsfähigen Rechnern bereit und macht es über eine Schnittstelle abrufbar. Vorher kann niemand mit dem Modell chatten. Deshalb liegen zwischen der Ankündigung eines neuen Modells und seiner Verfügbarkeit manchmal Wochen.

Ein verbreiteter Irrtum ist, Deployment sei dasselbe wie Release. Ein Deployment bringt den Code auf den Server. Ein Release macht eine Funktion für Nutzer sichtbar. Beides lässt sich trennen: Code kann längst ausgerollt sein, während ein Schalter im Hintergrund die Funktion noch versteckt hält. Firmen nutzen das, um Neuerungen genau zum geplanten Termin freizuschalten.

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.