70 million pirates battle it out on MongoDB
Jelly Button Games is a free-to-play mobile gaming company based in Tel Aviv, Israel that focuses on building original games that are mobile-friendly, multi-platform, and allow people to play together no matter where in the world they are located. Founded in 2011, Jelly Button has grown from the five original founders to more than 85 employees.
I’m Shai Zonis, a senior server developer at Jelly Button for the game Pirate Kings. Pirate Kings is a fully realized world where over 70 million pirates battle it out to conquer exotic islands in a quest of gold, artifacts and revenge. Most users notice the palm trees, glimmers of gold, and the quality of the animation, but few think about the tools working behind the scenes to make the game operate seamlessly.
After upgrading to MongoDB Professional and Cloud Manager, we have scaled to easily manage 70 million users with 60% cost savings compared to our previous MongoDB hosting provider. While today everything is running smoothly, the path to success wasn’t always nicely paved - we had to fight our own battles to win the day.
Challenges of a third party database hosting service
Our team originally had experience with relational database technologies. However, we knew that a relational database would not provide the scale, agility and performance needed to make a game like Pirate Kings successful. MongoDB was the clear choice, though at the time, we didn’t know much about the operational aspects of running it. In the end we decide to work with a third party MongoDB hosting service to manage our database.
In the early days Jelly Button had a million daily unique users and, for a while, all was going well.
Suddenly, the game went viral and there was a 520% increase in users in just two weeks. The business was excited by this increase in popularity, though the engineering team got a little nervous about the latency spikes impacting the user experience.
Despite the challenges we faced, we initially did not want to migrate from our existing hosting service because of the amount of time and money we had already invested in the platform.
The final straw
Fast forward to February of 2016 when our existing third party MongoDB hosting service began to strangle our ability to scale and expand the game. We were constantly facing issues with performance, and the third party service was not able to help us address the problem.
At that point, it was necessary to move beyond a third party and instead work directly with the team that develops the database. We needed to find ways to better manage our data and scale to meet our growing number of users. We tried to make the transition on our own, but quickly realized we could accelerate the upgrade and transition by working directly with MongoDB Professional Services.
Working with Masters - how MongoDB helped replatform our database and grow the business
Before the migration, we were facing exorbitant costs and had very little insight into how the database was performing.
MongoDB Professional Services worked alongside our team to successfully migrate Pirate Kings from the third party hosting service to MongoDB 3.2 configured with the WiredTiger storage engine in under two months. Together we were able to migrate, fix and optimize our database with little downtime. Our consultant was focused on teaching and mentoring the team, and the amount of know-how and technical discussions we had during this time were truly empowering. Working with professional services felt like working with true MongoDB masters.
Once upgraded, we saw a 60% cost savings and we were able to compress 18 shards down to one single replica set. With the transition to WiredTiger, the data size on disk dropped by 60% due to its native compression libraries.
MongoDB Cloud Manager, a platform for managing MongoDB, was also instrumental in giving us full insight into the database for the first time. With Cloud Manager we had much higher levels of data protection and lower operational complexity with managed backups. We were finally able to dig deep into database telemetry to understand the pitfalls that were inherent in our previous service. With MongoDB Professional, we were able to get direct access to 24x7 support.
Overall, the complexity of our database significantly decreased and our database administrators are able to sleep much better.
While the main motivation for migrating away from a third party hosted service was to better manage Pirate Kings data, MongoDB provided us the promise of a better life for our developers and a better future for our company. Today Pirate Kings easily manages 10 million unique players per month. Better yet, our team now feels very comfortable and confident with the technology.
Moving forward, you can expect to see Jelly Button develop two new games per year, all of which - we are excited to say - are being built on MongoDB. They are the pirate kings!