17
Continuous Delivery an overview @joebew42

The Continuous Delivery process

Embed Size (px)

Citation preview

Page 1: The Continuous Delivery process

Continuous Deliveryan overview

@joebew42

Page 2: The Continuous Delivery process

Delivery

We want to bring valueto our customers

Page 3: The Continuous Delivery process

How we deliver value?

Putting working softwarein production

Page 4: The Continuous Delivery process

How we put “working” software in production

Page 5: The Continuous Delivery process

How we put “working” software in production● E.g. Package and deploy in production through a manual procedure

○ What are possible risks here■ Increased risk of release■ Long time releases■ Poor documentation■ Human error■ Stress■ Not automatic / Not repeatable■ Black friday, for real!■ Cowboy style

Page 6: The Continuous Delivery process

Let’s go with Automation

Page 7: The Continuous Delivery process

Let’s go with Automation● How?

○ E.g. lay down a script that does the manual work for you● What we earn?

○ Auto documentation○ Repeatable○ Everything is in one authoritative place○ Fast and easy deployments

● What are the risks?○ Long time releases (we take weeks or months for production deployment)○ Someone has to manual trigger it○ Lose visibility into what we released in production

■ E.g. versions and history

Page 8: The Continuous Delivery process

Let’s go Continuous

Page 9: The Continuous Delivery process

Let’s go Continuous● How?

○ Triggers script on every code changes● What we earn?

○ Shared code base○ Release more frequently○ Automatic deployment○ Visibility on what is released

● What are the risks?○ Introduce bugs in production is easier○ Less confidence about what works and what does not

Page 10: The Continuous Delivery process

Let’s go with Integration

Page 11: The Continuous Delivery process

Let’s go with Integration● How?

○ Test the behaviour of the software in a production-like environment

● What we earn?○ Catch bugs before you get into production○ More confidence about what works and what does not

● What are the risks?○ Feedback loops can take a long time

Page 12: The Continuous Delivery process

Let’s go with Integration (part II)

Page 13: The Continuous Delivery process

Let’s go with Integration (part II)● How?

○ Write tests that can be easily launched on the local machine

● What we earn?○ Catch bugs before you get into production○ More confidence about what works and what does not○ Instant feedback upon code changes○ Local code changes do not affect shared code base○ Each release is production-ready

● What is still missing here?○ A better release management

■ e.g. we don’t want to release on Friday afternoon■ e.g. feature is ready but the monitoring is not■ e.g. we want to collect metrics before get into production■ other ...

Page 14: The Continuous Delivery process

Let’s go with Delivery● How?

○ Understand how to deliver business value in a sustainable yet efficient way

● What we earn?○ Visualize and observe the entire process of delivery○ Whole team is involved○ Separate the build from the deployment process

● Can we go better?○ The process change over time in order to meet the new team needs○ Gather feedbacks and ask why & how the process should be improved:

■ e.g. Retrospectives and showcases■ e.g. The 5 Whys technique can be helpful to find the root cause of a problem■ e.g. Maybe someone external have to get into the team

○ Rotate the people○ Each team has its own process of Continuous Delivery

Page 15: The Continuous Delivery process

Some hints for your team● The delivery process is one of your responsibilities● The process you use to deliver value is a model that changes over time in

order to adapt to requirements changes○ Inspect and adapt○ Gather feedback○ Invite the right people○ Fail fast, fail often … Safely

● Try to learn more about your business● Try to be autonomous

Page 16: The Continuous Delivery process

Some numbers

From “The Phoenix Project”

COMPANY DEPLOYFREQUENCY

DEPLOYLEAD TIME

RELIABILITY CUSTOMERFEEDBACK

AMAZON 23.000/day minutes high high

GOOGLE 5.500/day minutes high high

NETFLIX 500/day minutes high high

FACEBOOK 1/day hours high high

TWITTER 3/week hours high high

TYPICAL ENTERPRISE

once every9 months

months or more low/medium low/medium

Page 17: The Continuous Delivery process

Going further ...By book: Continuous DeliveryJez Humble and David Farley

By web: https://continuousdelivery.com/Is maintained by Jez Humble. This website is a good place to keep you up to date about CD topics.

By book: The Phoenix ProjectGene Kim, Kevin Behr and George Spafford

Is a novel about IT, DevOps and helping your business win