Module 4 - Design and implement a Release Strategy
Continuous delivery
A release is not the same as a deployment, but people mix these up or combine them frequently.
- Functional release - exposing features to customers
- Technical release - deploying functionality
Release
You grab an artifact (your built stuff) and then do something with it.
Deployment
What is your target environment and what is the purpose of that environment?
Gate checks
You can add individuals or teams to approve stages
Release gates
Service Connections to Azure
Testing
Load Testing with Azure
- JMeter with Azure Monitor
Availability Testing
Managed Identity
Variable Groups
Alerts - Service Hooks
Module 5
Microservices
Deployment slots
Blue-green deployments: One production, one stage for the new code to roll out in smaller increments behind a load balancer. maybe 95% of the traffic goes to production with 5% going to stage, and keep incrementing. You can roll back pretty easily if you deploy 100% to a broken code and need to roll back to the working.
Feature Toggling
Technical debt if you keep them around - turn on, use, remove, repeat. LaunchDarkly is a feature toggle lab. in azuredevopslabs.com https://www.azuredevopslabs.com/labs/vstsextend/launchdarkly/
Canary Releases
A pre-prerelease to only a subset ofusers. Traffic manager can be used to distribute traffic between deployments slots.
Dark launching
People aren't aware they are test subjects.
Ring based deployment
Slow ring, fast ring, official