Deployments Best Practices
-
Upload
daniel-drexlmaier -
Category
Engineering
-
view
122 -
download
2
description
Transcript of Deployments Best Practices
Deployments Best Practices
Daniel Drexlmaier
09.05.2014
www.se-medien.de
Unsere heutigen Themen
u Einführung
u Ziele Release und Deployment Management Prozesses
u Systemlandschaften
u Entwicklungs(Sandbox) -System
u Test-System
u Stage/QS-System
u Training-System
u Produktiv-System
u Rolling Back
Einführung
u Überblick über Release und Deployment Management
u Entwicklung einer Release Policy und –Planung
u Wie wird ein Release getestet und in das Produktiv-System ausgerollt
u Integrität des Produktiv-Systems geschützt wird
u Nur zuvor getestete Releases kommen auf das Produktiv-System
u Release Management hängt immer vom Budget und der gewünschten Sicherheit ab
Einführung
u Änderungen nie direkt am Produktiv-System vornehmen
u Es entstehen Fehler
u Es ist nicht dokumentiert
u Es ist nicht getestet
u Ein schlechtes Deployment kann alles ruinieren
u Viele Vorteile eines Deployment-Systems
u Keine deployments kurz vor Feierabend!
Ziele Release und Deployment Management Prozesses
Ziele nach ITIL
u Erfolgreiches Rollout planen und beaufsichtigen
u Schutz der Produktionsumgebung
u Änderungen dokumentieren
u Kommunikation mit Kunden während der Planung und des Rollouts
u Zusammenarbeit mit dem Change Management
u Anwendung von Controlling Prozesse des Konfiguration- und Change-Managements
Systemlandschaft
u Die Systemlandschaft beinhaltet alle installierten Systeme einer Software
u Systeme sind durch Transportwege miteinander verbunden
u Dokumentation
u Unabhängige Systeme um ein Release zu testen.
3-Systemlandschaft
u Für Mittelgröße Implementierungen
u Empfehlung von 3 Systemen
u Entwicklungssystem
u Qualitätssicherungssystem
u Produktiv
u Schulung findet im QS-System statt
2-Systemlandschaft
u Für kleine Implementierungen
u Empfehlung von 2 Systemen
u Entwicklungssystem
u Produktiv
u Qualitätssicherung findet im Entwicklungs-System statt
u Probleme beim Testen ob Release im Produktiv-System lauffähig ist
1-Systemlandschaft
u Empfehlen wir nicht!
u Keine sicherere Weiterentwicklung möglich
u Stop des Produktiv-Betriebs
u Entwicklung
u Test-Phase
Entwicklungs(Sandbox)-System
u unabhängiges System vom Produktiv und QS-System
u Entwicklung eines neuen Releases
u Fehlerbehebung
u Neue Features
u Änderungen
u Hier wird nur entwickelt
u Testen aller Änderungen (Validierung und Verifikation)
u Transport des Releases erst nach Validierung und Verifikation
u Programmierfehler und Systemausfälle betreffen nicht das Produktivsystem
Test-System
u Kann eine Virtuelle Maschiene sein
u Unabhängig von anderen Systemen
u Sollte identisch mit der Produktivumgebung sein
u Kann auch virtuell sein
u System nur zum Testen für interne Test-Benutzer, nicht für Key-User
Stage/QS-System
u Kopie vom Produktiv-System (nachstellen des Produktiv-System)
u Software
u Datenbank
u Hardware
u So gut es geht das Test vor dem Produktiv-System
u Test von neuer Version
u Test wird von Kunden (Key-User) und Dienstleister vorgenommen
u Endkontrolle/Funktionstest
Produktiv-System
u Produktiv-System – Finaler Punkt wo alles funktionieren muss
u Nur Live/Produktiv-Daten
u Nur Versionen die davor ausführlich getestet wurden
u Gründliches ausführen von Unit-Tests, Lasttests,...
Rolling Back
u Oft passieren Dinge die nicht geplant sind
u Zurückrollen zu einem beliebigen alten Software stand
u Im Fehlerfall
Berechtigung
u QS-System
u Alle Entwickler sollten hier neue Releases deployen dürfen
u Produktiv-System
u Nur Zugriff für eine kleine Gruppe
Training-System
u Schulung von Mitarbeitern
u Gleicher Kenntnisstand bei allen Mitarbeitern
u Kopie von Produktivdaten
u Gleicher oder neuerer Release-Stand wie Produktiv-System
u Geg. kleiner Schulungs-Datenbestand
u Schulungssystem steht i.d.R. laufend zur Verfügung
u Lernen / Testen ohne Produktiv-Daten zu beschädigen
Fragen und Antworten