SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
Continuous Delivery
„Warum und wie etablierte Technology-
Stacks immer schneller werden müssen!“
Michael Maretzke
Vice President Technology @ FriendScout24
Michael Maretzke
FriendScout24
Vice President Technology
michael.maretzke@friendscout24.de
twitter: @mmaretzke
Lebenspartner
InternationalInternational
Noi ti innamoriamo!
Social DatingCasual Dating
Lebenspartner
Online Dating
Revival 2012Start 2011Start 2011Seit 2000
Product
Manager
Product
Owner
UX Designer
SCRUM
KANBAN
AGILE
Lead Engineer
SW Engineer SW Engineer
SW Engineer SW Engineer
QA Manager
Scrum Master
SCRUM
KANBAN
Kerngeschäft
Bewährtes
Businessmodell
8 Jahre erprobte Architektur
Wachstumsfelder
Neue
Businessmodelle
Leading Edge-Technolgies
WarumWarum
Continuous
Delivery?
Jez Humble, David Farley: „Continuous Delivery“
Addison-Wesley
ISBN 9780321601919
Seite 17
Jez Humble, David Farley: „Continuous Delivery“
Addison-Wesley
ISBN 9780321601919
Seite 17
Automate almost everything!
LEAN Product Development
Entrepreneurship is Management
Entrepreneurs are Everywhere
Validated Learning
Build-Measure-Learn
Innovation Accounting
Warum LEAN Product Development?
Build
MeasureLearn
Continuous Delivery
@ FriendScout24
==
Continuous Live DeploymentContinuous Live Deployment
Ziel 2012
Releases mit 2 Stunden Release
Delivery Time
Low
HangingHanging
Fruits
BIG BLOCKS
Challenges
Dating Plattform
– Releases benötigen Restart
– Abhängigkeiten zwischen Backend und– Abhängigkeiten zwischen Backend und
Frontend
– Viele, viele Artefakte und Abhängigkeiten
– Nicht alle relevanten Elemente sind
redundant ausgelegt
– Sehr großer Aufwand!
Challenges
Secret
– Junge Plattform mit wenig
„Maintenance“-Schulden„Maintenance“-Schulden
– Dennoch Umbaumaßnahmen erforderlich
Continuous Delivery – Wie?
@FRS24
Brain Storming
Assessment
mit externen
Beratern
• SCRUM
• 3 Wochen Release Cycle
Beratern
1) …
2) …
3) …
4) …
5) …
6) …
7) …
8) …
9) …
10) …
• 3 Wochen Release Cycle
• Dedizierte 2 Tage QA-Zeit
• Kaum Unit-Tests
• Downtime pro Release ca.
5 min
• 350.000 LOC
• Viele Abhängigkeiten
zwischen Modulen
Oktober 2011
Continuous Delivery – Wie?
1) …
2) …
3) …
4) …
5) …
6) …
7) …
8) …
9) …
10) …
• 2 Wochen Release Cycle
Setup CLD-
Team
10) …
1) Optimierung der UAT-Läufe
2) Überarbeitung der Build-
Pipeline
3) Optimierung des Session-
Handlings
4) Stärkerer Fokus auf Unit-Tests
5) Code aufräumen
November/Dezember 2011
Continuous Delivery – Wie?
CLD-Team 1) …
2) …
3) …
4) …
5) …
6) …
7) …
8) …
9) …
10) …
• Kanban
• 2 Daily Release Cycle
• Dedizierte 5 Stunden QA-Zeit
Externe 10) …
• Dedizierte 5 Stunden QA-Zeit
• Downtime pro Release ca. 5 min
1) Überarbeitung der Build-
Pipeline
2) Optimierung des Session-
Handlings
März 2012
Externe
Berater
Continuous Delivery – Wie?
CLD-Team 1) …
2) …
3) …
4) …
5) …
6) …
7) …
8) …
9) …
10) …
• Kanban
• Daily Release Cycle
• Dedizierte 3 Stunden QA-Zeit
Externe 10) …
• Dedizierte 3 Stunden QA-Zeit
• Downtime pro Release ca. 5 min
1) Aufbrechen der
Abhängigkeiten im Back-End
2) Back-End
Renovierungskonzept
Juni 2012
Externe
Berater
Release Delivery Time
Zeitdauer UAT-Läufe
Unit Test Coverage
Build-Pipeline
Next?
1) …
2) …
3) …
4) …
5) …
6) …
7) …
8) …
9) …
10) …
• Umbau Architektur
• Aufbrechen Monolith
• Isolierung von Services im Backend
• Virtualisierung• Virtualisierung
• Configuration Management
• Konfigurationen
• Umgebungen
• Prozesse optimieren
• Definition of Done / Ready
• Builds brechen
• CI Jenkins
• Build-Pipeline Jenkins
• Repository SVN GIT
• Build-Tools ANT, MAVEN,
rake, scripts
• Agile tool
JIRA+GreenhopperJIRA+Greenhopper
• Monitoring Nagios, Gomez
• Code Watch Sonar
Lessons? Learned!
• How do we do
this?
Q&A
Bilder …Bilder …
• http://www.flickr.com/photos/rudiriet/109718350/
• http://www.flickr.com/photos/dawnmanser/3532598208/
• http://www.flickr.com/photos/winkelbohrer/5771255419/
• http://www.flickr.com/photos/fischler/6181295838/
• http://www.flickr.com/photos/baklava/5086093546/
• http://www.flickr.com/photos/evilerin/3417479220/
• http://www.flickr.com/photos/intellicaviar/6249849679/
• Selbst ☺

Weitere ähnliche Inhalte

Was ist angesagt?

Anatomie von Microservice Landschaften
Anatomie von Microservice LandschaftenAnatomie von Microservice Landschaften
Anatomie von Microservice LandschaftenMichael Plöd
 
DevDay 2017: Bert Radke - Der Frontend Monolith
DevDay 2017: Bert Radke - Der Frontend MonolithDevDay 2017: Bert Radke - Der Frontend Monolith
DevDay 2017: Bert Radke - Der Frontend MonolithDevDay Dresden
 
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...LeanIX GmbH
 
DevDay 2017: Ralf Knobloch - "Einfacher leben mit DevOps bei der MMS !!" - De...
DevDay 2017: Ralf Knobloch - "Einfacher leben mit DevOps bei der MMS !!" - De...DevDay 2017: Ralf Knobloch - "Einfacher leben mit DevOps bei der MMS !!" - De...
DevDay 2017: Ralf Knobloch - "Einfacher leben mit DevOps bei der MMS !!" - De...DevDay Dresden
 
Microservices mit dem MicroProfile
Microservices mit dem MicroProfileMicroservices mit dem MicroProfile
Microservices mit dem MicroProfileOPEN KNOWLEDGE GmbH
 
Mehr Sicherheit durch Automatisierung
Mehr Sicherheit durch AutomatisierungMehr Sicherheit durch Automatisierung
Mehr Sicherheit durch AutomatisierungOPEN KNOWLEDGE GmbH
 
Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightChristinaLerch1
 
BATbern41 Die Evolution zu Microservices
BATbern41 Die Evolution zu MicroservicesBATbern41 Die Evolution zu Microservices
BATbern41 Die Evolution zu MicroservicesBATbern
 
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
 
Webcast Azure Integration Migration - Von BizTalk in die Cloud
Webcast Azure Integration Migration - Von BizTalk in die CloudWebcast Azure Integration Migration - Von BizTalk in die Cloud
Webcast Azure Integration Migration - Von BizTalk in die CloudQUIBIQ Hamburg
 
Azure Bootcamp Hamburg
Azure Bootcamp Hamburg Azure Bootcamp Hamburg
Azure Bootcamp Hamburg Lennart Passig
 
jQuery Mobile mit TYPO3
jQuery Mobile mit TYPO3jQuery Mobile mit TYPO3
jQuery Mobile mit TYPO3Alex Kellner
 
BATbern41 Microservices@Enterprise
BATbern41 Microservices@EnterpriseBATbern41 Microservices@Enterprise
BATbern41 Microservices@EnterpriseBATbern
 
Agile Breakfast - If it hurts do it more often
Agile Breakfast - If it hurts do it more oftenAgile Breakfast - If it hurts do it more often
Agile Breakfast - If it hurts do it more oftenpingworks
 
DevDay 2017: Andreas Reischuck - Benutzbare & Sichere Kommunikation für die v...
DevDay 2017: Andreas Reischuck - Benutzbare & Sichere Kommunikation für die v...DevDay 2017: Andreas Reischuck - Benutzbare & Sichere Kommunikation für die v...
DevDay 2017: Andreas Reischuck - Benutzbare & Sichere Kommunikation für die v...DevDay Dresden
 
Die dunkle Seite der Microservices - und wie du sie besiegen kannst
Die dunkle Seite der Microservices - und wie du sie besiegen kannst Die dunkle Seite der Microservices - und wie du sie besiegen kannst
Die dunkle Seite der Microservices - und wie du sie besiegen kannst inovex GmbH
 
micro services
micro servicesmicro services
micro servicessmancke
 
DevDay 2017: Daniel Trautmann - Mythos DevOps: Development versus Operations?
DevDay 2017: Daniel Trautmann - Mythos DevOps: Development versus Operations?DevDay 2017: Daniel Trautmann - Mythos DevOps: Development versus Operations?
DevDay 2017: Daniel Trautmann - Mythos DevOps: Development versus Operations?DevDay Dresden
 

Was ist angesagt? (20)

Anatomie von Microservice Landschaften
Anatomie von Microservice LandschaftenAnatomie von Microservice Landschaften
Anatomie von Microservice Landschaften
 
DevDay 2017: Bert Radke - Der Frontend Monolith
DevDay 2017: Bert Radke - Der Frontend MonolithDevDay 2017: Bert Radke - Der Frontend Monolith
DevDay 2017: Bert Radke - Der Frontend Monolith
 
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
 
DevDay 2017: Ralf Knobloch - "Einfacher leben mit DevOps bei der MMS !!" - De...
DevDay 2017: Ralf Knobloch - "Einfacher leben mit DevOps bei der MMS !!" - De...DevDay 2017: Ralf Knobloch - "Einfacher leben mit DevOps bei der MMS !!" - De...
DevDay 2017: Ralf Knobloch - "Einfacher leben mit DevOps bei der MMS !!" - De...
 
Microservices mit dem MicroProfile
Microservices mit dem MicroProfileMicroservices mit dem MicroProfile
Microservices mit dem MicroProfile
 
Mehr Sicherheit durch Automatisierung
Mehr Sicherheit durch AutomatisierungMehr Sicherheit durch Automatisierung
Mehr Sicherheit durch Automatisierung
 
Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha Night
 
BATbern41 Die Evolution zu Microservices
BATbern41 Die Evolution zu MicroservicesBATbern41 Die Evolution zu Microservices
BATbern41 Die Evolution zu Microservices
 
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?
 
Webcast Azure Integration Migration - Von BizTalk in die Cloud
Webcast Azure Integration Migration - Von BizTalk in die CloudWebcast Azure Integration Migration - Von BizTalk in die Cloud
Webcast Azure Integration Migration - Von BizTalk in die Cloud
 
Azure Bootcamp Hamburg
Azure Bootcamp Hamburg Azure Bootcamp Hamburg
Azure Bootcamp Hamburg
 
jQuery Mobile mit TYPO3
jQuery Mobile mit TYPO3jQuery Mobile mit TYPO3
jQuery Mobile mit TYPO3
 
DevOps Meetup Freiburg - DevOps in Practice
DevOps Meetup Freiburg - DevOps in PracticeDevOps Meetup Freiburg - DevOps in Practice
DevOps Meetup Freiburg - DevOps in Practice
 
BATbern41 Microservices@Enterprise
BATbern41 Microservices@EnterpriseBATbern41 Microservices@Enterprise
BATbern41 Microservices@Enterprise
 
Agile Breakfast - If it hurts do it more often
Agile Breakfast - If it hurts do it more oftenAgile Breakfast - If it hurts do it more often
Agile Breakfast - If it hurts do it more often
 
DevDay 2017: Andreas Reischuck - Benutzbare & Sichere Kommunikation für die v...
DevDay 2017: Andreas Reischuck - Benutzbare & Sichere Kommunikation für die v...DevDay 2017: Andreas Reischuck - Benutzbare & Sichere Kommunikation für die v...
DevDay 2017: Andreas Reischuck - Benutzbare & Sichere Kommunikation für die v...
 
Die dunkle Seite der Microservices - und wie du sie besiegen kannst
Die dunkle Seite der Microservices - und wie du sie besiegen kannst Die dunkle Seite der Microservices - und wie du sie besiegen kannst
Die dunkle Seite der Microservices - und wie du sie besiegen kannst
 
micro services
micro servicesmicro services
micro services
 
Enterprise Java on Steroids
Enterprise Java on SteroidsEnterprise Java on Steroids
Enterprise Java on Steroids
 
DevDay 2017: Daniel Trautmann - Mythos DevOps: Development versus Operations?
DevDay 2017: Daniel Trautmann - Mythos DevOps: Development versus Operations?DevDay 2017: Daniel Trautmann - Mythos DevOps: Development versus Operations?
DevDay 2017: Daniel Trautmann - Mythos DevOps: Development versus Operations?
 

Andere mochten auch

Automotive Business Manager Bury St Edmunds
Automotive Business Manager Bury St EdmundsAutomotive Business Manager Bury St Edmunds
Automotive Business Manager Bury St EdmundsDarren Roach
 
Statische Code-Analyse mit Python
Statische Code-Analyse mit PythonStatische Code-Analyse mit Python
Statische Code-Analyse mit PythonTimo Stollenwerk
 
CQRS in der Praxis - Newsletter Double-Opt-In
CQRS in der Praxis - Newsletter Double-Opt-InCQRS in der Praxis - Newsletter Double-Opt-In
CQRS in der Praxis - Newsletter Double-Opt-InPHP in DD
 
CQRS basierte Architekturen mit Microservices
CQRS basierte Architekturen mit MicroservicesCQRS basierte Architekturen mit Microservices
CQRS basierte Architekturen mit MicroservicesMichael Plöd
 
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
 
DevDay 2016: Peter Lehmann - Testautomatisierungsframework Xeta
DevDay 2016: Peter Lehmann - Testautomatisierungsframework XetaDevDay 2016: Peter Lehmann - Testautomatisierungsframework Xeta
DevDay 2016: Peter Lehmann - Testautomatisierungsframework XetaDevDay Dresden
 
Spark on Kubernetes - Advanced Spark and Tensorflow Meetup - Jan 19 2017 - An...
Spark on Kubernetes - Advanced Spark and Tensorflow Meetup - Jan 19 2017 - An...Spark on Kubernetes - Advanced Spark and Tensorflow Meetup - Jan 19 2017 - An...
Spark on Kubernetes - Advanced Spark and Tensorflow Meetup - Jan 19 2017 - An...Chris Fregly
 
Unit testing - Überblick für (Projekt) Manager
Unit testing - Überblick für (Projekt) ManagerUnit testing - Überblick für (Projekt) Manager
Unit testing - Überblick für (Projekt) ManagerFrank Sons
 
Continuous Integration / Deployment mit Jenkins CI
Continuous Integration / Deployment mit Jenkins CI Continuous Integration / Deployment mit Jenkins CI
Continuous Integration / Deployment mit Jenkins CI Florian Bosselmann
 
Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...
Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...
Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...Jürgen Gutsch
 
Continuous Integration mit Jenkins
Continuous Integration mit JenkinsContinuous Integration mit Jenkins
Continuous Integration mit JenkinsStephan Schmidt
 
Continuous Integration mit Hudson (JUG Stuttgart, 11.02.2010)
Continuous Integration mit Hudson (JUG Stuttgart, 11.02.2010)Continuous Integration mit Hudson (JUG Stuttgart, 11.02.2010)
Continuous Integration mit Hudson (JUG Stuttgart, 11.02.2010)Wiest Simon
 
Event Sourcing: Einführung und Best Practices
Event Sourcing: Einführung und Best PracticesEvent Sourcing: Einführung und Best Practices
Event Sourcing: Einführung und Best PracticesMichael Plöd
 

Andere mochten auch (13)

Automotive Business Manager Bury St Edmunds
Automotive Business Manager Bury St EdmundsAutomotive Business Manager Bury St Edmunds
Automotive Business Manager Bury St Edmunds
 
Statische Code-Analyse mit Python
Statische Code-Analyse mit PythonStatische Code-Analyse mit Python
Statische Code-Analyse mit Python
 
CQRS in der Praxis - Newsletter Double-Opt-In
CQRS in der Praxis - Newsletter Double-Opt-InCQRS in der Praxis - Newsletter Double-Opt-In
CQRS in der Praxis - Newsletter Double-Opt-In
 
CQRS basierte Architekturen mit Microservices
CQRS basierte Architekturen mit MicroservicesCQRS basierte Architekturen mit Microservices
CQRS basierte Architekturen mit Microservices
 
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
 
DevDay 2016: Peter Lehmann - Testautomatisierungsframework Xeta
DevDay 2016: Peter Lehmann - Testautomatisierungsframework XetaDevDay 2016: Peter Lehmann - Testautomatisierungsframework Xeta
DevDay 2016: Peter Lehmann - Testautomatisierungsframework Xeta
 
Spark on Kubernetes - Advanced Spark and Tensorflow Meetup - Jan 19 2017 - An...
Spark on Kubernetes - Advanced Spark and Tensorflow Meetup - Jan 19 2017 - An...Spark on Kubernetes - Advanced Spark and Tensorflow Meetup - Jan 19 2017 - An...
Spark on Kubernetes - Advanced Spark and Tensorflow Meetup - Jan 19 2017 - An...
 
Unit testing - Überblick für (Projekt) Manager
Unit testing - Überblick für (Projekt) ManagerUnit testing - Überblick für (Projekt) Manager
Unit testing - Überblick für (Projekt) Manager
 
Continuous Integration / Deployment mit Jenkins CI
Continuous Integration / Deployment mit Jenkins CI Continuous Integration / Deployment mit Jenkins CI
Continuous Integration / Deployment mit Jenkins CI
 
Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...
Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...
Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...
 
Continuous Integration mit Jenkins
Continuous Integration mit JenkinsContinuous Integration mit Jenkins
Continuous Integration mit Jenkins
 
Continuous Integration mit Hudson (JUG Stuttgart, 11.02.2010)
Continuous Integration mit Hudson (JUG Stuttgart, 11.02.2010)Continuous Integration mit Hudson (JUG Stuttgart, 11.02.2010)
Continuous Integration mit Hudson (JUG Stuttgart, 11.02.2010)
 
Event Sourcing: Einführung und Best Practices
Event Sourcing: Einführung und Best PracticesEvent Sourcing: Einführung und Best Practices
Event Sourcing: Einführung und Best Practices
 

Ähnlich wie Continuous Delivery @ FriendScout24 | Webinale 2012

Beyond Agile - when Freedom grows to Quality and Speed
Beyond Agile - when Freedom grows to Quality and SpeedBeyond Agile - when Freedom grows to Quality and Speed
Beyond Agile - when Freedom grows to Quality and SpeedSebastian Bernt
 
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
 
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
 
2005 - NRW Conf: Design, Entwicklung und Tests
2005 - NRW Conf: Design, Entwicklung und Tests2005 - NRW Conf: Design, Entwicklung und Tests
2005 - NRW Conf: Design, Entwicklung und TestsDaniel Fisher
 
Agile Oracle database modeling and development - APEX Connect 2020
Agile Oracle database modeling and development - APEX Connect 2020Agile Oracle database modeling and development - APEX Connect 2020
Agile Oracle database modeling and development - APEX Connect 2020Torsten Kleiber
 
Lean development 04
Lean development 04Lean development 04
Lean development 04SuperB2
 
Innovation durch Scrum und Continuous Delivery
Innovation durch Scrum und Continuous DeliveryInnovation durch Scrum und Continuous Delivery
Innovation durch Scrum und Continuous DeliveryPeter Gfader
 
MURCS - Wir machen jetzt Scrum (OOP 2017)
MURCS - Wir machen jetzt Scrum (OOP 2017)MURCS - Wir machen jetzt Scrum (OOP 2017)
MURCS - Wir machen jetzt Scrum (OOP 2017)Ulf Mewe
 
Hilfe! Agile und die Digitale Transformation haben meinen Job gefressen ...
Hilfe! Agile und die Digitale Transformation haben meinen Job gefressen ...Hilfe! Agile und die Digitale Transformation haben meinen Job gefressen ...
Hilfe! Agile und die Digitale Transformation haben meinen Job gefressen ...inovex GmbH
 
Scrum als agiles Vorgehensmodell für Programmierer
Scrum als agiles Vorgehensmodell für ProgrammiererScrum als agiles Vorgehensmodell für Programmierer
Scrum als agiles Vorgehensmodell für ProgrammiererTobias Schlüter
 
USEEDS° :: Responsive Design im Projektalltag bei mobile.de
USEEDS° :: Responsive Design im Projektalltag bei mobile.deUSEEDS° :: Responsive Design im Projektalltag bei mobile.de
USEEDS° :: Responsive Design im Projektalltag bei mobile.deUSEEDS GmbH
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerDennis Wilson
 
OOP 2012 - Udo Pracht - DevOps Einführung und Überblick
OOP 2012 - Udo Pracht - DevOps Einführung und ÜberblickOOP 2012 - Udo Pracht - DevOps Einführung und Überblick
OOP 2012 - Udo Pracht - DevOps Einführung und ÜberblickUdo Pracht
 
Lean SW-Development mit Scrum und Kanban
Lean SW-Development mit Scrum und KanbanLean SW-Development mit Scrum und Kanban
Lean SW-Development mit Scrum und Kanbanfoobar2605
 
Lwipcgn#110 2020-die agilekeuleueberleben
Lwipcgn#110 2020-die agilekeuleueberlebenLwipcgn#110 2020-die agilekeuleueberleben
Lwipcgn#110 2020-die agilekeuleueberlebenMichael Mahlberg
 

Ähnlich wie Continuous Delivery @ FriendScout24 | Webinale 2012 (20)

Beyond Agile - when Freedom grows to Quality and Speed
Beyond Agile - when Freedom grows to Quality and SpeedBeyond Agile - when Freedom grows to Quality and Speed
Beyond Agile - when Freedom grows to Quality and Speed
 
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 - ...
 
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...
 
2005 - NRW Conf: Design, Entwicklung und Tests
2005 - NRW Conf: Design, Entwicklung und Tests2005 - NRW Conf: Design, Entwicklung und Tests
2005 - NRW Conf: Design, Entwicklung und Tests
 
Agile Oracle database modeling and development - APEX Connect 2020
Agile Oracle database modeling and development - APEX Connect 2020Agile Oracle database modeling and development - APEX Connect 2020
Agile Oracle database modeling and development - APEX Connect 2020
 
Lean development 04
Lean development 04Lean development 04
Lean development 04
 
Innovation durch Scrum und Continuous Delivery
Innovation durch Scrum und Continuous DeliveryInnovation durch Scrum und Continuous Delivery
Innovation durch Scrum und Continuous Delivery
 
App-Delivery-Pipeline
App-Delivery-PipelineApp-Delivery-Pipeline
App-Delivery-Pipeline
 
OOP2017: Scrum statt Murcs - Agile Software-Entwicklung
OOP2017: Scrum statt Murcs - Agile Software-EntwicklungOOP2017: Scrum statt Murcs - Agile Software-Entwicklung
OOP2017: Scrum statt Murcs - Agile Software-Entwicklung
 
MURCS - Wir machen jetzt Scrum (OOP 2017)
MURCS - Wir machen jetzt Scrum (OOP 2017)MURCS - Wir machen jetzt Scrum (OOP 2017)
MURCS - Wir machen jetzt Scrum (OOP 2017)
 
Murcs
MurcsMurcs
Murcs
 
Hilfe! Agile und die Digitale Transformation haben meinen Job gefressen ...
Hilfe! Agile und die Digitale Transformation haben meinen Job gefressen ...Hilfe! Agile und die Digitale Transformation haben meinen Job gefressen ...
Hilfe! Agile und die Digitale Transformation haben meinen Job gefressen ...
 
Scrum als agiles Vorgehensmodell für Programmierer
Scrum als agiles Vorgehensmodell für ProgrammiererScrum als agiles Vorgehensmodell für Programmierer
Scrum als agiles Vorgehensmodell für Programmierer
 
USEEDS° :: Responsive Design im Projektalltag bei mobile.de
USEEDS° :: Responsive Design im Projektalltag bei mobile.deUSEEDS° :: Responsive Design im Projektalltag bei mobile.de
USEEDS° :: Responsive Design im Projektalltag bei mobile.de
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem Softwerker
 
OOP 2012 - Udo Pracht - DevOps Einführung und Überblick
OOP 2012 - Udo Pracht - DevOps Einführung und ÜberblickOOP 2012 - Udo Pracht - DevOps Einführung und Überblick
OOP 2012 - Udo Pracht - DevOps Einführung und Überblick
 
Lean SW-Development mit Scrum und Kanban
Lean SW-Development mit Scrum und KanbanLean SW-Development mit Scrum und Kanban
Lean SW-Development mit Scrum und Kanban
 
Lwipcgn#110 2020-die agilekeuleueberleben
Lwipcgn#110 2020-die agilekeuleueberlebenLwipcgn#110 2020-die agilekeuleueberleben
Lwipcgn#110 2020-die agilekeuleueberleben
 
Advanced Continuous Integration
Advanced Continuous IntegrationAdvanced Continuous Integration
Advanced Continuous Integration
 
Aug Karlsruhe
Aug Karlsruhe Aug Karlsruhe
Aug Karlsruhe
 

Continuous Delivery @ FriendScout24 | Webinale 2012

  • 1. Continuous Delivery „Warum und wie etablierte Technology- Stacks immer schneller werden müssen!“ Michael Maretzke Vice President Technology @ FriendScout24
  • 2. Michael Maretzke FriendScout24 Vice President Technology michael.maretzke@friendscout24.de twitter: @mmaretzke
  • 3.
  • 4. Lebenspartner InternationalInternational Noi ti innamoriamo! Social DatingCasual Dating Lebenspartner Online Dating Revival 2012Start 2011Start 2011Seit 2000
  • 5.
  • 6.
  • 7.
  • 8. Product Manager Product Owner UX Designer SCRUM KANBAN AGILE Lead Engineer SW Engineer SW Engineer SW Engineer SW Engineer QA Manager Scrum Master SCRUM KANBAN
  • 9. Kerngeschäft Bewährtes Businessmodell 8 Jahre erprobte Architektur Wachstumsfelder Neue Businessmodelle Leading Edge-Technolgies
  • 10.
  • 12. Jez Humble, David Farley: „Continuous Delivery“ Addison-Wesley ISBN 9780321601919 Seite 17
  • 13. Jez Humble, David Farley: „Continuous Delivery“ Addison-Wesley ISBN 9780321601919 Seite 17 Automate almost everything!
  • 14. LEAN Product Development Entrepreneurship is Management Entrepreneurs are Everywhere Validated Learning Build-Measure-Learn Innovation Accounting
  • 15. Warum LEAN Product Development? Build MeasureLearn
  • 16.
  • 17. Continuous Delivery @ FriendScout24 == Continuous Live DeploymentContinuous Live Deployment Ziel 2012 Releases mit 2 Stunden Release Delivery Time
  • 20. Challenges Dating Plattform – Releases benötigen Restart – Abhängigkeiten zwischen Backend und– Abhängigkeiten zwischen Backend und Frontend – Viele, viele Artefakte und Abhängigkeiten – Nicht alle relevanten Elemente sind redundant ausgelegt – Sehr großer Aufwand!
  • 21. Challenges Secret – Junge Plattform mit wenig „Maintenance“-Schulden„Maintenance“-Schulden – Dennoch Umbaumaßnahmen erforderlich
  • 22. Continuous Delivery – Wie? @FRS24 Brain Storming Assessment mit externen Beratern • SCRUM • 3 Wochen Release Cycle Beratern 1) … 2) … 3) … 4) … 5) … 6) … 7) … 8) … 9) … 10) … • 3 Wochen Release Cycle • Dedizierte 2 Tage QA-Zeit • Kaum Unit-Tests • Downtime pro Release ca. 5 min • 350.000 LOC • Viele Abhängigkeiten zwischen Modulen Oktober 2011
  • 23. Continuous Delivery – Wie? 1) … 2) … 3) … 4) … 5) … 6) … 7) … 8) … 9) … 10) … • 2 Wochen Release Cycle Setup CLD- Team 10) … 1) Optimierung der UAT-Läufe 2) Überarbeitung der Build- Pipeline 3) Optimierung des Session- Handlings 4) Stärkerer Fokus auf Unit-Tests 5) Code aufräumen November/Dezember 2011
  • 24. Continuous Delivery – Wie? CLD-Team 1) … 2) … 3) … 4) … 5) … 6) … 7) … 8) … 9) … 10) … • Kanban • 2 Daily Release Cycle • Dedizierte 5 Stunden QA-Zeit Externe 10) … • Dedizierte 5 Stunden QA-Zeit • Downtime pro Release ca. 5 min 1) Überarbeitung der Build- Pipeline 2) Optimierung des Session- Handlings März 2012 Externe Berater
  • 25. Continuous Delivery – Wie? CLD-Team 1) … 2) … 3) … 4) … 5) … 6) … 7) … 8) … 9) … 10) … • Kanban • Daily Release Cycle • Dedizierte 3 Stunden QA-Zeit Externe 10) … • Dedizierte 3 Stunden QA-Zeit • Downtime pro Release ca. 5 min 1) Aufbrechen der Abhängigkeiten im Back-End 2) Back-End Renovierungskonzept Juni 2012 Externe Berater
  • 30. Next? 1) … 2) … 3) … 4) … 5) … 6) … 7) … 8) … 9) … 10) … • Umbau Architektur • Aufbrechen Monolith • Isolierung von Services im Backend • Virtualisierung• Virtualisierung • Configuration Management • Konfigurationen • Umgebungen • Prozesse optimieren • Definition of Done / Ready • Builds brechen
  • 31. • CI Jenkins • Build-Pipeline Jenkins • Repository SVN GIT • Build-Tools ANT, MAVEN, rake, scripts • Agile tool JIRA+GreenhopperJIRA+Greenhopper • Monitoring Nagios, Gomez • Code Watch Sonar
  • 32. Lessons? Learned! • How do we do this?
  • 33. Q&A Bilder …Bilder … • http://www.flickr.com/photos/rudiriet/109718350/ • http://www.flickr.com/photos/dawnmanser/3532598208/ • http://www.flickr.com/photos/winkelbohrer/5771255419/ • http://www.flickr.com/photos/fischler/6181295838/ • http://www.flickr.com/photos/baklava/5086093546/ • http://www.flickr.com/photos/evilerin/3417479220/ • http://www.flickr.com/photos/intellicaviar/6249849679/ • Selbst ☺