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. 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.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.Using AWS helps Supercell keep its focus on what it does best: developing games that keep its players happyThis 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.Using Amazon Kinesis, Supercell can process data up 45 billion in-game events a day.Amazon Kinesis gives our business-critical analytics and dashboard applications the data streams they need, reliably and without delays,” Yliharju says.“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.”