Finland-based Supercell, founded in 2010 by six game-industry veterans, is one of the fastest-growing social game companies in the world. With more than 100 employees, its three games are massively successful, attracting tens of millions of players on iOS and Android devices every day. These games are Hay Day, a social farming game, and Clash of Clans and Boom Beach, which combine social resource management and strategic combat elements.
“When Supercell launched,” says Sami Yliharju, services lead at Supercell, “the founders wanted to create a company where the focus would be on the best people making the best games.” Designing specifically for mobile lets the developers concentrate on creating the best experience for gamers—and working in small development teams helps, too. Each game team is unique, but usually includes a lead, a game designer, a game tester, an artist, a server engineer, and a game programmer. Supporting technical teams are of similar size, but have a different structure depending on their responsibilities.
These technical teams at Supercell needed not only cloud computing services that were easy to use, powerful, and reliable, but also a set of services that matched their requirements for high-volume games performance, scalability, and rapid growth. “Similarly, we need a powerful infrastructure for running our data pipelines, analytics platform and web offerings. Choosing Amazon Web Services was an easy decision, and we’ve been using its cloud technologies since day one,” says Yliharju.
Supercell games require thousands of servers at any one time. For each of its players, Supercell needs a session on the server side—and the number of servers that are required grows with the number of concurrent users playing the game. The entire game infrastructure runs on Amazon Web Services (AWS). Supercell employs Amazon Elastic Compute Cloud (Amazon EC2) instances spread around multiple Availability Zones to increase availability and Amazon Simple Storage Service (Amazon S3) to store up to 10 terabytes of games event data each day. Long-term storage, backups, and archiving are handled in the low-cost Amazon Glacier storage service. Elastic Load Balancing is used to distribute incoming web and event traffic across instances. Supercell uses Amazon CloudFront, Amazon ElastiCache, Amazon API Gateway, and AWS Lambda to deliver dynamic web content around the world, using edge locations for improved latency.
Supercell is using Amazon Kinesis for real-time delivery of in-game data, handling 45 billion events per day. Whereas it recently ran its own Hadoop instances on Amazon EC2, it now uses Amazon Elastic MapReduce (Amazon EMR) to provide a managed Hadoop framework before passing the data into its data warehouse service running on top of Amazon EC2 instances. Kinesis data is also read into Amazon DynamoDB. “Amazon DynamoDB is good for use cases like ours where scalability and speed are crucial,” says Yliharju.
To monitor, manage, and control its environment, Supercell uses a range of tools in the AWS Console. Amazon CloudWatch and AWS CloudTrail allow it to monitor the current environment and give it a detailed log of all actions in the development and production environments. “The AWS API is one of the most important services for us—we use it a lot,” Yliharju says. “For example, the API commands allow us to easily manage and boot up new servers and even run full load-testing environments to simulate different situations and determine our capacity needs.” Supercell also makes good use of the Amazon API Gateway, and it uses AWS Lambda to run code in response to events and automatically manage the associated compute resources. Yliharju says, “We use AWS Lambda and the API Gateway when building API-based services that need scalability.”
Using AWS helps Supercell keep its focus on what it does best: developing games that keep its players happy. “Since the launch of our three games, our player base has expanded at an incredible pace,” says Yliharju. “We don’t have to worry about being able to manage our infrastructure to match our growth—AWS tools make it easy for us.”
This scalability has allowed the company to expand into China, which is home to one quarter of all Internet users and represents a huge market opportunity. “The size of our infrastructure would be very hard to maintain with a physical on-premises setup, especially as the success of game releases is not predictable,” says Yliharju.
Using Amazon Kinesis, Supercell can process data up 45 billion in-game events a day. “We collect data because our games don’t stay in the top-ten lists automatically. Success has to be earned by listening to the community and the players, providing additional features, and balancing the game to make it fair for everyone. Amazon Kinesis gives our business-critical analytics and dashboard applications the data streams they need, reliably and without delays,” Yliharju says. “Amazon Kinesis does a lot of the heavy lifting, and lets Supercell focus on delivering games that delight players worldwide.” With this insight, developers can make in-game changes either on the fly or in larger, scheduled updates. This data also provides in-depth information to the Supercell support team, helping it support the player community.
The company also benefits from AWS Enterprise Support. “AWS Support is always available whenever we need it,” Yliharju says. “We particularly like learning about upcoming AWS features and changes in advance from our technical account manager, so we have time to prepare.
“The world of gaming never sleeps. We have a 24/7 audience,” Yliharju concludes. “We owe every player a great experience, and AWS is our platform to make that happen.”
To learn more about how AWS can help get your mobile game to market, visit our mobile gaming details page.