Wednesday, January 13, 2016

Moving Your Game Server to Amazon Web Services



This week, Riot Games, legendary developers of the hit MOBA game League of Legends, released a blog post framing their move from in-house data centers to the Amazon Web Services (AWS) cloud.

The benefits of moving to Amazon's virtual machines are countless, but in my opinion here are the 5 biggest points:

  1. Dynamic, Scalable Solutions: AWS is a scalable solution that is pay as you use. Do you have a highly dynamic user base? An in-house solution would normally be setup to always be ready to service those heavy loads, and would be extremely wasteful during off-peak hours. In comes AWS, where you can spin off new instances as your load increases, and remove those instances as traffic decreases. By dynamically handling these requests, and only charging you for what you use, introducing AWS to your technology stack can save you a surprising amount of cash while adapting to unexpected loads.
  2. 24x7 Support: With clients such as Riot Games, Rovio, Ubisoft, and Lung, it can be assumed that the support staff at AWS is readily-equipped to solve problems that you and your team may not have run into personally. Of course, it can be assumed that lower-paying customers receive less support, so your expectations may have to match. If you can trust Amazon like these established companies do, then I can guarantee you're in for a treat from their experienced firefighters.
  3. Security: AWS offers a large suite of security features that would normally have to be programmed by your development team. On top of regular security concerns, one of the best included is single sign-on.
  4. Data: One of the most expensive parts about an in-house server is the data storing. If you plan on introducing higher granularity data for your team to do analytics on, it might be the right time to move to AWS. Riot cites a problem where they once had to reduce their data backups to a scarily-low 2 instances. AWS will allow you to host more data for cheaper, and offers solutions to backup that data without a sweat.
  5. Cloud Computing: I am guilty of doing a lot of my heavy analytics and computing tasks on my local machine. Amazon offers a lot of computing resources in the cloud, allowing your analytics and simulations teams to offload their heavy tasks to the cloud. AWS lets you easily spin off new machines that run these tasks on the same production data with relative ease.

If you haven't checked it out already, the Riot engineering blog is full of goodies about their struggles. Those familiar with League of Legends will know that Riot is infamous for writing spaghetti code leading to hilarious in-game bugsThis post in particular highlights a lot of the changes their developers are making to actively solve this problem.

Want to learn more? Check out the AWS YouTube page which hosts a number of talks from the 2015 AWS re:Invent, including the Keynote talk by Andy Jassy.


No comments:

Post a Comment