Blue/Green Deployment Azure App Service + Asp.NET Core API + Angular

  1. https://docs.microsoft.com/en-us/azure/app-service/deploy-staging-slots#Multi-Phase
  2. https://docs.microsoft.com/en-us/azure/architecture/example-scenario/blue-green-spring/blue-green-spring

Before Blue/Green Setup

For example, we have an API project (built in ASP.NET Core API) or Angular website deployed on App Service with Azure DevOps Release pipeline. The deployment steps are as follows.

Blue/Green Setup

We will add an extra step for production release. The updated release pipeline shall look like as follows.

Deployment and Verification

Let’s test our setup. Run the release pipeline for Production-Green and Production-Blue. In the Deployment Slot, we shall share the traffic with both slots equally by putting 50 in each slot. After successful release and saving the deployment slots changes, we can launch the frontend website hitting the production service. Note that, we are not changing any Custom domain mapping or DNS mapping so far. There are very good articles and videos demonstrating how that can be done if you want your custom domain not tied with the production app service.

Request being served by Production (Green)
Request being served by Blue

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store