Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Continuous Deployment @ Coolblue
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Paul de Raaij
February 15, 2017
Technology
11
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Continuous Deployment @ Coolblue
Paul de Raaij
February 15, 2017
Other Decks in Technology
See All in Technology
宣言型部分更新は何を解決しどこへ向かうのか
shuta13
1
450
ストレスなくAIと付き合いたい!こんなときどうしてる?
namiki64
3
490
ソフトウェア ファクトリー - 再現性のあるソフトウェアの工場づくり / Software factory
iktakahiro
6
4.9k
Rustuna: Rustによる高速なOptuna実装
pfn
PRO
0
190
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
1
1.8k
継続的なAIコスト最適化
bgpat
1
340
Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
1
580
コンテナ運用におけるネットワーク・コンテナコストの削減方法/How to Reduce Network and Container Costs in Container Operations
masakiokuda
1
150
遠藤な_めぐろLT #38 「社内のAI活用推進」@麻布台_20261009
endonanana
0
130
大型犬好きによるPugの紹介
yamanoku
1
160
Metadata - Section 1: HTML Basics
mohab1
0
120
パッチ更新でterraform initが落ちた日
grimoh
1
140
Featured
See All Featured
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
460
The Mindset for Success: Future Career Progression
greggifford
PRO
0
540
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
710
Claude Code のすすめ
schroneko
67
230k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.8k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
The untapped power of vector embeddings
frankvandijk
2
1.9k
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
Deep Space Network (abreviated)
tonyrice
0
370
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.7k
Designing Powerful Visuals for Engaging Learning
tmiket
1
610
Transcript
DEPLOYMENT. @ Coolblue.
PAUL. Technical Pathfinder
DEVELOPMENT
187
30 TEAMS
None
None
DEPLOYING SOFTWARE. Delivering packaged high quality software on servers.
• +/- 50 deploys per day on all platforms •
Single button deployment • Developers do their own deployment FACTS AND FIGURES.
GATHER LEARNINGS FAST. By releasing often and quick.
LANGUAGE AGNOSTIC. Same principles apply.
DEVELOPING FEATURE 'X'. Smiling customers.
UNIT TESTS. All code is guilty, until proven otherwise.
CODING STANDARDS. Rules may apply.
More Octocats at https://octodex.github.com/
FORKS. Personal cutlery.
GITHUB FLOW. Fork & Pull model.
PULL REQUESTS. Share, review and discuss.
PULL REQUESTS. Small commits, small context.
TEAM CHECK. None of us is as smart as all
of us.
QUALITY CONTROL. Check standards have been met.
BUILD SERVER. Construction completed.
TEAMCITY. Central point of inspection and deployment.
BUILD CHAINS. Sequence of build steps with specific purpose.
BUILD SCRIPTS. Describe automation workflow.
None
RECYCLE YOUR CONFIGURATIONS. Create a default for all projects and
allow overrides.
BUILD CHAINS. Sequence of builds with specific purpose.
BUILD STEP 1. Continuous inspection.
• Automated tests • Unit testing • Functional testing •
Static code analysers • Lint checkers • Code duplication checkers • Code sniffers • Code metrics QUALITY ASSURANCE.
BE LAZY; YOU DON’T HAVE TO DO IT YOURSELF Continuous
inspection platform are becoming a service.
REPORTING ON EACH PULL REQUEST. Integrating all information available.
Examples: • Scrutinizer • SonarSource • Codacy CONTINUOUS INSPECTION PLATFORMS.
MERGE PULL REQUEST. Integrate into the main repository.
REMEMBER GITHUB FLOW. Merge it in the master branch of
the original repo.
ACHIEVEMENT. Continuous integration.
BUILD STEP 2: PACKAGING. Not a box of chocolates..
• Close to the OS • RPMs distributed via own
repository • Installed/Updated via OS package manager • Updates triggered via puppet run LINUX.
• Control over file permissions & rights • Clean uninstallation
• Package managers are simple and well-known • Easily distributed • No added complexity of third-party tools RPMS ARE POWERFUL.
• Octopus Deploy so we can deploy: • Web Services
• Windows services • Desktop applications WINDOWS.
OCTOPUS DEPLOY. Pushing packages to servers.
BUILD STEP 3. Publish to test environment.
ACHIEVEMENT. Continuous delivery.
BUILD STEP 4. Publish to acceptance environment.
BUILD STEP 5. Publish to production environment.
ACHIEVEMENT. Continuous deployment.
ACHIEVEMENT. Continuous deployment.
CONTINUOUS. delivery vs deployment
• Automated inspection • Automated delivery • Except production •
May have automated post deployment tests Every change is proven to be deployable! Deployment after manual trigger CONTINUOUS DELIVERY.
• Continuous delivery • Automated deployment to production • Has
automated post-deploy tests CONTINUOUS DEPLOYMENT.
POST-DEPLOY Tests
• Website still up? • Does the functionality work? •
New functionality • Old functionality • especially old functionality (regression) • Haven’t I killed the infrastructure? CHECK FOR SUCCESS.
AUTOMATE SMOKE TESTS. Validate essentials are correct.
MONITORING. Monitor infrastructure state.
APPLICATION STATISTICS. Measure everything. give you up let you down
run you down & desert you make you cry say goodbye tell a lie & hurt you
HEARTBEAT Is your application still alive?
FUNCTIONAL TESTS. Automated regression testing.
APPROACHES automated deployment
DEPLOY & REVERT. Revert in case of problems.
PRE-DEPLOYMENT TESTS. Run post-deploy test on acceptance environment.
CANARY DEPLOYMENT. Deploy to part of a cluster and test
in production.
• Deploy to part of the cluster • X% percentage
live • A/B testing (?) CANARY DEPLOYMENT.
ACHIEVEMENT. Continuous deployment.
DEVELOP, TEST, DEPLOY, REPEAT. Review & test Write code Commit
& push Open pull request Build Package Staging Production Post-deploy tests Post-deploy tests
PROBLEM / CHALLENGE. Reverting data/data structures.
NUTS. Are you.
NO TESTERS NO QUARANTINE NO 1000+ PAGE TEST SCRIPT NO
SIGN-OFF
TAKING RISKS. What suits your comfort zone.
GATHER LEARNINGS FAST. By releasing often and quick.
WAIT A MINUTE What do you actually have in place
• Automated smoke tests on acceptance environment • User acceptance
tests (AKA The PO test) POST-DEPLOY TESTS @ COOLBLUE.
REVIEWING OUR BUILD PIPELINE. Build steps in our continuous delivery
currently.
TESTING DEPLOY & REVERT A few services have continuous deployment
as a test.
CANARY DEPLOYMENT. Feature switches for the win.
CONTINUOUS DELIVERY.
FEEDBACK. You got something to say.
•
[email protected]
• @pderaaij • http://slideshare.net/pderaaij • http://devblog.coolblue.nl/ • http://careersatcoolblue.com/
THANK YOU.