Case study
From one data center to three continents
Users on three continents got the same fast, reliable service, with no big-bang migration.
Cloud & infrastructure / Software architecture / Engineering leadership
Problem
The platform started in one data center. As the user base grew past 400,000 across North America, Europe and Asia, distance itself became the problem: every session from the far side of an ocean paid for it in latency and quality.
Constraints
- A small engineering team that also owned operations
- No downtime window: users were active in every time zone
- Real-time traffic, which a static CDN cannot hide
- Startup budget: capacity had to follow revenue
Architecture & approach
Keep one architecture and run it in three places. Each region carries the full web and application tier, users resolve to the nearest healthy region, and data replicates back to a primary. Regions went live one at a time, so every step could be rolled back.
- North America to Geo-location routing
- Europe to Geo-location routing
- Asia to Geo-location routing
- Geo-location routing to Region NA
- Geo-location routing to Region EU
- Geo-location routing to Region APAC
- Region NA to Primary data
- Region EU to Primary data
- Region APAC to Primary data
Key decisions
How should distant users reach the platform? 301-3.1
How should the migration run? 301-3.2
Outcome
- 400k+ users served across North America, Europe and Asia
- Lower network latency and better quality for distant users
- Multimillion-dollar growth and a successful acquisition
Technology
Multi-tier web & mobile application, Data center design, Cloud regions (NA / EU / Asia), Geo-location DNS routing, Data replication
Lessons & tradeoffs
- Latency is a product feature. Users feel geography before they notice any new feature.
- Designing the first data center carefully made leaving it easier. Clean tiers moved as units.