AWS Case Study: Supercell
Finland-based Supercell, founded in 2010 by 6 game industry veterans, is one of the fastest-growing social game developers in the world. With a staff of just over 100 employees, Supercell’s two games—Hay Day (a social farming game) and Clash of Clans (a social resource management game with strategic combat)—attract more than 8.5 million players on iOS devices every day.
“When Supercell launched,” says Sami Yliharju, Services Lead, “the founders knew they wanted to create a company where the focus would be on the best people building the best games.” Building games specifically for tablets helps them focus their energy on creating the best experience for gamers—and working in small development teams, or cells, helps too. Each game team or cell is unique, but usually includes a lead, a game designer, an artist, a server developer and a coder.
The small development 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 game performance, scalability and rapid growth. “Scalability, performance and reliability are essential for us,” Yliharju says. “Using AWS was an easy choice.”
Why Amazon Web Services
Supercell’s games require hundreds of servers to provide functionality for players. 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 users playing. Additional server power and session management are necessary to run the games’ social features and to monitor gamesmanship—in other words, to ensure that no one cheats. “Our massive scale of infrastructure would be very hard to maintain on regular on-premise hardware, especially as the success of the feature pushes cannot be predicted beforehand,” Yliharju says.
“We use the AWS API to manage the servers and infrastructure,” he continues. “It is one of the most important services for us—we use it a lot. 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 to determine our capacity needs.”
With so many players, the company handles terabytes of data every day. “Amazon Simple Storage Service (Amazon S3) helps us store all our game event data, which is about 4 TB every day,” says Yliharju. This game data is used to improve the game experience with frequent updates pushed to the community. Amazon Glacier is used for long-term storage and backups.
Supercell uses Amazon Elastic Block Store (Amazon EBS) volumes for storage. “Amazon EBS was a natural option for us to start with—it helps us manage growth easily, and Provisioned IOPS (PIOPS) helps us run high-performance databases in the cloud,” Yliharju says.
“For our analytics needs, we wanted to keep the Hadoop and the related servers running 24/7 instead of booting them on demand,” Yliharju says. “It makes sense as there are always some queries running—the game teams run their hourly and weekly queries as well as some ad hoc queries to see what is happening with the community.”
The company also leverages AWS Support at the Enterprise-level tier. “AWS Support is always available whenever we need it,” Yliharju says. “For instance, when we have an issue, we have been able to find a solution to the problem at hand. In addition, we have plans to use AWS Support at the Enterprise-level tier in case we have similar issues in the future.”
Using AWS helps Supercell keep the focus on game development and keeping their players happy. “Since the launch of our two games, our player base has scaled at an incredible pace,” Yliharju says. “Using AWS means we don’t have to worry about managing our infrastructure to match our growth—AWS tools just do it for us.”
“The world of gaming never sleeps,” Yliharju concludes. “We owe every player a great experience, and AWS is our main tool to make that happen.”
To learn more about how AWS can help power your games, visit our Gaming details page: http://aws.amazon.com/game-hosting/.