Continuous Deployment vs Delivery Explained
Key Points
- Continuous deployment pushes every code change automatically from CI to production, relying solely on extensive automated testing and real‑time monitoring to ensure safety.
- The practice was popularized by Tim Fitz in 2009, where Netflix (referred to as “I nview”) deployed up to 50 times a day without human intervention after passing a massive test suite.
- Canary deployments and rapid rollback mechanisms (e.g., pulling a faulty version out of the load balancer) are essential safeguards for such an extreme automation approach.
- Continuous delivery adds a required human checkpoint—such as code reviews or regulatory sign‑offs—before moving code from staging to production, making it more suitable for organizations that lack exhaustive test coverage or cannot accept fully automated releases.
Full Transcript
# Continuous Deployment vs Delivery Explained **Source:** [https://www.youtube.com/watch?v=LNLKZ4Rvk8w](https://www.youtube.com/watch?v=LNLKZ4Rvk8w) **Duration:** 00:05:26 ## Summary - Continuous deployment pushes every code change automatically from CI to production, relying solely on extensive automated testing and real‑time monitoring to ensure safety. - The practice was popularized by Tim Fitz in 2009, where Netflix (referred to as “I nview”) deployed up to 50 times a day without human intervention after passing a massive test suite. - Canary deployments and rapid rollback mechanisms (e.g., pulling a faulty version out of the load balancer) are essential safeguards for such an extreme automation approach. - Continuous delivery adds a required human checkpoint—such as code reviews or regulatory sign‑offs—before moving code from staging to production, making it more suitable for organizations that lack exhaustive test coverage or cannot accept fully automated releases. ## Sections - [00:00:00](https://www.youtube.com/watch?v=LNLKZ4Rvk8w&t=0s) **Understanding Continuous Deployment vs Delivery** - Eric Minich explains how continuous deployment automates code release all the way to production without manual approval, while continuous delivery stops short at a tested, ready‑to‑release state, highlighting the role of CI, extensive automated testing, and the origin of the term by Tim Fitz. ## Full Transcript
hi I'm Eric Minich with IBM cloud I want
to talk a little bit about the
difference between continuous deployment
and continuous delivery now for both of
these practices you're looking at trying
to take new code valuable move that as
quickly as we can out to production
that's where that valuable code is
useful so what you're basically going to
end up doing is you're going to take
your code you're gonna build it with a
continuous integration tool deploy it to
a test environment or two or three run
all of your automated tests and then
it's going to move into production now
the idea of continuous deployment the
term was really coined by Timothy Fitz
back in 2009 in what he described was a
process by which a company called I in
view deployed to predict production 50
times a day the code came in and then no
human touched it again until it was in
production how do you do that without it
being completely irresponsible right and
and that was what was really interesting
here well you have the automation to
move things they had one core test
environment so they brought these things
together but thousands of tests really
robust testing suite that ran across a
large number of servers so that you
could run thousands and thousands of
tests in a short period of time and know
that your new code was probably pretty
good because you had run these robust
set of tests that you could depend on
and because you believed in your testing
you could put that out into production
now this was a consumer facing app that
wasn't taking credit cards and so you
could just put that out to 2% of your
users or 5% of users do what's known as
a canary
deployment and make sure that the
servers weren't falling over that people
were still interacting with the app as
they should so you had a robust testing
suite and then you were also testing in
production right you were monitoring
really robustly and if things were going
badly out here in production if like two
of your servers keeled over okay you're
gonna pull that change out of the load
balancer you have the rest of your
servers working fine you can go back and
fix it in code it'll go right back out
the door real quick nice so this is
really an extreme approach someone
writes code it ends up in production no
one else touches it where you have a
little bit of regulatory approval and
you need to eyes on anything for it gets
production back here in code review back
into code you can do a code review and
another developer can provide that check
and then the testing provides you with
another safety net now this approach
this continuous deployment continuous
deployment tool production is really
what it means that's still extreme and
something a lot of organizations both
don't have the testing for nor do they
have either the kind of stomach or the
regulatory approval to do that without
some sort of approval in here right some
sort of human decision sign-off check
that the move from staging to production
from your last test environment to
production is okay right and so this
sort of thing requires you know another
check and it's typically that just what
distinguishes continuous delivery is
that in continuous delivery you're
automating as much as you can kind of
code through end of testing but you're
gonna have a decision point here at the
end for what we do with the approval
and so this is just one step a little
bit more cautious than deployment that's
what most organizations that I see are
trying to get to today they still need
to do a lot of automation in their
testing area in order to achieve that to
even get to the point where they can
just go straight to a business decision
if should we release this or not but
this sort of automated as much as I can
make a decision to go or not that's what
we see with continuous delivery that's
where we see people going but this
extreme approach continuous deployment
it works we've had documentation that it
works now for over ten years it can be a
reasonable approach if you're in the
right situation so that's continuous
deployment versus continuous delivery
thank you if you have questions please
drop us a line and if you want to see
more videos like this in the future be
sure to LIKE and subscribe