Problem
A Django application was hitting performance bottlenecks as it grew past 10,000 users. The existing infrastructure couldn't keep up with demand.
Approach
- Re-architected into distributed services using Docker containers for modularity.
- Azure VMSS for dynamic scaling, bringing machines up only when traffic demanded it.
- Separated MySQL, MongoDB, and Memcache onto dedicated servers to isolate load.
Outcome
Handled the larger load with high availability and, because scaling was demand-driven, cut operational cost by running only the capacity actually needed.