Deployment Automation: Auf Knopfdruck qualitativ hochwertige Software
Manuelle Deployments werden heute vermehrt von automatischen Deployment-Prozessen ersetzt. Dadurch können Kosten- und Zeitaufwände reduziert werden.
Unter Deployment (Softwareverteilung) versteht man halb- oder vollautomatisierte Prozesse zur Verteilung von Softwarepaketen auf Plattformen. Ziel eines Deployments ist es, alle Server einer Umgebung zuverlässig und risikofrei mit einer neuen Softwareversion auszustatten. [1]
Wurden Deployments früher eher sporadisch ausgeführt, geht heute der Trend vermehrt in Richtung regelmässiges Deployment. Und auch wenn es keine One-size-fits-all-Lösung für alle E-Commerce-Plattformen gibt, gilt der Grundsatz: je weniger Änderungen in einem Deployment, sprich, je kleiner das Deployment, desto besser.
Herausforderungen beim manuellen Deployment
Die wachsende Komplexität von Anwendungen, häufiger werdende Anwendungsänderungen sowie die Notwendigkeit der Bereitstellung über mehrere Umgebungen und Infrastrukturen hinweg bringen ältere Deployment-Prozesse und -Tools an ihre Grenzen. Vorhandene manuelle bzw. halbautomatische Modelle der Anwendungsbereitstellung, bei welcher klassischerweise der System Engineer geplante Releases per Handbuch und gemäss Anleitung schrittweise auf eine Plattform einspielt, sind ineffizient, aufwendig, kostspielig und fehleranfällig.
Deshalb wird der manuelle Deployment-Prozess so wenig wie möglich praktiziert, was das Problem jedoch verschärft. In der Folge werden Deployments gross angelegt, weisen komplexere Handbücher auf und bergen ein Klumpenrisiko, da mehrere Änderungen in einem Release abgedeckt werden. Ausserdem fehlt es den Mitarbeitern, welche die Deployments einspielen, dadurch an Routine. Die Deployments auf den Entwicklungs- und Staging-Umgebungen werden zudem oft von Entwicklern selber eingespielt, was dazu führen kann, dass die verschiedenen Umgebungen voneinander wegdriften.
Qualität und Geschwindigkeit dank automatischem Deployment
Die oben genannten Herausforderungen führen dazu, dass das manuelle Deployment vermehrt von einem automatischen Deployment-Prozess ersetzt wird.
Unter automatischem Deployment versteht man einen Vorgang, bei welchem ein Release ohne manuelle Interaktion auf eine Plattform aufgespielt wird. Deployments werden insofern automatisiert, dass sie vom Entwicklungsteam direkt oder gar von einem Projektleiter ausgelöst werden können, ohne das ein Eingreifen eines System Engineers notwendig wird.
Das automatisierte Deployment kann sowohl für die Produktion als auch für die Test- und Entwicklungsumgebungen verwendet werden. Dadurch wird die Stabilität eines Deployments verbessert, da der Prozess regelmässiger ausgeführt und auch der Drift der Umgebungen verhindert werden kann. Ausserdem wird durch ein automatisches Deployment der Kostenaufwand deutlich verringert.
Orchestrierung durch Octopus Deploy
Unic setzt für die Orchestrierung der automatischen Deployments die Software Octopus Deploy ein. Octopus Deploy bietet viele Möglichkeiten, komplexe Deployments in Schritte aufzuteilen, welche auf verschiedene Umgebungen und mit unterschiedlichen Ausprägungen angewendet werden können. Parameter lassen sich auf verschiedene Scopes einschränken und überschreiben. Alle Funktionen sind in einem übersichtlichen Interface zusammengefasst und bieten so beste Übersicht bei hoher Flexibilität. [2] Die Deployment-Lösung ist Teil des Betriebsangebots von Unic. Wir sind der Meinung, dass automatische Deployments ein essenzieller Teil des Betriebs einer erfolgreichen, zeitgemässen und zugleich innovativen E-Commerce-Lösung ist.
Quellen:
[1] https://en.wikipedia.org/wiki/Software_deployment
[2] https://octopus.com/
Kontakt für Ihre digitale Lösung mit Unic
Termin buchenSie möchten Ihre digitalen Aufgaben mit uns besprechen? Gerne tauschen wir uns mit Ihnen aus.
Wir sind da für Sie!
Termin buchenSie möchten Ihr nächstes Projekt mit uns besprechen? Gerne tauschen wir uns mit Ihnen aus.