SlideShare ist ein Scribd-Unternehmen logo
1 von 16
If it hurts do it more often
Introducing Continuous Delivery

pingworks – Alexander Birk, Christoph Lukas
SEITENBAU – Christian Faigle


Agile Breakfast 27.6.2012




                                              pingworks
Case Study – Continuous Delivery

   Konkretes Projekt: online Präsentationstool
    ala slideshare.net
   Ordner, Tags, Berechtigungen
   ca. 40 Entwickler
   3 Standorte




                                              pingworks
Technischer Rahmen

   3 Schichten Architektur
   Datenschicht, Businesslogik, RIA
   Inhomogene Technologien: Java, PHP, JS
   ~ 35 SVN Module
   ~ 40 Konfigurationsdateien, > 5000 Zeilen
   13 Maschinen in produktionsnaher Umgebung
   Unit-, Integrations- und Systemtests


                                                pingworks
Komponenten




              pingworks
Entwicklung mit SCRUM

   zweiwöchige Sprints
   Lieferung alle zwei Wochen
   Jede Lieferung bedeutet:
       Erstellung von RPMs
       Deployment auf Testumgebung
       Durchführung von Tests
       Erstellung von Testprotokollen



                                         pingworks
Lieferung ohne Continuous Delivery

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




                                             pingworks
Continuous Delivery




                      pingworks
Continuous Delivery




                      pingworks
Voraussetzungen


                  Continuous Delivery


      Continuous Integration   Configuration Management




       Automated Testing           DevOps Thinking




                                                          pingworks
Implementierung

   Standardisierung der Testumgebung
   Standardisierung des Deployments
   Standardisierung der Konfiguration
   Aufbau der Build-Pipeline im Jenkins




                                           pingworks
Testumgebungen

   Virtualisierte Testumgebungen
   Einheitliches Hostnamen Schema
   Gescriptetes Cloning und Konfiguration
   „Wegwerf-Mentalität“
   Erstellung in < 15 min.




                                             pingworks
Deployment

   Installer im Bundle
   Kann Anwendung auf allen Umgebungen
    installieren
   Konfiguriert die Anwendung
   „One Click Deployment“ in < 3 min.




                                          pingworks
Continuous Delivery in Zahlen

   2500 Unittests
   1500 Integrationstests
   200 Systemtests
   Bis zu 100 Commits / Bundles pro Tag
   Bis zu 1000 Deployments pro Tag
   30 Testumgebungen
   100 VMs, 2 ESX-Server


                                           pingworks
Schwierigkeiten

   Graben zwischen Dev und Ops zuschütten
   DevOps Thinking etablieren:
    „jeder ist verantwortlich für die Delivery“
   Vermeintliche Kosten
   Letzte Meile beim Kunden




                                                  pingworks
Gewinn

   Deployment wird mit getestet
   Konfiguration unter Kontrolle
   Deutlich weniger Fehler
   Mehr Zeit für Features
   Weniger Zeit für stupides Deployment /
    Konfiguration




                                             pingworks
Live Demo

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




                                       pingworks

Weitere ähnliche Inhalte

Was ist angesagt?

Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?OPEN KNOWLEDGE GmbH
 
DevOps - Mehr Geschwindigkeit auf der Schiene
DevOps - Mehr Geschwindigkeit auf der SchieneDevOps - Mehr Geschwindigkeit auf der Schiene
DevOps - Mehr Geschwindigkeit auf der SchieneVorname Nachname
 
Kaps - Es muss nicht immer Kubernetes sein
Kaps - Es muss nicht immer Kubernetes seinKaps - Es muss nicht immer Kubernetes sein
Kaps - Es muss nicht immer Kubernetes seinStephan Kaps
 
Der Arbeitsalltag in einer containerisierten Umgebung
Der Arbeitsalltag in einer containerisierten UmgebungDer Arbeitsalltag in einer containerisierten Umgebung
Der Arbeitsalltag in einer containerisierten Umgebungx-celerate
 
Kaps - Continuous Deployment Roadmap
Kaps - Continuous Deployment RoadmapKaps - Continuous Deployment Roadmap
Kaps - Continuous Deployment RoadmapStephan Kaps
 
Azure Bootcamp Hamburg
Azure Bootcamp Hamburg Azure Bootcamp Hamburg
Azure Bootcamp Hamburg Lennart Passig
 
Supersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: QuarkusSupersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: QuarkusOPEN KNOWLEDGE GmbH
 
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...Marc Müller
 
micro services
micro servicesmicro services
micro servicessmancke
 
Die Zukunft von UCS: Woran arbeiten wir? - Stefan Gohmann, Univention
Die Zukunft von UCS: Woran arbeiten wir? - Stefan Gohmann, UniventionDie Zukunft von UCS: Woran arbeiten wir? - Stefan Gohmann, Univention
Die Zukunft von UCS: Woran arbeiten wir? - Stefan Gohmann, UniventionUnivention GmbH
 
Dev ops testautomatisierer bei Technosoft
Dev ops testautomatisierer bei TechnosoftDev ops testautomatisierer bei Technosoft
Dev ops testautomatisierer bei TechnosoftBart Zwager
 
Continuous Delivery für Infrastrukturdienste in Container-Umgebungen
Continuous Delivery für Infrastrukturdienste in Container-UmgebungenContinuous Delivery für Infrastrukturdienste in Container-Umgebungen
Continuous Delivery für Infrastrukturdienste in Container-UmgebungenNicholas Dille
 
Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring...
Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring...Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring...
Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring...Alex Sili
 
Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?Christian Baranowski
 
Qualitymanagement mit Sitecore und Sonarqube
Qualitymanagement mit Sitecore und SonarqubeQualitymanagement mit Sitecore und Sonarqube
Qualitymanagement mit Sitecore und SonarqubeDaniel Scherrer
 
Der Status Quo des Chaos Engineerings
Der Status Quo des Chaos EngineeringsDer Status Quo des Chaos Engineerings
Der Status Quo des Chaos EngineeringsQAware GmbH
 
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8sKontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8sQAware GmbH
 
Continuous integration eine Einführung für Unkundige
Continuous integration   eine Einführung für UnkundigeContinuous integration   eine Einführung für Unkundige
Continuous integration eine Einführung für Unkundigeabuwipp
 

Was ist angesagt? (20)

Serverless Survival Guide
Serverless Survival GuideServerless Survival Guide
Serverless Survival Guide
 
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
 
DevOps - Mehr Geschwindigkeit auf der Schiene
DevOps - Mehr Geschwindigkeit auf der SchieneDevOps - Mehr Geschwindigkeit auf der Schiene
DevOps - Mehr Geschwindigkeit auf der Schiene
 
Kaps - Es muss nicht immer Kubernetes sein
Kaps - Es muss nicht immer Kubernetes seinKaps - Es muss nicht immer Kubernetes sein
Kaps - Es muss nicht immer Kubernetes sein
 
Der Arbeitsalltag in einer containerisierten Umgebung
Der Arbeitsalltag in einer containerisierten UmgebungDer Arbeitsalltag in einer containerisierten Umgebung
Der Arbeitsalltag in einer containerisierten Umgebung
 
Kaps - Continuous Deployment Roadmap
Kaps - Continuous Deployment RoadmapKaps - Continuous Deployment Roadmap
Kaps - Continuous Deployment Roadmap
 
Azure Bootcamp Hamburg
Azure Bootcamp Hamburg Azure Bootcamp Hamburg
Azure Bootcamp Hamburg
 
Supersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: QuarkusSupersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: Quarkus
 
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
 
micro services
micro servicesmicro services
micro services
 
Die Zukunft von UCS: Woran arbeiten wir? - Stefan Gohmann, Univention
Die Zukunft von UCS: Woran arbeiten wir? - Stefan Gohmann, UniventionDie Zukunft von UCS: Woran arbeiten wir? - Stefan Gohmann, Univention
Die Zukunft von UCS: Woran arbeiten wir? - Stefan Gohmann, Univention
 
Dev ops testautomatisierer bei Technosoft
Dev ops testautomatisierer bei TechnosoftDev ops testautomatisierer bei Technosoft
Dev ops testautomatisierer bei Technosoft
 
TDD für Testmuffel
TDD für TestmuffelTDD für Testmuffel
TDD für Testmuffel
 
Continuous Delivery für Infrastrukturdienste in Container-Umgebungen
Continuous Delivery für Infrastrukturdienste in Container-UmgebungenContinuous Delivery für Infrastrukturdienste in Container-Umgebungen
Continuous Delivery für Infrastrukturdienste in Container-Umgebungen
 
Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring...
Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring...Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring...
Legacy-Software-Refactoring - Zielsetzungen für ein erfolgreiches Refactoring...
 
Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?
 
Qualitymanagement mit Sitecore und Sonarqube
Qualitymanagement mit Sitecore und SonarqubeQualitymanagement mit Sitecore und Sonarqube
Qualitymanagement mit Sitecore und Sonarqube
 
Der Status Quo des Chaos Engineerings
Der Status Quo des Chaos EngineeringsDer Status Quo des Chaos Engineerings
Der Status Quo des Chaos Engineerings
 
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8sKontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s
 
Continuous integration eine Einführung für Unkundige
Continuous integration   eine Einführung für UnkundigeContinuous integration   eine Einführung für Unkundige
Continuous integration eine Einführung für Unkundige
 

Andere mochten auch

The Speed of Change. Challenges for the Modern Marketer
The Speed of Change. Challenges for the Modern Marketer The Speed of Change. Challenges for the Modern Marketer
The Speed of Change. Challenges for the Modern Marketer Melissa Fisher, CFE
 
Continuous Delivery - Nett oder nötig? Erfahrungsbericht der FriendScout24 - ...
Continuous Delivery - Nett oder nötig? Erfahrungsbericht der FriendScout24 - ...Continuous Delivery - Nett oder nötig? Erfahrungsbericht der FriendScout24 - ...
Continuous Delivery - Nett oder nötig? Erfahrungsbericht der FriendScout24 - ...Michael Maretzke
 
DevDay 2016: Dave Farley - The Rationale for Continuous Delivery
DevDay 2016: Dave Farley - The Rationale for Continuous DeliveryDevDay 2016: Dave Farley - The Rationale for Continuous Delivery
DevDay 2016: Dave Farley - The Rationale for Continuous DeliveryDevDay Dresden
 
Culture Before Tools or Does Tooling Foster Culture?
Culture Before Tools or Does Tooling Foster Culture?Culture Before Tools or Does Tooling Foster Culture?
Culture Before Tools or Does Tooling Foster Culture?MagenTys
 
DevDay 2016: Adam Bien - Eine sprachneutrale Essenz der Microservices
DevDay 2016: Adam Bien - Eine sprachneutrale Essenz der MicroservicesDevDay 2016: Adam Bien - Eine sprachneutrale Essenz der Microservices
DevDay 2016: Adam Bien - Eine sprachneutrale Essenz der MicroservicesDevDay Dresden
 
DevDay 2016 - Jan Dittberner - Continous Delivery - Aber sicher?!
DevDay 2016 - Jan Dittberner - Continous Delivery - Aber sicher?!DevDay 2016 - Jan Dittberner - Continous Delivery - Aber sicher?!
DevDay 2016 - Jan Dittberner - Continous Delivery - Aber sicher?!DevDay Dresden
 
DevDay 2016: Hendrik Lösch - Lose gekoppelt wie nie: DI vs. IoC
DevDay 2016: Hendrik Lösch - Lose gekoppelt wie nie: DI vs. IoCDevDay 2016: Hendrik Lösch - Lose gekoppelt wie nie: DI vs. IoC
DevDay 2016: Hendrik Lösch - Lose gekoppelt wie nie: DI vs. IoCDevDay Dresden
 
Bimodal / Two Speed IT and Cloud Serverless Microservice Architecture
Bimodal / Two Speed IT and Cloud Serverless Microservice ArchitectureBimodal / Two Speed IT and Cloud Serverless Microservice Architecture
Bimodal / Two Speed IT and Cloud Serverless Microservice ArchitectureRobert Wilson
 
DevDay 2016: Dave Farley - Acceptance testing for continuous delivery
DevDay 2016: Dave Farley - Acceptance testing for continuous deliveryDevDay 2016: Dave Farley - Acceptance testing for continuous delivery
DevDay 2016: Dave Farley - Acceptance testing for continuous deliveryDevDay Dresden
 
Can you work agile in a waterfall organisation? Wagile
Can you work agile in a waterfall organisation? Wagile  Can you work agile in a waterfall organisation? Wagile
Can you work agile in a waterfall organisation? Wagile MagenTys
 
Two Speed IT: How Companies Can Surf the Digital Wave, A BCG Perspective Powe...
Two Speed IT: How Companies Can Surf the Digital Wave, A BCG Perspective Powe...Two Speed IT: How Companies Can Surf the Digital Wave, A BCG Perspective Powe...
Two Speed IT: How Companies Can Surf the Digital Wave, A BCG Perspective Powe...Bretz Harllynne Moltio
 
AppSphere 15 - Shining a Light on Shadow IT: A New Way of Working for "Busine...
AppSphere 15 - Shining a Light on Shadow IT: A New Way of Working for "Busine...AppSphere 15 - Shining a Light on Shadow IT: A New Way of Working for "Busine...
AppSphere 15 - Shining a Light on Shadow IT: A New Way of Working for "Busine...AppDynamics
 
Agiles PMO, Agil? Machen wir jetzt auch - sonst eigentlich alles wie gehabt
Agiles PMO, Agil? Machen wir jetzt auch - sonst eigentlich alles wie gehabtAgiles PMO, Agil? Machen wir jetzt auch - sonst eigentlich alles wie gehabt
Agiles PMO, Agil? Machen wir jetzt auch - sonst eigentlich alles wie gehabtAyelt Komus
 
Klassisches Projektmanagement und agil - OOP 2011 - OPITZ CONSULTING - Dr. An...
Klassisches Projektmanagement und agil - OOP 2011 - OPITZ CONSULTING - Dr. An...Klassisches Projektmanagement und agil - OOP 2011 - OPITZ CONSULTING - Dr. An...
Klassisches Projektmanagement und agil - OOP 2011 - OPITZ CONSULTING - Dr. An...OPITZ CONSULTING Deutschland
 
BizDevOps - Die prozessorientierte IT-Organisation
BizDevOps - Die prozessorientierte IT-OrganisationBizDevOps - Die prozessorientierte IT-Organisation
BizDevOps - Die prozessorientierte IT-OrganisationUwe Weng
 
DevOps: The Future is Already Here — It’s Just Unevenly Distributed
DevOps: The Future is Already Here — It’s Just Unevenly DistributedDevOps: The Future is Already Here — It’s Just Unevenly Distributed
DevOps: The Future is Already Here — It’s Just Unevenly Distributeddev2ops
 
Aligning the Fast & the Slow: The Reality of Multi-Speed IT
Aligning the Fast & the Slow: The Reality of Multi-Speed ITAligning the Fast & the Slow: The Reality of Multi-Speed IT
Aligning the Fast & the Slow: The Reality of Multi-Speed ITDevOps for Enterprise Systems
 
Bimodal IT: Shortcut to Innovation or Path to Dysfunction?
Bimodal IT: Shortcut to Innovation or Path to Dysfunction?Bimodal IT: Shortcut to Innovation or Path to Dysfunction?
Bimodal IT: Shortcut to Innovation or Path to Dysfunction?dev2ops
 
Two-Speed IT: Driving Innovation by Extending Your Exisiting IT Investments
Two-Speed IT: Driving Innovation by Extending Your Exisiting IT InvestmentsTwo-Speed IT: Driving Innovation by Extending Your Exisiting IT Investments
Two-Speed IT: Driving Innovation by Extending Your Exisiting IT InvestmentsApigee | Google Cloud
 
2 speed IT and how to get there
2 speed IT and how to get there2 speed IT and how to get there
2 speed IT and how to get thereMagenTys
 

Andere mochten auch (20)

The Speed of Change. Challenges for the Modern Marketer
The Speed of Change. Challenges for the Modern Marketer The Speed of Change. Challenges for the Modern Marketer
The Speed of Change. Challenges for the Modern Marketer
 
Continuous Delivery - Nett oder nötig? Erfahrungsbericht der FriendScout24 - ...
Continuous Delivery - Nett oder nötig? Erfahrungsbericht der FriendScout24 - ...Continuous Delivery - Nett oder nötig? Erfahrungsbericht der FriendScout24 - ...
Continuous Delivery - Nett oder nötig? Erfahrungsbericht der FriendScout24 - ...
 
DevDay 2016: Dave Farley - The Rationale for Continuous Delivery
DevDay 2016: Dave Farley - The Rationale for Continuous DeliveryDevDay 2016: Dave Farley - The Rationale for Continuous Delivery
DevDay 2016: Dave Farley - The Rationale for Continuous Delivery
 
Culture Before Tools or Does Tooling Foster Culture?
Culture Before Tools or Does Tooling Foster Culture?Culture Before Tools or Does Tooling Foster Culture?
Culture Before Tools or Does Tooling Foster Culture?
 
DevDay 2016: Adam Bien - Eine sprachneutrale Essenz der Microservices
DevDay 2016: Adam Bien - Eine sprachneutrale Essenz der MicroservicesDevDay 2016: Adam Bien - Eine sprachneutrale Essenz der Microservices
DevDay 2016: Adam Bien - Eine sprachneutrale Essenz der Microservices
 
DevDay 2016 - Jan Dittberner - Continous Delivery - Aber sicher?!
DevDay 2016 - Jan Dittberner - Continous Delivery - Aber sicher?!DevDay 2016 - Jan Dittberner - Continous Delivery - Aber sicher?!
DevDay 2016 - Jan Dittberner - Continous Delivery - Aber sicher?!
 
DevDay 2016: Hendrik Lösch - Lose gekoppelt wie nie: DI vs. IoC
DevDay 2016: Hendrik Lösch - Lose gekoppelt wie nie: DI vs. IoCDevDay 2016: Hendrik Lösch - Lose gekoppelt wie nie: DI vs. IoC
DevDay 2016: Hendrik Lösch - Lose gekoppelt wie nie: DI vs. IoC
 
Bimodal / Two Speed IT and Cloud Serverless Microservice Architecture
Bimodal / Two Speed IT and Cloud Serverless Microservice ArchitectureBimodal / Two Speed IT and Cloud Serverless Microservice Architecture
Bimodal / Two Speed IT and Cloud Serverless Microservice Architecture
 
DevDay 2016: Dave Farley - Acceptance testing for continuous delivery
DevDay 2016: Dave Farley - Acceptance testing for continuous deliveryDevDay 2016: Dave Farley - Acceptance testing for continuous delivery
DevDay 2016: Dave Farley - Acceptance testing for continuous delivery
 
Can you work agile in a waterfall organisation? Wagile
Can you work agile in a waterfall organisation? Wagile  Can you work agile in a waterfall organisation? Wagile
Can you work agile in a waterfall organisation? Wagile
 
Two Speed IT: How Companies Can Surf the Digital Wave, A BCG Perspective Powe...
Two Speed IT: How Companies Can Surf the Digital Wave, A BCG Perspective Powe...Two Speed IT: How Companies Can Surf the Digital Wave, A BCG Perspective Powe...
Two Speed IT: How Companies Can Surf the Digital Wave, A BCG Perspective Powe...
 
AppSphere 15 - Shining a Light on Shadow IT: A New Way of Working for "Busine...
AppSphere 15 - Shining a Light on Shadow IT: A New Way of Working for "Busine...AppSphere 15 - Shining a Light on Shadow IT: A New Way of Working for "Busine...
AppSphere 15 - Shining a Light on Shadow IT: A New Way of Working for "Busine...
 
Agiles PMO, Agil? Machen wir jetzt auch - sonst eigentlich alles wie gehabt
Agiles PMO, Agil? Machen wir jetzt auch - sonst eigentlich alles wie gehabtAgiles PMO, Agil? Machen wir jetzt auch - sonst eigentlich alles wie gehabt
Agiles PMO, Agil? Machen wir jetzt auch - sonst eigentlich alles wie gehabt
 
Klassisches Projektmanagement und agil - OOP 2011 - OPITZ CONSULTING - Dr. An...
Klassisches Projektmanagement und agil - OOP 2011 - OPITZ CONSULTING - Dr. An...Klassisches Projektmanagement und agil - OOP 2011 - OPITZ CONSULTING - Dr. An...
Klassisches Projektmanagement und agil - OOP 2011 - OPITZ CONSULTING - Dr. An...
 
BizDevOps - Die prozessorientierte IT-Organisation
BizDevOps - Die prozessorientierte IT-OrganisationBizDevOps - Die prozessorientierte IT-Organisation
BizDevOps - Die prozessorientierte IT-Organisation
 
DevOps: The Future is Already Here — It’s Just Unevenly Distributed
DevOps: The Future is Already Here — It’s Just Unevenly DistributedDevOps: The Future is Already Here — It’s Just Unevenly Distributed
DevOps: The Future is Already Here — It’s Just Unevenly Distributed
 
Aligning the Fast & the Slow: The Reality of Multi-Speed IT
Aligning the Fast & the Slow: The Reality of Multi-Speed ITAligning the Fast & the Slow: The Reality of Multi-Speed IT
Aligning the Fast & the Slow: The Reality of Multi-Speed IT
 
Bimodal IT: Shortcut to Innovation or Path to Dysfunction?
Bimodal IT: Shortcut to Innovation or Path to Dysfunction?Bimodal IT: Shortcut to Innovation or Path to Dysfunction?
Bimodal IT: Shortcut to Innovation or Path to Dysfunction?
 
Two-Speed IT: Driving Innovation by Extending Your Exisiting IT Investments
Two-Speed IT: Driving Innovation by Extending Your Exisiting IT InvestmentsTwo-Speed IT: Driving Innovation by Extending Your Exisiting IT Investments
Two-Speed IT: Driving Innovation by Extending Your Exisiting IT Investments
 
2 speed IT and how to get there
2 speed IT and how to get there2 speed IT and how to get there
2 speed IT and how to get there
 

Ähnlich wie Agile Breakfast - If it hurts do it more often

Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenOPITZ CONSULTING Deutschland
 
Test-driven Development mit TYPO3
Test-driven Development mit TYPO3Test-driven Development mit TYPO3
Test-driven Development mit TYPO3Oliver Klee
 
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10Ralf Sigmund
 
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsSoftwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsGFU Cyrus AG
 
Continuous Lifecycle 2013: Testgetriebenes Arbeiten im Betrieb
Continuous Lifecycle 2013: Testgetriebenes Arbeiten im BetriebContinuous Lifecycle 2013: Testgetriebenes Arbeiten im Betrieb
Continuous Lifecycle 2013: Testgetriebenes Arbeiten im BetriebAndreas Schmidt
 
JAX 2015 - Continuous Integration mit Java & Javascript
JAX 2015 - Continuous Integration mit Java & JavascriptJAX 2015 - Continuous Integration mit Java & Javascript
JAX 2015 - Continuous Integration mit Java & Javascriptdzuvic
 
PHP Entwicklung mit VMware Images
PHP Entwicklung mit VMware ImagesPHP Entwicklung mit VMware Images
PHP Entwicklung mit VMware ImagesAlexander Meindl
 
Einführung Vorgehensmodelle und Agile Software Entwicklung
Einführung Vorgehensmodelle und Agile Software EntwicklungEinführung Vorgehensmodelle und Agile Software Entwicklung
Einführung Vorgehensmodelle und Agile Software EntwicklungChristian Baranowski
 
Robustes Testen mit Selenium
Robustes Testen mit SeleniumRobustes Testen mit Selenium
Robustes Testen mit Seleniumx-celerate
 
OpenShift-Build-Pipelines: Build ► Test ► Run!
OpenShift-Build-Pipelines: Build ► Test ► Run!OpenShift-Build-Pipelines: Build ► Test ► Run!
OpenShift-Build-Pipelines: Build ► Test ► Run!Tobias Schneck
 
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturContinuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturQAware GmbH
 
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen....NET User Group Rhein-Neckar
 
Der Agile Qualitätsbaukasten - PHP Unconference 2014
Der Agile Qualitätsbaukasten - PHP Unconference 2014Der Agile Qualitätsbaukasten - PHP Unconference 2014
Der Agile Qualitätsbaukasten - PHP Unconference 2014WebcsonsultsEU
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrants0enke
 
Entwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHEntwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHFlorian Holzhauer
 
CI-Ampel für Jenkins mit RaspberryPi und Python
CI-Ampel für Jenkins mit RaspberryPi und PythonCI-Ampel für Jenkins mit RaspberryPi und Python
CI-Ampel für Jenkins mit RaspberryPi und PythonThomas Koch
 
Serverprovisioning in einer dynamischen Infrastruktur
Serverprovisioning in einer dynamischen InfrastrukturServerprovisioning in einer dynamischen Infrastruktur
Serverprovisioning in einer dynamischen Infrastrukturinovex GmbH
 

Ähnlich wie Agile Breakfast - If it hurts do it more often (20)

Jenkins Acceleration
Jenkins AccelerationJenkins Acceleration
Jenkins Acceleration
 
Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und Architekten
 
Test-driven Development mit TYPO3
Test-driven Development mit TYPO3Test-driven Development mit TYPO3
Test-driven Development mit TYPO3
 
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
Wjax integrationsprojekte auf dem weg zur continuous delivery 2011 11-10
 
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsSoftwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
 
Continuous Lifecycle 2013: Testgetriebenes Arbeiten im Betrieb
Continuous Lifecycle 2013: Testgetriebenes Arbeiten im BetriebContinuous Lifecycle 2013: Testgetriebenes Arbeiten im Betrieb
Continuous Lifecycle 2013: Testgetriebenes Arbeiten im Betrieb
 
JAX 2015 - Continuous Integration mit Java & Javascript
JAX 2015 - Continuous Integration mit Java & JavascriptJAX 2015 - Continuous Integration mit Java & Javascript
JAX 2015 - Continuous Integration mit Java & Javascript
 
PHP Entwicklung mit VMware Images
PHP Entwicklung mit VMware ImagesPHP Entwicklung mit VMware Images
PHP Entwicklung mit VMware Images
 
Einführung Vorgehensmodelle und Agile Software Entwicklung
Einführung Vorgehensmodelle und Agile Software EntwicklungEinführung Vorgehensmodelle und Agile Software Entwicklung
Einführung Vorgehensmodelle und Agile Software Entwicklung
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
Robustes Testen mit Selenium
Robustes Testen mit SeleniumRobustes Testen mit Selenium
Robustes Testen mit Selenium
 
OpenShift-Build-Pipelines: Build ► Test ► Run!
OpenShift-Build-Pipelines: Build ► Test ► Run!OpenShift-Build-Pipelines: Build ► Test ► Run!
OpenShift-Build-Pipelines: Build ► Test ► Run!
 
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturContinuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
 
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
 
Der Agile Qualitätsbaukasten - PHP Unconference 2014
Der Agile Qualitätsbaukasten - PHP Unconference 2014Der Agile Qualitätsbaukasten - PHP Unconference 2014
Der Agile Qualitätsbaukasten - PHP Unconference 2014
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrant
 
Entwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHEntwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HH
 
CI-Ampel für Jenkins mit RaspberryPi und Python
CI-Ampel für Jenkins mit RaspberryPi und PythonCI-Ampel für Jenkins mit RaspberryPi und Python
CI-Ampel für Jenkins mit RaspberryPi und Python
 
Serverprovisioning in einer dynamischen Infrastruktur
Serverprovisioning in einer dynamischen InfrastrukturServerprovisioning in einer dynamischen Infrastruktur
Serverprovisioning in einer dynamischen Infrastruktur
 
Digicomp sqlday migration
Digicomp sqlday migrationDigicomp sqlday migration
Digicomp sqlday migration
 

Agile Breakfast - If it hurts do it more often

  • 1. If it hurts do it more often Introducing Continuous Delivery pingworks – Alexander Birk, Christoph Lukas SEITENBAU – Christian Faigle Agile Breakfast 27.6.2012 pingworks
  • 2. Case Study – Continuous Delivery  Konkretes Projekt: online Präsentationstool ala slideshare.net  Ordner, Tags, Berechtigungen  ca. 40 Entwickler  3 Standorte pingworks
  • 3. Technischer Rahmen  3 Schichten Architektur  Datenschicht, Businesslogik, RIA  Inhomogene Technologien: Java, PHP, JS  ~ 35 SVN Module  ~ 40 Konfigurationsdateien, > 5000 Zeilen  13 Maschinen in produktionsnaher Umgebung  Unit-, Integrations- und Systemtests pingworks
  • 4. Komponenten pingworks
  • 5. Entwicklung mit SCRUM  zweiwöchige Sprints  Lieferung alle zwei Wochen  Jede Lieferung bedeutet:  Erstellung von RPMs  Deployment auf Testumgebung  Durchführung von Tests  Erstellung von Testprotokollen pingworks
  • 6. Lieferung ohne Continuous Delivery  Tagging, RPM Build, Deployment: ~ 1 PT  Lieferung: ~ 2 PT  Spezialwissen nötig  Wehe, die Spezialisten haben Urlaub!!  Integration selten, mini BigBang pingworks
  • 9. Voraussetzungen Continuous Delivery Continuous Integration Configuration Management Automated Testing DevOps Thinking pingworks
  • 10. Implementierung  Standardisierung der Testumgebung  Standardisierung des Deployments  Standardisierung der Konfiguration  Aufbau der Build-Pipeline im Jenkins pingworks
  • 11. Testumgebungen  Virtualisierte Testumgebungen  Einheitliches Hostnamen Schema  Gescriptetes Cloning und Konfiguration  „Wegwerf-Mentalität“  Erstellung in < 15 min. pingworks
  • 12. Deployment  Installer im Bundle  Kann Anwendung auf allen Umgebungen installieren  Konfiguriert die Anwendung  „One Click Deployment“ in < 3 min. pingworks
  • 13. Continuous Delivery in Zahlen  2500 Unittests  1500 Integrationstests  200 Systemtests  Bis zu 100 Commits / Bundles pro Tag  Bis zu 1000 Deployments pro Tag  30 Testumgebungen  100 VMs, 2 ESX-Server pingworks
  • 14. Schwierigkeiten  Graben zwischen Dev und Ops zuschütten  DevOps Thinking etablieren: „jeder ist verantwortlich für die Delivery“  Vermeintliche Kosten  Letzte Meile beim Kunden pingworks
  • 15. Gewinn  Deployment wird mit getestet  Konfiguration unter Kontrolle  Deutlich weniger Fehler  Mehr Zeit für Features  Weniger Zeit für stupides Deployment / Konfiguration pingworks
  • 16. Live Demo  Erzeugung einer Testumgebung  Build-Pipeline im Jenkins  Bundle-Repository  Dashboard  Deployment auf neue Testumgebung pingworks