The course is part of this learning path
DevOps Adoption Playbook - Part 2 - Intro
DevOps Adoption Playbook - Part 2
DevOps Adoption Playbook - Part 2 - Demonstration
DevOps Adoption Playbook - Part 2 - Review
In this course we introduce you to the DevOps Playbook Part 2.
The DevOps Playbook Part 2 course continues with Books 8 through to 12, covering the topics, Infrastructure as Code, Configuration Management, Continuous Delivery, Continuous Deployment, and Continuous Monitoring, where each book documents a required DevOps competency, one in which you’ll need to adopt and establish skills in to be effective in DevOps.
- Book 8 - Infrastructure as Code
- Book 9 - Configuration Management
- Book 10 - Continuous Delivery
- Book 11 - Continuous Deployment
- Book 12 - Continuous Monitoring
The DevOps Playbook Part 2 course includes 2 demonstrations where we put into practice some of the DevOps theory presented.
- Atlassian BitBucket Pipelines and Terraform
- Atlassian BitBucket Pipelines Promoting Staging to Production
Note: the source code as used within these demonstrations is available at:
- [Instructor] Welcome back. In this lecture, we'll introduce you to continuous deployment, and how it supports fully automated deployment releases into production.
Continuous deployment is the next evolution on from continuous delivery. Continuous deployment performs everything that continuous delivery does, but with the added advantage of pushing releases continuously into production with zero manual involvement. The final push of a release-ready package into production when using continuous delivery as a practice is often dependent on a business decision being made. Meaning that some form of manual approval is required. When it comes to using continuous deployment as a practice, the entire process, including deployment into production, is fully automated.
The latest release-ready package will always be automatically pushed and deployed into production, and available to end users for immediate consumption. Adoption of continuous deployment is much the same as that of continuous delivery. However, the last push stage into production is automated and without any required manual intervention. One extra consideration to have is to put in place a feedback channel to notify the devops team as to the deployment result of any push into production, regardless of success or failure. In the rare case of failure, ensure that you have the ability to correct, whether, invoking a rollback plan, or performing an on demand redeployment.
Continuous deployment shares the same benefits with continuous delivery, however several improvements are made. Faster and earlier deployment into production, faster and earlier feedback from end users, and faster and earlier return on new feature investment.
Continuous deployment, regardless of its power, still has some challenges on its own. The frequency of deployment can overwhelm the supporting infrastructure, rollback strategies need to be well planned and thought out if a deployment fails. Deployment scripts require long-term ongoing maintenance and management. The entire system requires extensive instrumentation to ensure every deployment completes successfully. End-user experience needs to be managed during in-flight deployments. Again, continuous deployment shares the same tooling with continuous delivery. Most of these sample tools, it not all, you have an option to switch from manually approved deployments to fully automated deployments.
In the example shown here, developers check in their updates into GitHub, which in turn triggers a build on the latest version of the source code. The build server performs all test suites, and if everything passes, the release is automatically pushed and deployed into production.
Continuous deployment is the holy grail of deployment strategies, giving you the most when it comes to deployment outcomes. However, you need to have checks and balances in place, to ensure that this level of automation always goes to plan, and when it doesn't, that you are notified immediately, and have adequate backout and rollout plans available. n
Okay, that completes this lecture on continuous deployment. Go ahead and close this lecture, and we'll see you shortly in the next one.
About the Author
Jeremy is the DevOps Content Lead at Cloud Academy where he specializes in developing technical training documentation for DevOps.
He has a strong background in software engineering, and has been coding with various languages, frameworks, and systems for the past 20+ years. In recent times, Jeremy has been focused on DevOps, Cloud, Security, and Machine Learning.
Jeremy holds professional certifications for both the AWS and GCP cloud platforms.