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
Enabling continuous delivery for your webapp
Search
Ranjib Dey
April 18, 2012
Programming
2
180
Enabling continuous delivery for your webapp
An experience report from various client gigs while enabling CD
Ranjib Dey
April 18, 2012
Tweet
Share
More Decks by Ranjib Dey
See All by Ranjib Dey
Consul @ PagerDuty
ranjibd
1
200
Extending CI/CD in Operations Using Chef & LXC
ranjibd
1
360
Adopting Test Driven Development in Operations
ranjibd
4
1.5k
Chef-LXC - Building and deploying custom containers
ranjibd
2
1.7k
How to mock a mocking bird - testing dynamic infrastructure
ranjibd
4
1.2k
A short introduction to LXC
ranjibd
1
380
Attaining Resiliency - Culture , Tools and Practices
ranjibd
2
1.2k
Automated Infrastructure Testing
ranjibd
0
210
Other Decks in Programming
See All in Programming
TypeScript Language Service Plugin で CSS Modules の開発体験を改善する
mizdra
PRO
3
2.5k
從零到一:搭建你的第一個 Observability 平台
blueswen
0
230
ワンバイナリWebサービスのススメ
mackee
10
7.5k
Blueskyのプラグインを作ってみた
hakkadaikon
1
290
try-catchを使わないエラーハンドリング!? PHPでResult型の考え方を取り入れてみよう
kajitack
3
360
コードに語らせよう――自己ドキュメント化が内包する楽しさについて / Let the Code Speak
nrslib
5
1.1k
技術懸念に立ち向かい 法改正を穏便に乗り切った話
pop_cashew
0
890
イベントストーミングから始めるドメイン駆動設計
jgeem
3
520
Spring gRPC で始める gRPC 入門 / Introduction to gRPC with Spring gRPC
mackey0225
0
210
ユーザーにサブドメインの ECサイトを提供したい (あるいは) 2026年函館で一番熱くなるかもしれない言語の話
uvb_76
0
180
TSConfig Solution Style & subpath imports to switch types on a per-file basis
maminami373
1
180
バリデーションライブラリ徹底比較
nayuta999999
1
450
Featured
See All Featured
How GitHub (no longer) Works
holman
314
140k
Fireside Chat
paigeccino
37
3.5k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
19
1.3k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Automating Front-end Workflow
addyosmani
1370
200k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.3k
Raft: Consensus for Rubyists
vanstee
137
7k
Why Our Code Smells
bkeepers
PRO
336
57k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Transcript
Enabling Continuous Delivery for your WebApp Ranjib Dey, ThoughtWorks @RanjibDey
http://ranjib.posterous.com
Can you release your latest green build on demand at
the push of a button while relaxing on the beach in Goa?
Why?
Time to market
Affordable risks
No more work of art
Let business decide
Myths
Upfront design
Legacy code running in production
My stack does not support
My Domain does not require
Principles
Component based architecture
Deployment pipeline
Infrastructure as code
Automate as much as possible
Bring the pain froward
Extend CI
Execution
Automated testing
Feature branching
Branch by abstraction
Team organization
Have customized release strategies
Blue – Green deployments
Canary releases
Dark launching
Mitigating DB issues
Data is persistent
Not all changes can be rolled back
Don’t integrate late
Version control db migration scripts
Embrace DevOps
Adopt a configuration management tool
Test infrastructures with monitoring tools
Virtualization and Cloud helps
Phoenix servers
None
None
Maintaining CD projects
Collaboration is key
None
Enable faster smaller feed back loops
Set up comprehensive dashboard
None
None
None
Churn out cross cutting analytics
Exercise MVP principle at component level
Questions? Suggestion? Violent disagreements?
Thank you