Webanite: Modernising a 248-Million-Row WordPress Platform on AWS
Client: Webanite, a WordPress-and-API web platform with very large order data.
Service: DevOps and cloud modernisation on AWS.
The challenge
Production ran on MySQL 5.7 and WordPress 4.9; AWS moved MySQL 5.7 into paid Extended Support, adding $2,100/month.
The platform was too big for dump-and-restore: 3 RDS databases, 85 GB of WordPress files, a 248-million-row order table and several 51-million-row tables, with live API traffic that could not take a long outage.
Our approach
- A separate AWS account with a new environment (PHP 8.2 on ECS Fargate, HTTPS via Cloudflare).
- MySQL 5.7 to 8.0 and WordPress 4.9 to current, fixing breaking queries (GROUP BY, charset) and validating every API endpoint.
- A Python sync engine (51 tests) with a live dashboard, using a lightweight shadow changelog to capture changes in real time without production downtime.
- A blue-green cutover plan via a Cloudflare DNS switch with instant rollback.
- Along the way, fixed a live Redis outage caused by a VPC peering route conflict, built a production monitoring tool and scheduled index builds in low-traffic windows.
The result
- New environment kept in sync with production across all four high-volume tables with effectively zero drift.
- Recovered about 30,000 rows missing from the original snapshot of the 248M-row table.
- Final switchover planned at under 30 minutes of downtime.
- Removes the $2,100/month Extended Support charge once cut over.