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
Provisioning from Development to Production, Be...
Search
Oliver Wehrens
April 08, 2013
Technology
0
2.9k
Provisioning from Development to Production, BedCon 2013
Berlin Expert Days Talk April 2013
Oliver Wehrens
April 08, 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
780
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
Getting Faster, Continuous Lifecycle 2013
owehrens
2
5.2k
Other Decks in Technology
See All in Technology
Function Body Macros で、SwiftUI の View に Accessibility Identifier を自動付与する/Function Body Macros: Autogenerate accessibility identifiers for SwiftUI Views
miichan
2
170
BPaaSにおける人と協働する前提のAIエージェント-AWS登壇資料
kentarofujii
0
120
共有と分離 - Compose Multiplatform "本番導入" の設計指針
error96num
1
210
ZOZOマッチのアーキテクチャと技術構成
zozotech
PRO
3
1.3k
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
1
350
バッチ処理で悩むバックエンドエンジニアに捧げるAWS Glue入門
diggymo
3
150
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.7k
20250910_障害注入から効率的復旧へ_カオスエンジニアリング_生成AIで考えるAWS障害対応.pdf
sh_fk2
3
170
オブザーバビリティが広げる AIOps の世界 / The World of AIOps Expanded by Observability
aoto
PRO
0
320
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
なぜスクラムはこうなったのか?歴史が教えてくれたこと/Shall we explore the roots of Scrum
sanogemaru
5
1.5k
AI駆動開発に向けた新しいエンジニアマインドセット
kazue
0
300
Featured
See All Featured
Scaling GitHub
holman
463
140k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
The World Runs on Bad Software
bkeepers
PRO
70
11k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Unsuck your backbone
ammeep
671
58k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
A Modern Web Designer's Workflow
chriscoyier
696
190k
Automating Front-end Workflow
addyosmani
1370
200k
For a Future-Friendly Web
brad_frost
180
9.9k
Transcript
PROVISIONING FROM DEVELOPMENT TO PRODUCTION
ANDRE VON DEETZEN @VDANDRE OLIVER WEHRENS @OWEHRENS
@BERLIN
“FASTER TIME TO MARKET”
4-6 MEANTIME BETWEEN DELIVERIES IN WEEKS
150 DEV / QA / OPS
>100 SOURCE REPOSITORIES
1 RELEASE
“FASTER TIME TO MARKET”
3 AREAS TO CHANGE
WORKFLOW DEPLOYMENT ARCHITECTURE
ARCHITECTURE
MANY SMALL SERVICES
STATELESS SERVICES
INDEPENDENT DEPLOYABLE
STABLE INTERFACES
DEPLOYMENT PIPELINE
Stages & Version Stage Version DEV Development Testing Release Candidate
Stable Certified Release
Tests Unit- + Componenttests Component - Integrationtests Smoke- tests DEV
Testing Stable Way to production
YUM Repo Stable YUM Repo Testing YUM Repo DEV YUM
Repo Stable (Rechenzentrum) DataCenter
YUM Repo Stable YUM Repo Testing YUM Repo DEV YUM
Repo Stable (Rechenzentrum) DataCenter
YUM Repo Stable YUM Repo Testing YUM Repo DEV YUM
Repo Stable (Rechenzentrum) DataCenter Contract with Ops
YUM Repo Stable YUM Repo Testing YUM Repo DEV YUM
Repo Stable (Rechenzentrum) DataCenter Contract with Ops
YUM Repo Stable YUM Repo Testing YUM Repo DEV YUM
Repo Stable (Rechenzentrum) DEV-NET DataCenter Same Binary across all stages!
YUM Repo Stable YUM Repo Testing YUM Repo DEV YUM
Repo Stable (Rechenzentrum) DEV-NET DataCenter Same Binary across all stages!
CONFIGURATION MANAGED BY PUPPET
VCS CI Unit Tests
Dev Dev Test with Mocks
Dev Dev Test with Mocks Release Candidate Testing SmokeTests
Dev Dev Test with Mocks QA Release Candidate SmokeTests Certified
Release Prod Certified Release SmokeTests
fully automated Stages Repos Certified Release Prod VCS CI Dev
Release Candidate Certified Release Dev Testing Test with Mocks SmokeTests SmokeTests Unit Tests Pull
PROVISIONING
LIFECYCLE KVM Kickstart & RPM Puppet $$$
DISASTER RECOVERY BUILD IN
BLUE - GREEN DEPLOYMENT
HOW TO TEST LOCALLY?
Developer Operating Systems
None
Everything can be tested locally with vagrant (this means operating
system like in production, configuration management, deployment, building packages, needed network interfaces, ...) http://www.vagrantup.com
WHAT CHANGED IN OUR WORKFLOW?
TEAM IS RESPONSIBLE
EVERY COMMIT GOES TO PRODUCTION
DEPLOY ≠ FEATURE RELEASE
ROLL FORWARD
AUTOMATE ALL THE THINGS
IF IT HURTS DO IT MORE OFTEN (EXCEPT MEETINGS)
TEST SETUP
VISIBILITY
NEXT STEPS
DB DEPLOYMENT
COMPONENT PUPPET WITH HIERA
SAME KICKSTART IN DEV & PROD
FEEDBACK: LIVE DATA IN DEV WITH GRAPHITE
MEASURE, MEASURE, MEASURE
SELF HEALING
LESSONS LEARNED
#1 CLOSE TO PRODUCTION AS EARLY AS POSSIBLE
#2 EVERYTHING CAN BE AUTOMATED
#3 MANAGEMENT BUY IN
#4 SELF-SERVICE INFRASTRUCTURE FOR TEAMS
#5 RESISTANCE WILL RISE
#6 IT’S WORTH THE EFFORT
~ 30 MIN TO CR
#7 FEEDBACK IS NEVER FAST ENOUGH
QUESTIONS