DevOps Fundamentals, Part 3: Continuous Delivery and Deployment
We’re back with another installment in our preview of the DevOps Fundamentals: Implementing Continuous Delivery (LFS261) course from The Linux Foundation. In the previous articles, we looked at high-performing organizations and then discussed the value stream. In this article, we move along to Continuous Delivery and Deployment.
Continuous Delivery basically includes Continuous Integration. It is mandatory to have Continuous Integration to get Continuous Delivery. Let’s consider this definition from Effective DevOps by Jennifer Davis and Katherine Daniels.
"Continuous delivery is the process of releasing new software frequently through the use of automated testing and continuous integration..."
Continuous Integration is required. Additionally, they say, "It is closely related to CI, and is often thought of as taking CI one step further, so that beyond simply making sure that new changes are able to be integrated without causing regressions to automated tests, continuous delivery means that these changes are able to be deployed."
Basically, it shows what we want to accomplish with Continuous Delivery, which is that someone checks in code, version control is in place, it runs the build and tests, it fails, it kicks it back. You can watch the video below for more details.
This then, brings us to Continuous Deployment. The difference between delivery and deployment is that the deployment is actually automated.
But, again, let’s check the definition from Effective DevOps because the authors are DevOps leaders in every sense of the word.
"Continuous deployment is the process of deploying changes to production through the engineering of application deployment that has defined tests and validations to minimize risk. While continuous delivery makes sure that the changes are able to be deployed, continuous deployment means that they get deployed into production."
The key points here are that code is deployed, and Continuous Deployment includes both Continuous Integration and Continuous Delivery.
There is mix and match; some things we automatically deploy and some things can be deployed while some things can be delivered.
The main point is that continuous deployment is all automated. You hit the button. You commit. It is gone.
Want to learn more? Access all the free sample chapter videos now!
This course is written and presented by John Willis, Director of Ecosystem Development at Docker. John has worked in the IT management industry for more than 35 years.