Meridian Cloud Infrastructure Modernization
Migrated a 15-year-old monolithic platform to microservices on AWS, cutting infrastructure costs by 60% while achieving 99.99% uptime.
The Starting Point
Meridian's platform processed 500,000 shipment events per day across 40 countries. It had been built incrementally over 15 years by teams that had long since left the company. Documentation was sparse. Test coverage was under 10%.
The system worked — most of the time. When it didn't, diagnosing failures required senior engineers with institutional knowledge that was increasingly scarce.
The Strangler Fig Strategy
Rewriting a business-critical system is one of the most dangerous undertakings in software engineering. Big bang rewrites fail more often than they succeed. We used the Strangler Fig pattern instead.
The principle: incrementally replace pieces of the monolith with microservices, routing traffic to new services one domain at a time. The old system runs alongside the new until it can be safely retired.
Over 14 months, we migrated 23 distinct domains — from order management to route optimization to customer notifications — each with its own service, database, and deployment pipeline.
Zero Downtime Migration
The hardest constraint: Meridian's SLA required no planned maintenance windows. Every migration had to happen without service interruption.
Our approach:
- Deploy new service alongside the monolith
- Write to both old and new datastores simultaneously (dual-write phase)
- Read from the new service, verify data consistency
- Disable writes to the old datastore
- Remove the old code
The dual-write phase was the most complex engineering problem of the project. We built custom consistency verification tooling that compared records across both systems on a 5-minute cadence, alerting on any divergence before it could become a user-visible issue.
Results
- 60% reduction in monthly AWS spend ($3M → $1.2M annually)
- 99.99% uptime in the 12 months post-migration
- 15x increase in deployment frequency (monthly → daily)
- 8-minute deployments (down from 4 hours)
- Zero unplanned downtime during the 14-month migration