Designing online games for scale with Erlang

By Erlang Central | Published: June 6, 2011

At wooga we build backends for games that have millions of daily users.

In the gaming business we have a write heavy environment, with a high frequency of requests, traffic bursts and distribution across many nodes. These are all problems we need to solve and keep in mind in order to write a system that stands the chance of supporting the required load.

How do you meet the challenge of writing a brand new system with performance in mind? Where should the line between necessary efficiency and premature optimization be drawn? How do you measure performances? How do we generate synthetic load that reflects real usage patterns?  How do you know you have enough capacity? How do you combine all the above with safely introducing changes and new features working in a two people team?

We had to answer to all the above questions and we want to share the solutions we found and the problems that we consider still open.

Download Presentation Download


  • Paolo Negri

    Opensource enthusiast, developer at wooga

    Opensource citizen kind of geek, started a career 10 years ago as a linux sysadmin, then switched to a developer profile following the emerging ruby wave. After admiring the elegance of projects like RabbitMQ or Riak he is now involved in writing distributed apps based on Erlang. He has spoken at a few international conferences and enjoys sharing knowledge and experiences.

    Twitter: @hungryblank

    Paolo Negri
  • Knut Nesheim

    Developer at wooga

    After studying music for three years, Knut concluded that tinkering with computers was better than life as a starving musician. He spent some years using Python to make logistics work better. With a keen interest in learning, he picked up Erlang and gained some Erlang enterprise experience at one of Swedens most successful startups, Klarna. Today he is creating massive multiplayer online games at wooga, Europes biggest social games studio.

    Knut Nesheim

Follow Erlang Central:

Have an Erlang Question?

Reach out to the Erlang community