How to Handle 1,000,000 Daily Users Without Using a Cache

Tue 12:45-1:45 pm - Grand Ballroom I
Jesper Richter-Reichhelm , Head of engineering, WOOGA GMBH, Germany

Online games pose a few interesting challenges on their backend: A single user generates one http call every few seconds and the balance between data read and write is close to 50/50 which makes the use of a write through cache or other common scaling approaches less effective.

Starting from a rather classic Ruby on Rails application as the traffic grew we gradually changed it in order to meet the required performance. And when small changes no longer were enough we turned inside out parts of our data persistency layer migrating from SQL to NoSQL without taking downtimes longer than a few minutes.

Follow the problems we hit, how we diagnosed them, and how we got around limitations. See which tools we found useful and which other lessons we learned by running the system with a team of just two developers without a sysadmin or operation team as support.


Jesper Richter-Reichhelm is Head of Engineering at wooga, which is the second largest developer of social games in the world. His team develops and operates web services that power social games having more than five million daily users and serve more than 10 billion http requests per month. Work is organized in small, independent teams where typically only two to three software engineers are responsible for architecture design, feature development and operation (devops).