Implementing Continuous Delivery in Azure
This course provides the knowledge and skills to implement continuous delivery in Azure DevOps. These lessons will cover how to design a release strategy, with a release management workflow, and then design an appropriate deployment pattern.
The Implementing Continuous Delivery Course is intended as a stand-alone course that can also be taken as part of a learning path, in conjunction with other courses, being developed, to work towards the AZ-400 Azure DevOps Expert Exam.
As we start this course, this lesson provides an overview of what we cover in the course and how it can fit in with other courses around Azure DevOps.
About the Training Architect
In this lesson, we have a quick introduction to my background and experience as we move into Implementing Continuous Delivery in Azure DevOps.
Design a Release Strategy
Recommended Release Tools
This lesson looks at popular release tools and how Azure DevOps compares. This is a useful way of understanding which Azure DevOps features achieve different goals.
Identify Recommended Release Approvals and Gates
This lesson looks at examples of pre- and post-release gates in Azure Pipeline Releases. It is important to understand how release approvals can be controlled and automated to improve the efficiency of the pipeline.
Recommended Strategy for Measuring Quality of Release and Release Process
In this lesson, we look at using release gates as quality gates. This is a look to create an understanding of common practices and how they can be built into the Azure DevOps Pipeline Release.
Recommended Strategy for Release Notes and Documentation
In this lesson, we will look at methods of documentation for software releases and some of the tools that can assist in generating this. Release documentation becomes even more important as the speed of software development continues to increase. Azure DevOps Release Notes Generator: https://docs.microsoft.com/en-us/samples/azure-samples/azure-devops-release-notes/azure-devops-release-notes-generator/ Generate Release Notes Build Extension: https://marketplace.visualstudio.com/itemsitemName=richardfennellBM.BM-VSTS-GenerateReleaseNotes-Task WIKI Updater Tasks: https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-WIKIUpdater-Tasks
Select Appropriate Deployment Pattern
This lesson provides an overview of traditional and modern deployment patterns. This will be important when we go into these patterns in later lessons. It is also beneficial to understand the deployment options commonly used in environments, both historically and in projects today.
Set up a Release Management Workflow
Automate Inspection of Health Signals for Release Approvals by Using Release Gates
In this lesson, we look at approvals and standard Azure DevOps release gates. It is very useful to know what is available, as standard in the tooling, and what can be added with third-party extensions.
Configure Automated Integration and Functional Test Execution
In this lesson, we will look at third-party integrations in Release Gates to get even move power, automation, and testing in our releases.
Create a Release Pipeline
In this lesson, we look at the pipeline options and release targets available. Only when you understand all of the deployment options available that we can appreciate the full power of the Azure Pipeline Releases.
Create Multi-phase Release Pipelines
This is a deeper look at ways we can use Stages to control our releases and different models available to us. This is important as it is the most effective way of leveraging the features of the Pipeline Release.
Integrate Secrets with the Release Pipeline
This lesson looks at integrating secrets into the release pipeline to improve the security and efficiency of the release. This solution concentrates on release integration with Azure Key Vault and setting up variable groups.
Provision and Configure Environments
In this lesson, we look at the options available to deploy our Azure DevOps Releases. We need a good understanding of the breadth of options available for releases and possible configurations to be able to master the tools set.
Manage and Modularize Tasks and Templates
In this lesson, we will look at modularizing tasks and using variable groups. This gives us greater efficiency and scalability in our DevOps projects.
Implement an Appropriate Deployment Pattern
Implement Blue-Green Deployments
Next, we look in more detail at the Blue-Green Deployment. It's important to see how this can be implemented using Azure services like Web App Slots and Traffic Manager.
Implement Canary Deployments
This lesson looks at the practice of Canary Deployments. This idea and theory is the base of a lot of modern deployment methods.
Implement Progressive Exposure Deployments
This lesson looks at the practice and benefits of a Progressive Exposure Deployment and how we can manage that type of deployment in Azure. This method is commonly adopted in progressive software development environments today.
Scale a Release Pipeline to Deploy to Multiple Endpoints
This lesson looks at a broader view of the deployment endpoints available to us in Azure DevOps. To fully integrate all available resources and environments, its important to understand other ways of accessing deployment Groups.
Course Wrap Up
Course Conclusion and Next Steps
In this lesson, we take a look at the topics and tools we covered in this course, and also recommend some next steps and future courses that will help your Azure DevOps development.
Take this course and learn a new skill today.
Transform your learning with our all access plan.Start 7-Day Free Trial