Every now and then you get the opportunity to prove yourself on a big stage. Four weeks ago we got the chance. Couchbase user, OMGPOP, had launched Draw Something – a Pictionary-like game that was going viral. Capitalizing on what would end up being an unprecedented growth opportunity, they absolutely had to scale their database. There were two non-negotiables: performance had to be sustained and the game could never be taken off line, even as the number of users and games rapidly accelerated.
Scaling to support the fastest growing mobile game of all time isn’t trivial. From a standing start, Draw Something has ballooned to more than 50 million downloads in a few short weeks (and is still adding roughly two million downloads a day). Daily Active Users (DAU) number 15 million – surpassing by far that of the next closest game, Words with Friends. Tens of millions of games have been started. Over 3,000 drawings are generated every second adding to the two billion that have already been created and stored.
And the growth hasn’t stopped. OMGPOP now has their sights set on 100 million downloads.
This kind of growth is every application developer’s dream, but if scalability is not planned for up front, it can become a developer’s worst nightmare. The fastest way to kill a growing game is to make users wait, or worse, to tell them to return when you can handle the load. Just ask EA.
Launched at roughly the same time as Draw Something, EA’s Simpson’s Tapped Out was also getting tremendous adoption. Growing virally, it reached #2 on the Apple App Store in early March before running into scaling problems. Within a few days, the game was pulled from the App Store with only existing players continuing to play the game. As of a few weeks later, it still hasn’t returned.
Fortunately, OMGPOP had planned up front for scalability, selecting a NoSQL database as their primary data storage technology. In their case, they were using Couchbase Server, and things were humming right along – we weren’t even aware Couchbase was behind the game.
We became aware of our role in their success when they called us to ensure they were employing best practices in planning for growth of their database cluster. As the number of users, games, and drawings grew at an unprecedented rate, they were able to continuously add capacity to the cluster (growing to over 100 servers), while maintaining application performance and with zero application downtime. There was never a performance drop or a single moment when new players couldn’t join the party – even in the face of dying hardware! At one point, a motherboard issue with their selected hardware was taking cluster members down at a frightening pace. Couchbase took even those failures in stride without interrupting game operation or performance.
Developing innovative applications is, of course, the foundation of OMGPOP and other companies’ success. While the scaling requirements of a hit social game may be more extreme than those of most applications, the importance of being able to easily scale your application without downtime while maintaining performance is critical to the success of most applications. It’s important that developers pick a database that not only supports the operation of the app itself but also is able to easily scale. Congratulations to OMGPOP for developing an innovative game that is a huge hit around the world. We’re happy Couchbase could play a part in the success.