$30 off During Our Annual Pro Sale. View Details »
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.2k
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
290
How not to lose your mind with too many microservices - BedCon 2016
owehrens
1
790
Entwicklung verteilter Systeme (The Architecture Gathering 2015)
owehrens
1
120
Entwicklung verteilter Systeme - Herausforderungen nicht nur für die Architektur, BedCon 2015
owehrens
0
2.3k
Wider den Monolith - Am Ende wird alles gut. WJAX 2014.
owehrens
1
3.7k
Provisioning from Development to Production, BedCon 2013
owehrens
0
2.9k
Other Decks in Technology
See All in Technology
ブロックテーマとこれからの WordPress サイト制作 / Toyama WordPress Meetup Vol.81
torounit
0
570
EM歴1年10ヶ月のぼくがぶち当たった苦悩とこれからへ向けて
maaaato
0
280
文字列の並び順 / Unicode Collation
tmtms
3
570
Lessons from Migrating to OpenSearch: Shard Design, Log Ingestion, and UI Decisions
sansantech
PRO
1
120
MLflowで始めるプロンプト管理、評価、最適化
databricksjapan
1
200
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
6
1.5k
寫了幾年 Code,然後呢?軟體工程師必須重新認識的 DevOps
cheng_wei_chen
1
1.4k
AI 駆動開発勉強会 フロントエンド支部 #1 w/あずもば
1ftseabass
PRO
0
350
大企業でもできる!ボトムアップで拡大させるプラットフォームの作り方
findy_eventslides
1
750
「Managed Instances」と「durable functions」で広がるAWS Lambdaのユースケース
lamaglama39
0
310
Kubernetes Multi-tenancy: Principles and Practices for Large Scale Internal Platforms
hhiroshell
0
120
生成AI活用の型ハンズオン〜顧客課題起点で設計する7つのステップ
yushin_n
0
140
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
2.9k
Making Projects Easy
brettharned
120
6.5k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
710
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.2k
Building Adaptive Systems
keathley
44
2.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Producing Creativity
orderedlist
PRO
348
40k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
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!