Founded in 2010, Twiitch is a video game software development studio based in Melbourne, Australia. Founders Shane Stevens and Steven Spagnolo launched Twiitch to focus solely on mobile and social gaming applications. Their latest release, KartWorld, is a real-time racing game for Facebook that has attracted approximately 600,000 players since its launch.
As a start-up, Twiitch faced major scalability issues and needed to control its costs. Twiitch could not predict how many people would play its games and how much data it would amass, making it difficult to calculate the servers, storage and database resources that the fledging company would need.
“When it was time to build the backbone for our social platform, we wanted to choose a partner that could grow with and, more importantly, scale with our needs,” says Shane Stevens, Chief Technology Officer for Twiitch.
Twiitch wanted a service provider with experience in the gaming industry and regarded Amazon Web Services (AWS) as a major provider of services for video game developers. The gaming software company also liked the service level agreements (SLAs) and pricing structure that AWS offered. “Our games are designed to be played in real time,” says Stevens, “so we cannot afford any prolonged outages.”
Twiitch uses Amazon Route 53 to map its domains—Twiitch.com, the URLs that support KartWorld, and its analytics and testing domains—into the Amazon Elastic Compute Cloud (Amazon EC2). “We wanted to have all our domain name systems (DNS) under one roof, so if we made any changes, we could be sure they would be quickly and effortlessly propagated,” Stevens explains. “We use Amazon Route 53 to map and route the domain name into the AWS Cloud and Elastic Load Balancing (ELB) to ‘pipe’ it out to machines.”
Twiitch uses AWS Elastic Beanstalk to scale with demand. “We can allow for a minimum of 5 and a maximum of 50 machines, and can scale up and down within that range,” Stevens explains. “We can push a new version of our game and it will automatically deploy to all the different Amazon EC2 instances. That is incredibly useful for us. We would have to write software to do this if AWS Elastic Beanstalk was not available.”
All the assets, user data, and developer logs associated with a game are stored in the same Amazon Simple Storage Service (Amazon S3) bucket, which currently holds about 2.5 TB of data. Twiitch can update all the data in one place and then push out changes to its delivery networks. The company’s analytics platform runs on Amazon SimpleDB and it uses Amazon DynamoDB for fast, scalable NoSQL queries. “The database also takes care of space partitioning, meaning that as our data volumes grow, it’s a natural fit for our use-case,” says Stevens. “Moving forward, we will transition completely to Amazon DynamoDB.”
“When we first launched AWS, we were seeing new users join KartWorld at a rate of one per second,” Stevens explains. “They typically continued to use the extended services as real-time players. That meant users were firing events at our analytics platform and storing gaming information in the database in real time. We were watching, and the AWS infrastructure held up beautifully.”
At first, Twiitch thought there was a bug because the performance graphs were all flat. “We quickly realized that it meant everything was ticking along and working well within parameters,” says Stevens. “When we saw lower CPU utilization, we realized that we didn’t need large, expensive servers. We were able to scale our servers horizontally instead of scaling them up vertically and use inexpensive micro instances. Now we have a greater number of instances that are less expensive and works well with our custom server code.”
“The inherent flexibility of AWS gives us the ability to optimize the infrastructure and match it to our usage pattern,” he continues. “We were able to save approximately 75 percent in computing costs without affecting performance.”
Stevens concludes, “What I really like about AWS is that the company listens to its customers and is constantly trying to expand its services.”
To learn more about how AWS can help your game hosting needs, visit our Gaming page: http://aws.amazon.com/game-hosting.