Peak Games is a leading and rapidly growing online and mobile gaming company focused on creating and publishing games that fit the unique interests and cultures of Turkey, and Middle East and North Africa regions. Today, Peak Games unites 30 million monthly unique players with free, culturally relevant, community-driven games. The company’s Plus Studio, which has nearly 300,000 concurrent users, builds digital renditions of traditional and popular board, card, and table-top games; its War of Mercenaries reaches millions of mid-core gamers across different platforms. Peak Games’ game design is inherently social and community-driven as it usually requires multiple players to simultaneously sit at virtual tables to, for example, play a hand of cards. Games are played synchronously across multiple online and mobile platforms.
In 2011, Peak Games was using a co-located server solution but found that its devops team lacked the manpower to keep up with necessary tasks, such as scaling the infrastructure, managing backups, provisioning, setting up new servers, providing high availability to apps, and disaster recovery. “We had to provision servers through email and wait four to six hours,” says Serdar Sahin, Head of Cloud and Big Data Services. “If there was a problem, we had to manually import all the backups to new servers.”
Peak Games needed to avoid a large up-front investment and wanted a solution that would help it handle the unpredictable popularity of each newly launched game. The team sought a cloud solution that was scalable, provided flexible services, and yielded high availability.
Peak Games considered various providers and found that Amazon Web Services (AWS) had the greatest variety of choice in terms of infrastructure and services, such as Amazon ElastiCache, Amazon Relational Database Service (Amazon RDS), Amazon Simple Queue Service (Amazon SQS), Amazon Simple Notification Service (Amazon SNS), and AWS Identity and Access Management (IAM) and Amazon Redshift.
Using AWS enables the company to quickly create instances and import snapshots. “Whenever we launch a new application or game,” Sahin says, “we first determine the AWS services we can use, which greatly reduces time to market and devops overhead. We then scale our infrastructure based on the load. We only manage our own services like caching or database when we need to do more granular configuration.”
The company uses AWS to run its service, store information, communicate, and develop games. Peak Games uses Amazon Elastic Compute Cloud (Amazon EC2) for its game service, Amazon Simple Storage Service (Amazon S3) to store backups and other assets for games, Amazon ElastiCache to improve performance, Elastic Load Balancing to distribute traffic, and Amazon SNS for internal applications, including an internal marketing tool that allows the team to push notifications to mobile users. Peak Games also uses Amazon RDS for the beginning of the game life cycle, primarily for staging, testing, and development environments, allowing the company to be more agile and move a copy of a game very quickly to a development environment. See Figure 1 for an overview of Peak Games’ architecture.
Peak Games’ solution also uses the following tools: Red Hat Linux, Memcached, Cassandra, Redis, HAProxy, Nginx, PHP, Java, Node.js, and Puppet
When Peak Games first began using AWS, it started with a pilot project surrounding the game War of Mercenaries. The company determined which AWS services it would use, experimented with instance types to select the ones that would best handle Peak Games’ application loads, and then migrated its game database from MySQL to Amazon RDS. Migration went smoothly—the team migrated all mission-critical pieces for a game in less than two weeks and finalized the whole process in one month. After that, the company started servicing new games using AWS, including Hearts Plus and Spades Plus. The company also moved to service its big data and internal services, including but not limited to CRM, authentication services, APIs and data backup systems, using AWS.
For global games War of Mercenaries, Hearts Plus, and Spades Plus, Peak Games develops mainly with AWS. These games have users all over the world, including in the North America, Western Europe, Turkey, Middle East, and Far East Asian markets. Some of the internal services, such as APIs, have global reach. For Turkish games, the company uses a Turkish data centre to achieve lower latency.
Each game has unique development and infrastructure needs, and Peak Games tries to contain costs for each. A particular game may require more server resources to scale quickly, so the company allocates more than enough resources to handle the load, and then scales down. By using this strategy, the company has reduced its overall operational costs by about 15 percent and its time to market. “By using AWS, we’ve experienced a 75 percent decrease in time to market, which is one of our most important success factors,” Sahin says. “We’re developing new games constantly. Thanks to AWS, our devops team can set up the infrastructure for our new games while supporting our existing games.”
Peak Games has also been able to improve its A/B testing. When conducting A/B testing, the team creates log files for later analysis. With AWS, the team can store and analyse a high volume of logs cost-effectively with Amazon EC2.
Since using AWS, the time to provision a new server has been reduced from 4–6 hours to 5–10 minutes, greatly simplifying the team’s process and enabling its members to focus more on games and less on infrastructure. “If we had to manage our own dedicated servers, we might need two times more staff than we have,” Sahin says. AWS has also enhanced Peak Games’ backup system, increased availability and scalability for millions of gamers per week, increased flexibility in architecture changes and optimisations, and eliminated capacity planning.
To learn more about how AWS can help you deliver your games, visit our Game Hosting page: http://aws.amazon.com/game-hosting/.