The Difference Between Continuous Delivery & Continuous Deployment

preview_player
Показать описание
Continuous Delivery is the foundation of Continuous Deployment. They are very closely related, but they aren’t the same thing. So Continuous Delivery vs Continuous Deployment, what’s the difference and which one is for you?

In this episode Dave Farley, author of “Continuous Delivery” and “Modern Software Engineering”, describes the differences between Continuous Delivery and Continuous Deployment: what each one gives you and when Continuous Deployment may not always be the correct answer. So, if you are a DevOps team applying the software engineering practices that we describe on the CD channel, what is the best strategy?

_____________________________________________________

🎓 CD TRAINING COURSE - "CD: Better Software Faster"
If you want to learn about Continuous Delivery, check out Dave Farley's course where you will learn the 7 Essential CD techniques.
________________________________________________

The best way to keep up to date with the latest discussions, free "How To..." guides, events, online courses and exclusive offers.

-------------------------------------------------------------------------------------
📚 BOOKS:

📖 "Continuous Delivery Pipelines" by Dave Farley

📖 Dave’s NEW BOOK "Modern Software Engineering" is available here

NOTE: If you click on one of the Amazon Affiliate links and buy the book, Continuous Delivery Ltd. will get a small fee for the recommendation with NO increase in cost to you.
-------------------------------------------------------------------------------------

CHANNEL SPONSORS:

Рекомендации по теме
Комментарии
Автор

I think about this in several different stages:
* Continuous Integration - Changes are merged to the main/trunk branch daily, as state in the video.
* Continuous Delivery - The main/trunk branch is always in a state where it can be deployed, even if we don't deploy automatically. Our automated tests confirm this, as stated in the video.
* Continuous Deployment - The main/trunk branch is deployed into production when the automated tests confirm that it's ready. There's an implication here that an organization can practice Continuous Delivery without practicing Continuous Deployment. Deployment may be a human decision rather than an automated one, but hopefully it doesn't require too much bureaucratic overhead.
* Release - This was referenced in the video, but I don't think this specific term was used. Deployed code in production may not be activated. One common technique for this would be Feature Flags, but there can be other techniques too. We may choose to deploy code, but release it in waves or stages with different customers before activating it for all.

jimhumelsine
Автор

I work somewhere with proper continuous delivery practices, and daily releases (unless there is a critical bug in the existing version). I previously worked for a heavily regulated government contractor who organised huge releases every 6 months. My life now is a dream, always working on iterating and feature development. My past life was a nightmare of complex debugging, crunching for deadlines, tech debt, and excruciating meetings with QA people. I would honestly say that the productivity and quality feels about 100 times higher.

alexkfridges
Автор

This video should be a "must watch" for every junior dev. So much pain could be avoided and much money could be saved. Thanks Dave.

marcotroster
Автор

I had this exactly argument today with a Azure DevOps trainer. He kept saying Delivery and Deployment are the same and it depends on the "school" you're looking at. He, literally, told me "I found some blogposts...". I had to tell him "Earth is not plane, but if you want to find material tu support your bias that it's plane, you will find it on the Internet".

I sent him the link to DevOps Institute Definition literally...

Thanks for this video! :)

MJJMarkos
Автор

Hi Dave, I’ve finally got a job where CD is set up. Amazing experience!

alex_chugaev
Автор

Lots of time People Say that Continuous Delivery Is only for context where you Need to deploy to user with high frequency.
And so I find myself triyng to explain the difference, as I've learned from Dave.
I think this video Is very useful for that reason.
I think this video Is the right source of clarification.

alessandrofardin
Автор

Working for a safety critical embedded software development company I can very much relate to this. Im trying hard to bring in the continuous delivery culture into my org. It's not easy but it's the right direction 👍

sriluxman
Автор

I have been between several projects at a consulting firm. Every time I bring up Continuous Delivery I see the architect’s eyes roll. Everyone says we are practicing CD, but they just point to the tools that enable it. However, the methodology is not practiced: large change sets, pull requests that run for days, and long running test suites that often get built after the fact. I hold out hope that one day I have the leadership to enable the practice of CD. If I ever make it to leadership, then I will encourage different approaches as a healthy way to stay sharp.

Thanks for the content Dave!

SolidCollegeTry
Автор

I’m kind of ridiculously excited about the T-shirts. Thanks!

helenkourous-harrigan
Автор

Concepts that sound so simple that at first they're easy to overlook, too say of course and move on, but once the mindset really sets in, there really is no better way to proceed than Continuous Delivery. I think not only for software but for a lot of fields in life as well. Thank you for these videos.

ScarletSnake
Автор

Probably, the best contents I've seen in years about SW development. May be since Joel on Software wrote his last article.

Sergio_Loureiro
Автор

I really like the analogy of Continuous Delivery like studying for a test. It's better to learn the material continuously throughout the course and always be ready for the pop-quiz that can occur at any moment rather than waiting until the night before the final exam to pull an all-nighter cramming session.

I wonder if the analogy continues even beyond the preparing for a test. Those who study continuously tend to remember the content for much longer. Those who cram tend to forget it shortly after the test. Would this aspect of the analogy carry over to production code as well?

The continuous learner is acquiring new information in more manageable chunks through the course. Any misconceptions or misunderstandings can be more easily identified and corrected. Absorbing the earlier concepts makes it easier to build upon the upcoming concepts. The student who crams cannot correct misconceptions or establish foundations to build upon.

Continuous Delivery feels the same to me. You're adding, correcting and learning in manageable chunks. A huge feature branch merges denies us this foundation.

jimhumelsine
Автор

Thanks Dave, I think the distinction between delivery & deployment is an important one.

retagainez
Автор

Finally, someone clarified it on YouTube! Thank you :)

eventually-consistent
Автор

Thanks Dave for clearing the most common misconception between Continuous Delivery & Deployment. And yes before I forget, lovely T-shirt (I want one😊)

arvindramaswamy
Автор

Solid gold content.

I've got some history working to functional safety standards but am now free of those shackles. I can attest that those cumbersome change processes do more harm than good.

RossRyles
Автор

Automation can be awesome as long as you can trust it and practice it daily. I always aim for continuous deployment in small well-tested increments, but sometimes need to do some compromises. Steady stream of increasing value.

DevXplaining
Автор

I'm trying to promote a culture of continuous delivery. So hard when developers don't care to read slack to know they've broken the build and developers pass code to QA that they know won't pass. Maybe I'll need to sit them in a room for a Dave Farley marathon on YouTube in the hope they'll see the light.

vkfbab
Автор

17:58 Risk is not additive although the point is made. If I have three change each with a 50% chance of introducing a defect the total chance of introducing at least one defect is not 3 x 0.5. Instead its 1 - chance of not introducing any defect = 1 - 0.125 = 0.875. A high chance but less than 1.0 :)

JanekBogucki
Автор

If you had a 'ctrl (doc), shift (delorian), z(marty)' top, that would be back to the future :D
The tees are definitely the best on this channel

aaronfisk