Jelly Button Games develops and publishes free-to-play, interactive mobile and web games. It was founded in 2011, and its 41 employees look after the entire lifecycle of the firm’s games—from concept to launch, as well as continuous improvements once the game is live. The company’s flagship title is Pirate Kings, where players battle their friends to conquer exotic islands, amass gold, and become the lord of the high seas in what Jelly Button Games calls a “mingle-player” experience. Launched in 2014, the game has achieved around 60 million downloads across iOS, Android, and Facebook.
Ron Rejwan, one of the cofounders of Jelly Button Games, explains the company’s ethos: “When we set up the business, our goal was to make social games that encourage meaningful interactions. Lots of games claim to be social, but aside from being able to chat within them, social interactions don’t affect the gameplay. In Pirate Kings, for example, you can attack other people’s islands and steal their in-game money whether they’re online or offline. Enabling that kind of gaming creates some technical challenges.”
With similar games, developers might cache data and write it to a database at intervals, but this wasn’t an option for Jelly Button Games. Every in-game event had to be written immediately to the persistent database layer to ensure accurate, real-time data. “Our priority was to make the social gaming experience 100 percent accurate,” says Rejwan, “with no error messages saying ‘you can’t attack him, he’s online right now.’” With around one million requests per minute on the Pirate Kings gaming servers at peak times, maintaining this level of performance forced Jelly Button Games to look to a new model for its back-end infrastructure.
The company used a dedicated host for its games, but after it launched Pirate Kings it decided to move to the cloud. “While we liked the elasticity of the cloud, we had some issues auto-scaling with our previous cloud provider,” says Rejwan. He and his team looked at other gaming companies and saw that Amazon Web Services (AWS) was popular in the industry, supported the business’s technical needs, and had a much wider range of features compared to its exisitng provider.
Jelly Button Games was quickly able to develop a proof-of-concept environment using AWS Elastic Beanstalk. Once the service receives an application uploaded by a user, along with some additional information, AWS Elastic Beanstalk automatically provisions a hosting environment with the correct services configured to run it. These include Amazon Elastic Compute Cloud (Amazon EC2) and Amazon Relational Database Service (Amazon RDS) instances, the AWS CloudTrail API-event-logging service, Amazon CloudWatch for monitoring the environment, and Amazon Simple Storage Service (Amazon S3). Rejwan and colleagues also use Amazon Redshift, Amazon Kinesis, and Amazon Simple Queue Service (Amazon SQS) for analytics. Amazon CloudFront provides a high-speed global content delivery network for game updates.
“Using AWS Elastic Beanstalk, the transformation to AWS was incredibly easy,” says Rejwan. “I was sure it would be much more difficult to migrate all our servers, but we went from being in production on our old provider to being in production on AWS in just two weeks.”
By using AWS, Jelly Button Games has a flexible, highly available, scalable environment that allows it to concentrate on expanding its business, while maintaining an excellent user experience. “We make games, but we don’t play around when it comes to the technology behind them,” says Rejwan.
To illustrate how much easier it is to scale up with AWS, Rejwan talks about the unexpected viral success of Pirate Kings in Southeast Asia, when the application had to deal with two million new daily active users in eight days. “Scaling up to cope with this demand was easy,” says Rejwan. “Because we’re on AWS, it took us no time at all working with our hosted MongoDB service provider to provision the capacity we needed.”
He believes that the response times on AWS help Jelly Button Games maintain an excellent real-time player experience. “We automated our self-healing processes, ensuring that only healthy instances are brought into our production environment. This means we keep 99.99 percent uptime and a 30 millisecond average response time. The tools available to us through AWS allow us to maintain a very high level of service that’s scalable,” says Rejwan.
Using the analytics tools in AWS, Jelly Button Games has an in-depth view of its company’s data to help refine its games and business. Rejwan gives a recent example: “We log errors on client devices and store these in Amazon Redshift. So we can see within minutes if a new version is behaving differently to how we would expect. On the launch of a recent major Android update, there was a bug that we couldn’t have predicted. Referring to the error logs, we identified this within 30 minutes of deployment and had a new version online in three hours. Having visibility into that data really saved that version release.”
Using Amazon CloudFront has also been instrumental to the success of Pirate Kings. “On mobile, forcing users to upgrade can mean losing 2–10 percent of your daily active user base,” says Rejwan. “It was crucial for us to allow people to migrate in their own time. Our solution was to store all dynamic assets in Amazon S3 and wrap them in CloudFront, which gives us infinite scale, theoretically. In some of our peak months we transferred 2–5 petabytes of content like this.”
Jelly Button Games’ journey with AWS is only just beginning, but it is planning to bring its latest title to market on AWS too. “It’s going to be exciting to see how it’ll work at scale,” says Rejwan. “If our experience with AWS so far is any indicator, I’m sure it’ll make our lives a lot easier. AWS lets us focus on our business rather than forcing the business to bend to the restrictions of technology.”
To learn more about how AWS can help get your mobile game to market, visit our mobile gaming details page.