Case study
Migrating ten applications from Azure Web Apps to Kubernetes
The problem
The platform ran on Azure Web Apps, a model that works as long as applications stay simple and few. At around ten applications, split between legacy and new customer segments, the limits had become structural: little control over the runtime, coarse-grained scaling, insufficient isolation between segments, and costs that tracked actual usage poorly.
The data lived in a managed database pool (one database per customer, 150 in total) that the migration was not to touch.
The solution
The applications were moved to Kubernetes (AKS), spread across multi-region clusters matching the customer segments. Each segment gets its own isolation, maintenance window and sizing.
The second cluster answers a customer requirement: some customers wanted their data to stay in France, while the platform ran in North Europe.
The migration was carried out without service interruption, one application at a time, with the option to roll back at every step.
Delivery followed the same shift. Azure DevOps pipelines build the images, run the tests and push to Azure Container Registry; ArgoCD then continuously deploys the Helm charts, reconciling the cluster with what the repository describes. What runs in production is what is written down somewhere, not what was applied from someone’s workstation.
Hover over or select a block to read the details.
The results
- Around ten applications migrated
- Multi-region clusters separating customer segments
- Independent isolation and sizing per segment
- Controlled, reproducible deployments with Helm
- Azure DevOps CI/CD pipeline and continuous GitOps delivery with ArgoCD
What I take away from it
Kubernetes is not a gain in itself, and a simpler managed service remains the right choice for many workloads. What justified the migration here was the need to isolate customer segments with different requirements: an architectural need, not a technical preference.