· Architecture · 2 min read
Lessons from Migrating a €10M/Month Monolith to Microservices
What I learned leading a .NET Framework to .NET Core migration on Azure Kubernetes — without taking down a system that processes millions in food orders.

Context
When I joined the project, Allsop RASP was a successful .NET Framework monolith processing €10M/month in food distribution orders across Ireland. It worked — but it was hitting scaling limits, deployment was painful, and the technology was aging fast.
The mandate: modernize everything without breaking what works.
The Approach
We chose the Strangler Fig pattern — incrementally replacing monolith components with microservices rather than a risky big-bang rewrite.
Tech Decisions
- .NET Core + ABP Framework — Gave us clean architecture patterns out of the box
- Azure Kubernetes Service (AKS) — Container orchestration without managing cluster infrastructure
- Terraform — Infrastructure as Code for repeatable deployments across regions
- Event-driven communication — Decoupled services that could fail independently
Key Lessons
1. Database-per-service is non-negotiable
We started with a shared database and quickly learned why every microservices book warns against it. The coupling was invisible until it wasn’t.
2. Invest in observability before you need it
Distributed tracing, centralized logging, and health checks saved us countless debugging hours. Set this up on day one, not after the first production incident.
3. The team matters more than the architecture
We had junior developers building critical services. The solution wasn’t to give them simpler work — it was to pair them with seniors and invest in DevOps workshops. The team grew faster than the system.
4. Zero-downtime deployment is a feature, not a luxury
For a system processing live orders, we couldn’t afford deployment windows. Blue-green deployments on AKS made this achievable from the start.
Results
- €10M/month in revenue, zero downtime during migration
- 200+ B2B users across Ireland
- Deployment time reduced from hours to minutes
- Team capability grew — juniors became confident service owners
The system is now ready for expansion to the US and European markets. That’s the real ROI of good architecture: it doesn’t just solve today’s problems, it enables tomorrow’s growth.


