agile bodensee - introducing continuous delivery

17
If it hurts do it more often Introducing Continuous Delivery pingworks – Alexander Birk, Christoph Lukas SEITENBAU – Christian Faigle Agile Bodensee, 28.9.2012

Upload: pingworks

Post on 29-Nov-2014

572 views

Category:

Documents


3 download

DESCRIPTION

Case Study zu Continuous Delivery Vortrag gehalten auf der Agile Bodensee in Konstanz am 28.9.2012

TRANSCRIPT

Page 1: Agile Bodensee - Introducing Continuous Delivery

If it hurts do it more oftenIntroducing Continuous Delivery

pingworks – Alexander Birk, Christoph Lukas

SEITENBAU – Christian Faigle

Agile Bodensee, 28.9.2012

Page 2: Agile Bodensee - Introducing Continuous Delivery

Case Study – Continuous Delivery

Konkretes Projekt: online Präsentationstoola la slideshare.net

Ordner, Tags, Berechtigungen ca. 40 Entwickler 3 Standorte

Page 3: Agile Bodensee - Introducing Continuous Delivery

Technischer Rahmen

3 Schichten Architektur Java, PHP, JS ~ 35 SVN Module, 5000 Konfigparameter Unit-, Integrations- und Systemtests

Page 4: Agile Bodensee - Introducing Continuous Delivery

Komponenten

Page 5: Agile Bodensee - Introducing Continuous Delivery

Entwicklung mit SCRUM

zweiwöchige Sprints Lieferung alle zwei Wochen Jede Lieferung bedeutet:

Erstellung von Binärpaketen Deployment auf Testumgebung Durchführung von Tests Erstellung von Testprotokollen

Page 6: Agile Bodensee - Introducing Continuous Delivery

Lieferung ohne Continuous Delivery

Tagging, RPM Build, Deployment: ~ 1 PT Lieferung: ~ 2 PT Integration selten, mini BigBang Spezialwissen nötig Wehe, die Spezialisten haben Urlaub!!

Page 7: Agile Bodensee - Introducing Continuous Delivery

Continuous Delivery

Page 8: Agile Bodensee - Introducing Continuous Delivery

Continuous Delivery

Page 9: Agile Bodensee - Introducing Continuous Delivery

Aspekte von Continuous Delivery

Continuous Delivery

Continuous IntegrationConvention over

Configuration

DevOps Thinking Continuous Improvement

Page 10: Agile Bodensee - Introducing Continuous Delivery

Testumgebungen

Virtualisierte Testumgebungen „Infrastructure as Code“ Geskriptetes „bare Metal-Cloning“ und

Konfiguration „Wegwerf-Mentalität“ Erstellung in < 15 min.

Page 11: Agile Bodensee - Introducing Continuous Delivery

Deployment

Installer im Bundle Kann Anwendung auf allen Umgebungen

installieren Konfiguriert die Anwendung „One Click Deployment“ in < 3 min.

Page 12: Agile Bodensee - Introducing Continuous Delivery

Continuous Delivery in Zahlen

Bis zu 100 Commits / Bundles pro Tag Bis zu 1000 Deployments pro Tag

Page 13: Agile Bodensee - Introducing Continuous Delivery

Schwierigkeiten

Bereitschaft für Veränderung Graben zwischen Dev und Ops zuschütten DevOps Thinking etablieren:

„jeder ist verantwortlich für die Delivery und Betrieb“

Vermeintliche Kosten

Page 14: Agile Bodensee - Introducing Continuous Delivery

Aufwand und Kosten

Aufsetzen von Continuous Delivery3 Entwickler Vollzeit 2 Monate => 120 PT

Manuelles Deployment pro Sprint1 Jahr, 25 Sprints a 3 PTs => 75 PT1 Sprint Integration / Bugfixing => 70 PT

----------145 PT

Page 15: Agile Bodensee - Introducing Continuous Delivery

Deployment wird zum Non-Event Kein „Configuration Nightmare“ weniger (schwere) Fehler Keine Angst vor Refactorings Weniger Aufwand für Deployment /

Konfiguration / Testing Mehr Zeit für Features, mehr Motivation

Gewinn

Page 16: Agile Bodensee - Introducing Continuous Delivery

Fazit

„Must Have“ für agile Software Entwicklung

Page 17: Agile Bodensee - Introducing Continuous Delivery

Live Demo

Erzeugung einer Testumgebung Dashboard Build-Pipeline im Jenkins Bundle-Repository Deployment auf neue Testumgebung