Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Getting Faster, Continuous Lifecycle 2013
Search
Oliver Wehrens
November 11, 2013
Technology
2
5.1k
Getting Faster, Continuous Lifecycle 2013
How we got from a release every six month to daily releases.
Oliver Wehrens
November 11, 2013
Tweet
Share
More Decks by Oliver Wehrens
See All by Oliver Wehrens
Service Discovery For Machines And Humans - OOP conference 2017
owehrens
0
10k
How not to lose your mind with too many microservices - Architecture Gathering 2016
owehrens
3
280
How not to lose your mind with too many microservices - BedCon 2016
owehrens
1
710
Entwicklung verteilter Systeme (The Architecture Gathering 2015)
owehrens
1
110
Entwicklung verteilter Systeme - Herausforderungen nicht nur für die Architektur, BedCon 2015
owehrens
0
2.2k
Wider den Monolith - Am Ende wird alles gut. WJAX 2014.
owehrens
1
3.6k
Provisioning from Development to Production, BedCon 2013
owehrens
0
2.9k
Other Decks in Technology
See All in Technology
PHP ユーザのための OpenTelemetry 入門 / phpcon2024-opentelemetry
shin1x1
1
510
私なりのAIのご紹介 [2024年版]
qt_luigi
1
120
5分でわかるDuckDB
chanyou0311
10
3.2k
KubeCon NA 2024 Recap: How to Move from Ingress to Gateway API with Minimal Hassle
ysakotch
0
210
re:Invent をおうちで楽しんでみた ~CloudWatch のオブザーバビリティ機能がスゴい!/ Enjoyed AWS re:Invent from Home and CloudWatch Observability Feature is Amazing!
yuj1osm
0
130
ハイテク休憩
sat
PRO
2
170
Amazon VPC Lattice 最新アップデート紹介 - PrivateLink も似たようなアップデートあったけど違いとは
bigmuramura
0
200
あの日俺達が夢見たサーバレスアーキテクチャ/the-serverless-architecture-we-dreamed-of
tomoki10
0
480
大幅アップデートされたRagas v0.2をキャッチアップ
os1ma
2
540
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
360
Opcodeを読んでいたら何故かphp-srcを読んでいた話
murashotaro
0
280
UI State設計とテスト方針
rmakiyama
2
650
Featured
See All Featured
Unsuck your backbone
ammeep
669
57k
Docker and Python
trallard
42
3.1k
Designing Experiences People Love
moore
138
23k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.3k
Optimising Largest Contentful Paint
csswizardry
33
3k
A Philosophy of Restraint
colly
203
16k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
It's Worth the Effort
3n
183
28k
Building Better People: How to give real-time feedback that sticks.
wjessup
365
19k
Music & Morning Musume
bryan
46
6.2k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
5
450
Transcript
getting faster How we got from a release every six
month TO daily releases Continuos Lifecycle 11.11.2013
AndrÉ von deetzen @vdandre Oliver Wehrens @owehrens
Migration what’s next Status Agenda one stack Lessons learned
Status How we started
150 DEV / QA / OPS
> 100 SOURCE REPOSITORIES
1 RELEASE EVERY SIX MONTH
1 TEAM TO RELEASE & DELIVER
1 DEPLOYMENT IN PRODUCTION
Technology stack PHP JAVA RUBY LINUX puppet tomcat C++ C
SQL perl python jboss httpd
development & production different installer other os bare metal vs
virtualisation different puppet versions other ways of monitoring
Wait whaT? How did we GET here? Features, Features, Features
faster, faster, faster (not really) solved the scaling problem upfront
Transition What did we do?
Time to market Analysis 6 Months 2 Weeks daily
Squeeze The existing
Automate as much as we can
From 6 to 3 Months
scrum no more waterfall
From 3 to 1 Month
optimize agile + automation
From 1 Month to 2 weeks
Still a monolith
Still nightly deployments
New Functionality?
We can do better!
One Stack (with variations)
new platform simplify unify loosely coupled daytime deployment disaster recovery
!
Three areas to change
Architecture (many) small services stateless independently deployable stable interfaces
Deployment MAKE RPM NOT WAR PUPPET with HIERA automatic vm
setup
Workflow staging build chain empower teaMs infrastructure
create virtual machine install yum, rpm, centos reboot smoketest lifecycle
configure puppet operate €€€
technology stack JVM Tomcat Centos 6 YUM & RPM Puppet
3 REST
deployment pipeline development release candidate certified release reference production
started with one new service and one team
Approach became very popular
existing services ? anti corruption Layer refactoring rewrite (better not
do it)
> 200 Deployments STAGED TO PRE-PRODUCTION ON OUR BEST DAY
IN 2013
2014 What’s next?
Automate all the things! Puppet for network components Automate firewalls
Increase visibility Infrastructure self service evaluate container based approach instead of VMs
lessons learned
Same environment & Tools Everywhere is essential
don’t get too fast, we could not deploy every delivery
had not enough Capacity for VMs in Development
Rewrite = Long time no roi
Spreading Knowledge can’t be fast enough
need to recreate any Machine automatically
Questions ? And yes, we’re hiring too! come talk to
us.
Thanks for your attention!