Deployments Best Practices

17
Deployments Best Practices Daniel Drexlmaier 09.05.2014 www.se-medien.de

description

Ziele Release und Deployment Management Prozesses, Systemlandschaften, Development (Sandbox) -System, Test-System,Stage/QS-System, Training-System, Prudiction-System, Rolling Back

Transcript of Deployments Best Practices

Page 1: Deployments Best Practices

Deployments Best Practices

Daniel Drexlmaier

09.05.2014

www.se-medien.de

Page 2: Deployments Best Practices

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

Page 3: Deployments Best Practices

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

Page 4: Deployments Best Practices

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!

Page 5: Deployments Best Practices

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

Page 6: Deployments Best Practices

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.

Page 7: Deployments Best Practices

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

Page 8: Deployments Best Practices

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

Page 9: Deployments Best Practices

1-Systemlandschaft

u  Empfehlen wir nicht!

u  Keine sicherere Weiterentwicklung möglich

u  Stop des Produktiv-Betriebs

u  Entwicklung

u  Test-Phase

Page 10: Deployments Best Practices

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

Page 11: Deployments Best Practices

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

Page 12: Deployments Best Practices

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

Page 13: Deployments Best Practices

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,...

Page 14: Deployments Best Practices

Rolling Back

u  Oft passieren Dinge die nicht geplant sind

u  Zurückrollen zu einem beliebigen alten Software stand

u  Im Fehlerfall

Page 15: Deployments Best Practices

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

Page 16: Deployments Best Practices

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

Page 17: Deployments Best Practices

Fragen und Antworten