Case study · Backend & APIs
Rescuing a legacy PHP monolith without stopping the business
Ordana's twelve-year-old PHP monolith processed millions in orders but broke weekly. We stabilized it first, then carved out services one by one, and now they ship every Friday.
Client
Ordana
Industry
B2B commerce
Timeline
16 weeks
Year
2025
0%
fewer production incidents
0
deploys per year, up from 4
0
minutes of migration downtime
01 · The challenge
Where things stood
Ordana's platform processed serious order volume on a twelve-year-old PHP codebase with no tests, no documentation, and two departed authors. Deploys happened quarterly because every release broke something, and two other agencies had already given up on it.
A big-bang rewrite was off the table. The business runs on this system every hour of every day, and rewrites of systems this size fail more often than they succeed.
02 · The solution
What we built
We started with an honest three-week audit: mapping the codebase, adding monitoring, and writing characterization tests around the money paths. Stabilize first, modernize second.
Then we applied the strangler pattern: the riskiest domains, orders, inventory, and notifications, were carved out into typed Node.js services one at a time, each cutover gated by the test suite and running in parallel before switching.
03 · The approach
How we did it
Audit honestly
Three weeks of mapping, monitoring, and characterization tests before changing a single line, so risk was known and visible.
Stabilize the monolith
Crash fixes, slow-query surgery, and error tracking cut incident volume 80% before any architecture work began.
Strangle, do not rewrite
High-risk domains extracted into typed services one at a time, each running in parallel with the legacy path before cutover.
Make Fridays boring
CI with the growing test suite, one-click deploys, and rollbacks in seconds, turning quarterly releases into weekly ones.
04 · The stack
Built with
Chosen for this project, not from a default template. Every build gets the stack its problem deserves.
“They rescued a codebase two other teams gave up on. Honest audit first, stabilized in three weeks, and now we ship every Friday without fear.”
Want results like this?
Tell us what you are building. We will reply within one business day with an honest take on scope, timeline, and cost.