Learning Library

← Back to Library

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
0:00hi I'm Eric Minich with IBM cloud I want 0:04to talk a little bit about the 0:05difference between continuous deployment 0:06and continuous delivery now for both of 0:10these practices you're looking at trying 0:14to take new code valuable move that as 0:18quickly as we can out to production 0:22that's where that valuable code is 0:25useful so what you're basically going to 0:28end up doing is you're going to take 0:29your code you're gonna build it with a 0:31continuous integration tool deploy it to 0:34a test environment or two or three run 0:38all of your automated tests and then 0:41it's going to move into production now 0:46the idea of continuous deployment the 0:49term was really coined by Timothy Fitz 0:53back in 2009 in what he described was a 0:58process by which a company called I in 1:01view deployed to predict production 50 1:04times a day the code came in and then no 1:10human touched it again until it was in 1:13production how do you do that without it 1:17being completely irresponsible right and 1:20and that was what was really interesting 1:21here well you have the automation to 1:25move things they had one core test 1:29environment so they brought these things 1:32together but thousands of tests really 1:35robust testing suite that ran across a 1:38large number of servers so that you 1:41could run thousands and thousands of 1:44tests in a short period of time and know 1:47that your new code was probably pretty 1:51good because you had run these robust 1:53set of tests that you could depend on 1:55and because you believed in your testing 1:58you could put that out into production 2:01now this was a consumer facing app that 2:04wasn't taking credit cards and so you 2:07could just put that out to 2% of your 2:11users or 5% of users do what's known as 2:13a canary 2:13deployment and make sure that the 2:16servers weren't falling over that people 2:20were still interacting with the app as 2:21they should so you had a robust testing 2:25suite and then you were also testing in 2:26production right you were monitoring 2:28really robustly and if things were going 2:30badly out here in production if like two 2:32of your servers keeled over okay you're 2:36gonna pull that change out of the load 2:38balancer you have the rest of your 2:39servers working fine you can go back and 2:41fix it in code it'll go right back out 2:43the door real quick nice so this is 2:47really an extreme approach someone 2:52writes code it ends up in production no 2:54one else touches it where you have a 2:57little bit of regulatory approval and 3:00you need to eyes on anything for it gets 3:02production back here in code review back 3:05into code you can do a code review and 3:07another developer can provide that check 3:10and then the testing provides you with 3:12another safety net now this approach 3:17this continuous deployment continuous 3:20deployment tool production is really 3:22what it means that's still extreme and 3:26something a lot of organizations both 3:28don't have the testing for nor do they 3:33have either the kind of stomach or the 3:36regulatory approval to do that without 3:39some sort of approval in here right some 3:44sort of human decision sign-off check 3:48that the move from staging to production 3:52from your last test environment to 3:54production is okay right and so this 3:58sort of thing requires you know another 4:02check and it's typically that just what 4:06distinguishes continuous delivery is 4:07that in continuous delivery you're 4:11automating as much as you can kind of 4:14code through end of testing but you're 4:22gonna have a decision point here at the 4:24end for what we do with the approval 4:27and so this is just one step a little 4:30bit more cautious than deployment that's 4:34what most organizations that I see are 4:36trying to get to today they still need 4:38to do a lot of automation in their 4:40testing area in order to achieve that to 4:42even get to the point where they can 4:44just go straight to a business decision 4:45if should we release this or not but 4:50this sort of automated as much as I can 4:53make a decision to go or not that's what 4:56we see with continuous delivery that's 4:58where we see people going but this 5:00extreme approach continuous deployment 5:01it works we've had documentation that it 5:05works now for over ten years it can be a 5:09reasonable approach if you're in the 5:11right situation so that's continuous 5:13deployment versus continuous delivery 5:15thank you if you have questions please 5:19drop us a line and if you want to see 5:21more videos like this in the future be 5:24sure to LIKE and subscribe