Skip to content
← All Projects

Retail Platform Microservices Migration

Led a team of 12 to migrate a 2M+ line monolithic retail system to microservices using the strangler pattern. 18 months from start to full decomposition.

.NET CoreDockerKubernetesAzureRabbitMQMongoDB

This is probably the project I’m most proud of — and also the one that gave me the most gray hairs.

Starting Point

A retail platform with 2 million+ lines of code in a single .NET Framework monolith. Deployments were quarterly because everyone was terrified of breaking something. The test suite took 4 hours to run. New developers needed weeks just to understand the codebase enough to make a safe change.

The Approach

We used the strangler fig pattern because a rewrite was off the table — the system was generating revenue and couldn’t go down. The plan:

  1. DDD workshops to identify bounded contexts and define service boundaries
  2. API gateway (Azure API Management) to route traffic between old and new services
  3. Phased migration — one domain at a time, starting with the lowest-risk modules
  4. Event-driven communication with RabbitMQ between services

I organized the team of 12 into 3 autonomous squads, each owning specific domains. This was as much a people challenge as a technical one — getting developers who’d worked on the monolith for years to think in terms of service boundaries.

Architecture

  • Domain-focused microservices (.NET Core)
  • RabbitMQ for async messaging, gRPC for synchronous inter-service calls
  • MongoDB for services that needed flexible schemas, SQL Server where relational made sense
  • Kubernetes on AKS for orchestration
  • Prometheus + Grafana for monitoring, structured logging with Serilog + ELK

Results After 18 Months

  • Went from quarterly to daily deployments
  • 60% reduction in production incidents
  • 45% improvement in API response times
  • Developer onboarding dropped from weeks to days
  • Each squad can deploy independently without coordinating with other teams

The biggest lesson: the technical migration was maybe 40% of the work. The other 60% was organizational — changing how teams think about ownership, boundaries, and communication.

Timeline: Started Q2 2023, completed Q4 2024. Ongoing optimization.