Die manuelle Installation von Anwendungen und besonders von Updates für existierende Software ist ein zeitaufwendiger Prozess. Gleichzeitig bergen diese Abläufe Fehlerquellen. Die Antwort darauf ist die Deployment Automatisierung.
Was ist eine Deployment Pipeline?
Als Deployment Pipeline wird eine standardisierte und geplante Methode zur Ausbringung von Software bezeichnet. Eine Deployment Pipeline besteht aus mehreren Phasen. Somit deckt der Prozess den gesamten Ablauf einer Software-Installation ab. Das sorgt zudem für einen sicheren Betrieb der Infrastruktur. Im Kern durchläuft jede Software und jedes Update die folgenden vier Phasen in der Deployment Pipeline:
- Build
- Qualitätskontrolle
- Test
- Rollout
Ein Ziel der Deployment Pipeline ist es, zu gewährleisten, dass Updates in der Praxis keine Bugs oder unvorhergesehenen Verhaltensweisen zeigen. Aus diesem Grund erfolgen vor der Ausbringung mehrere Tests und Kontrollen. So gibt es eine Testumgebung, die der aktuellen IT-Infrastruktur nachempfunden ist. Hier wird jedes Update und jede Software vorher installiert.
Dann erfolgen realistische Tests, wie sie auch im Alltag stattfinden. Erst wenn die Software in der Deployment Pipeline diese fehlerfrei übersteht, erfolgt die Installation auf den echten Systemen im Unternehmen. Mit diesen Eigenschaften ist die Pipeline ein wichtiger Teil der Deployment Automatisierung.
Was ist eine Deployment Plattform?
Die Deployment Plattform ist die eigentliche Lösung, die für die Automatisierung und Verwaltung zum Einsatz kommt. Diese Plattformen verwalten einerseits die Software, die ausgebracht oder aktualisiert wird. Andererseits ist die Deployment Plattform auch mit den Arbeitsplatzrechnern und Servern verbunden, auf denen die Software eingesetzt wird.
So bringen Deployment Plattformen eine Versionsverwaltung mit. Diese behält den Überblick über die Entwicklung und kontrolliert die Versionen auf den Live-Systemen. Die zentrale Funktion ist jedoch die Deployment Automatisierung. Sie ist sowohl bei lokalen Systemen als auch bei Anwendungen in der Cloud möglich.
Die Deployment Automatisierung wird mit verschiedenen Funktionen unterstützt. Dazu zählt die Ausführung von benutzerdefinierten Skripten. Damit werden Prozesse für Updates und Installationen einheitlich definiert. Weiterhin zählen Test- und Abnahmeserver zu den Funktionen. Schlussendlich übernehmen Deployment Plattformen auch die Orchestrierung der eigentlichen Releases und somit den gesamten Prozess der Software-Installation.