From a three-hour deployment to ten minutes
An automated, reversible release pipeline for a leading health insurance provider — built on Azure DevOps and covering .NET, .NET Core, NodeJS and Angular applications.
01 — The challenge
Where it started.
Deployments were done by hand. Each release needed several stakeholders available at the same time, dependencies were tracked informally, and the window was two to three hours with downtime inside it.
That cost compounded. Because releasing was expensive, releases were batched — and a batched release is a larger change set with more to go wrong and no quick way back when something did.
02 — What we built
The work itself.
Azure DevOps with YAML templates. Shared templates, so a new application joins the pipeline by configuration rather than by a fresh build script, with a dedicated build server producing the artefacts.
Automated builds across four runtimes. .NET, .NET Core, NodeJS and Angular applications all built and packaged automatically, so one release process covers the estate rather than its newest part.
PowerShell against IIS. Scripted updates to sites, application pools and configuration transformations, replacing steps previously performed by hand on each server.
Auto-rollback and slot swaps. Failure triggers an automatic rollback, and slot swaps move traffic between a warm and a live instance, so a deployment no longer needs a downtime window.
03 — Results
What the client has now.
Deployment time fell from two or three hours to ten minutes. Slot swaps took downtime during releases to near zero. Audit logs record every deployment, so what shipped and when is answerable afterwards. Rollback is immediate rather than a rebuild.
Looking for a similar solution? Contact us today!