SlideShare a Scribd company logo
Continuous Delivery
Helping your business win by bringing the pain forward
Eduards Sizovs
Founder & Consultant
... Interested in bringing Continuous Delivery to your
company?
No problem! Just let us know 
Software development
& consulting
www.craftsmans.lv
@eduardsi
eduards.sizovs@gmail.com
Agenda
• Introduction
• Deployment pipeline
• User disruption
• Anti-patterns
• Adoption
• Tools
• Conclusion
• Q&A
Introduction
Our highest priority is to satisfy the customer through
early and continuous delivery of valuable software.
Agile Manifesto
What is continuous delivery?
Agile methodology for reducing the cost, time and risk of
delivering incremental changes to users.
Inspired by Lean Startup
Deliver the right thing. Frequently.
«You can’t just ask customers what they want
and then try to give that to them.
By the time you get it built, they’ll want
something new.»
So how frequently?
Deliver fast-enough so that a customer didn’t have time
to change their mind.
! Continuous Deployment is a different thing.
Goals
- Build the right thing (MVP, eliminate waste)
- Reduce lead time (reduce WiP, eliminate bottlenecks)
- Reduce cost (optimize, automate)
- Reduce risk (resilience built-in, small increments)
- Reduce stress (things goes faster, motivation up)
Continuously:
Who does continuous delivery?
Let’s rock.
Redefine «Done»
Coded Reviewed Checked-in Built Tested Demoed
Released to end-user.
According to the latest trends: removed from production
(A/B, experiments, backward compatibility)
How long would it take your organization to deploy a
change that involved just one single line of code?
Do you do this on a repeatable, reliable basis?
Mary & Tom Poppendieck
Implementing Lean Software Development
Determine cycle time
Reduce risk of release
« If it hurts, do it more frequently »
How?
By implementing end-to-end automation of
build, deploy, test and release processes.
The Deployment Pipeline
A pull system spanning full product cycle.
- Fully automated (with push button approvals)
- Visible
- Measurable
- Parallelizable
Continuous Delivery (The newest)
Build only once.
Deploy the same way to every environment.
Fail fast.
Automate everything (almost).
Build quality in.
Keep code always releasable.
Treat every version is a release candidate.
Contradicts with traditional approaches.
Quality goes up.
People care.
Version everything.
Single version. No major/minor/patch increments (except API).
Version control everything.
Code, Configuration, Infrastructure…
Test excessively.
Provide recovery plan.
… and reduce Mean Time To Recovery (MTTR)
Measure everything.
- Code Quality
- Cycle Time
- Lead Time
- Build, test duration
- # of Built failures
- # of Defects
- Small increments
- Deploy components independently
- Leave backward compatibility
Avoid «Big Bang» releases
Avoid branches
- True Continuous Integration - work only in mainline
- No feature branches
- No release branches
«Feature branching is a
poor man’s modular architecture»
Dan Bodart
Build a modular platform of micro-services.
... Interested in bringing Micro Services to your company?
No problem! Just let us know 
www.craftsmans.lv
Make no exceptions
Even urgent production fix should pass the same
deployment pipeline.
User disruption
downtime deployments
0
Blue - Green deployment
Deployment is not a Release.
Release is a marketing decision.
Smoke test deployment.
Release only after that.
Feature Toggles
Java people? 
Branch by Abstraction
Multiple versions in a single code base.
Backward compatibility is a key.
State is pain in the ass, but remediable with redundancy
Dealing with backward compatible code:
http://goo.gl/MMEO70
Canary releasing
Release to a subset of users.
Anti-Patterns
Code Freeze ceremony
Deployment rarely / late
Avoid late contact with reality.
Manual environment configuration
Privileged deploy team
Not repeatable process
Slight differences
Manual deployments
Sleep well. Forget 2.00 AM deployments.
Hard to track
Who? When? Why? What?
Adoption
Forget special «Continuous Delivery» projects
noun
1 a feeling of fear or agitation about something that may happen: the
men set off in fear and trepidation.
2 trembling motion.
Embrace change
trepidation | trep·i·da·tion
Raise confidence that
Change can be safe enough.
Do not be afraid to fail.
Learn what doesn’t work first, then see how to make it better.
Engineering Velocity: Shifting the Curve at Netflix
http://goo.gl/D10wGH
Continuously improve
Japanese for "improvement", or "change for the better"
Refers to philosophy or practices that focus upon continuous
improvement of processes in manufacturing, engineering, and business
management.
Kaizen | 改善
Find the right team and start kicking ass.
Tools
Versioning & Storage
hub.docker.com
Build & dependency management
CI + Pipelining + Deployments
Automation
Infrastructure
Script streamlining
DB migrations LHM (soundcloud/lhm)
Schema-less DBs?
Configuration Management
Apache ZooKeeper Apache Curator
Netflix Archaius
github.com/Netflix/archaius
ATDD + Living documentation
Monitoring
www.getapp.com/alternatives/new-relic-application
https://github.com/Netflix/Hystrix
Micro-services?
http://www.slideshare.net/eduardsi/
micro-service-architecture
Conclusion
Continuous Delivery challenges
your engineering skills.
Are you ready to accept the challenge?
Thank you!

More Related Content

PPTX
Software Craftsmanship Essentials
PDF
Software Architecture Anti-Patterns
PDF
8 Things That Make Continuous Delivery Go Nuts
PPTX
Code Structural Analysis
PPTX
Scrum plus – why scrum is not enough for successful delivery
PDF
Jan de Vries - How to convince your boss that it is DevOps that he wants
PPT
Arch factory - Agile Design: Best Practices
PDF
ReleaseIQ's Next Gen Enterprise Devops Platform Webinar Slides
Software Craftsmanship Essentials
Software Architecture Anti-Patterns
8 Things That Make Continuous Delivery Go Nuts
Code Structural Analysis
Scrum plus – why scrum is not enough for successful delivery
Jan de Vries - How to convince your boss that it is DevOps that he wants
Arch factory - Agile Design: Best Practices
ReleaseIQ's Next Gen Enterprise Devops Platform Webinar Slides

What's hot (20)

PDF
SDLC & DevSecOps
PDF
After Agile, DevOps, and Lean IT: Modern Methodology in the Age of Disruption
PDF
Agile 2 - The Next Iteration of Agile - Lisa Cooney for Agile Nova 7-29-2021
PPTX
ROOTS2011 Continuous Delivery
PDF
Devops Devops Devops, at Froscon
PPT
Scrum And The Enterprise
PDF
DevoxxUK 2019 - Better software, faster.
PDF
AmsterdamJUG September 2019 - Better software, faster: Principles of Continuo...
PDF
Community building lessons from Ansible
PDF
CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...
PDF
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
PDF
Go or No-Go: Operability and Contingency Planning at Etsy.com
PPTX
Technical Excellence Doesn't Just Happen - AgileIndy 2016
PPTX
Leading agile teams
PDF
Devoxx Belgium 2019 - Better software, faster: Principles of Continuous Deliv...
PDF
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...
PPTX
Devops at scale is a hard problem challenges, insights and lessons learned
ODP
Student Pipeline to Open Source Communities using HFOSS
PPTX
DevOps Requires Agility
PDF
OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...
SDLC & DevSecOps
After Agile, DevOps, and Lean IT: Modern Methodology in the Age of Disruption
Agile 2 - The Next Iteration of Agile - Lisa Cooney for Agile Nova 7-29-2021
ROOTS2011 Continuous Delivery
Devops Devops Devops, at Froscon
Scrum And The Enterprise
DevoxxUK 2019 - Better software, faster.
AmsterdamJUG September 2019 - Better software, faster: Principles of Continuo...
Community building lessons from Ansible
CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
Go or No-Go: Operability and Contingency Planning at Etsy.com
Technical Excellence Doesn't Just Happen - AgileIndy 2016
Leading agile teams
Devoxx Belgium 2019 - Better software, faster: Principles of Continuous Deliv...
Den Bosch Java User Group April 2020 - Better software, faster - Principles o...
Devops at scale is a hard problem challenges, insights and lessons learned
Student Pipeline to Open Source Communities using HFOSS
DevOps Requires Agility
OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...
Ad

Similar to Continuous Delivery (The newest) (20)

PPTX
Continuous Delivery
PPTX
Continuous Delivery
PDF
Continuous Delivery Distilled
PPTX
State of continuous delivery in 2015 - Minsk 15-5-2015
PPTX
Павел Чуняев - State of Continuous Delivery in 2015
PPTX
Introduction to continuous delivery
PDF
Cloud continuous integration- A distributed approach using distinct services
PDF
Continuous Integration, Delivery and Deployment
PDF
Continuous, continuous, continuous
PDF
Always ready for release by Bogdan Costea
PPTX
ContinuousDelivery-101
PPTX
Continuous Delivery: why ? where to start ? how to scale ?
PPTX
Continuous delivery applied (RJUG)
PPTX
Continuous Delivery Overview
PDF
Continuous Deployment Through Technical Excellence
PPTX
Continuous Integration and Delivery
PDF
Discovery delivery agiletour-xian
PPTX
Continuous Integration for Beginners
PDF
OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...
PDF
JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...
Continuous Delivery
Continuous Delivery
Continuous Delivery Distilled
State of continuous delivery in 2015 - Minsk 15-5-2015
Павел Чуняев - State of Continuous Delivery in 2015
Introduction to continuous delivery
Cloud continuous integration- A distributed approach using distinct services
Continuous Integration, Delivery and Deployment
Continuous, continuous, continuous
Always ready for release by Bogdan Costea
ContinuousDelivery-101
Continuous Delivery: why ? where to start ? how to scale ?
Continuous delivery applied (RJUG)
Continuous Delivery Overview
Continuous Deployment Through Technical Excellence
Continuous Integration and Delivery
Discovery delivery agiletour-xian
Continuous Integration for Beginners
OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...
JavaZone 2019 - Better software, faster: Principles of Continuous Delivery an...
Ad

More from Eduards Sizovs (6)

PDF
Beyond Software Craftsmanship - Johnny's Road to Remarkable Career
PDF
Architecting well-structured Java applications
PPTX
Micro Service Architecture
PPTX
PPTX
Introduction to DDD
PPTX
Code Structural Analysis
Beyond Software Craftsmanship - Johnny's Road to Remarkable Career
Architecting well-structured Java applications
Micro Service Architecture
Introduction to DDD
Code Structural Analysis

Recently uploaded (20)

PDF
Encapsulation theory and applications.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Network Security Unit 5.pdf for BCA BBA.
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Approach and Philosophy of On baking technology
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Spectroscopy.pptx food analysis technology
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Cloud computing and distributed systems.
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Encapsulation theory and applications.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Reach Out and Touch Someone: Haptics and Empathic Computing
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Network Security Unit 5.pdf for BCA BBA.
The AUB Centre for AI in Media Proposal.docx
Building Integrated photovoltaic BIPV_UPV.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Approach and Philosophy of On baking technology
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Encapsulation_ Review paper, used for researhc scholars
MYSQL Presentation for SQL database connectivity
Chapter 3 Spatial Domain Image Processing.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Spectroscopy.pptx food analysis technology
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Cloud computing and distributed systems.
How UI/UX Design Impacts User Retention in Mobile Apps.pdf

Continuous Delivery (The newest)

Editor's Notes

  • #6: 15 лет назад.
  • #11: When business come to you and say you’re releasing too frequently – you’re on the right way.
  • #12: Short Lead time  faster Feedback
  • #16: Большинство – тормозы. Неэффективность процесса и ОПАСНОСТЬ.
  • #19: The most complex task is push button.
  • #30: Create environment where people get responsible for consequence of their action and they will care (DevOps phylosophy)
  • #31: - Modules / services / entities / static content
  • #35: Постоянно упускаем нужный момент. Как продать необходимость улучшений? Lead time – from request to delivery Cycle time – work started to delivery
  • #37: Why branches? Parallelization. Multiple versions of the app. Unability to keep application stable during development. One goal, extra care. No merges. One version, push up teams for synchronization Brings pain forward, raises professionalism Isolation illusion
  • #38: If people have to use feature branch, something is wrong with your architecture.
  • #48: Ask.fm way (Gradual releases) Ask.fm way (Confiugration per node, per group)
  • #51: (Aggregating change)
  • #61: Code reviews, Pair Programming Safety nets Blameless culture, Team’s Responsibility Reduce TTD (Time to detect), TTR (Time to recover)
  • #63: Practice makes perfect. Toyota way.
  • #66: Bintray – Maven, RPM, Debian
  • #76: CD is hard. Process flaws become visible.