Continuous Delivery @ FriendScout24 | Webinale 2012

Post on 25-Jan-2017

1.359 views 2 download

Transcript of Continuous Delivery @ FriendScout24 | Webinale 2012

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 2012 Start 2011Start 2011Seit 2000

ProductManager

ProductOwner

UX Designer

SC

RU

MK

AN

BA

N

AGILE

Lead Engineer

SW Engineer SW Engineer

SW Engineer SW Engineer

QA Manager

Scrum Master

SC

RU

MK

AN

BA

N

Kerngeschäft

BewährtesBusinessmodell

8 Jahre erprobte Architektur

Wachstumsfelder

Neue Businessmodelle

Leading Edge-Technolgies

Warum Warum ContinuousDelivery?

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 2012Releases mit 2 Stunden Release

Delivery Time

LowHangingHangingFruits

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?

@FRS24Brain Storming

Assessmentmit externen Beratern

• SCRUM• 3 Wochen Release CycleBeratern

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 ModulenOktober 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äufe2) Überarbeitung der Build-

Pipeline3) Optimierung des Session-

Handlings4) Stärkerer Fokus auf Unit-Tests5) 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&ABilder …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 ☺