Game Maker Pairs AWS, Docker & Kubernetes for Scalability, Efficiency
- May 21, 2019
Developing games is much like the movies, novels, or any other business that relies on the ever-changing taste of popular culture. While not every game, (or book or film for that matter) will be a hit, which one will ultimately skyrocket in popularity remains more art than science. However, that doesn’t mean that the infrastructure supporting them needs to be an artistic production. Drawing another kind of aesthetic, the development team at our customer, who creates and markets video games, has applied the latest developments in DevOps automation to streamline its infrastructure, optimizing the technology and HR resources needed to support each of its games.
Early on, the customer team knew that they wanted to containerize their services. They started a containerization project and found at the time that AWS resources were wanting. As a result, they looked to Kubernetes to address container orchestration in AWS. However, they soon realized that as a small technology team, doing Kubernetes right would be a challenge. Unlike Amazon services, there’s no easy-to-use dashboard and configuration is complex as Kubernetes offers many architectural options, add-ons, and design choices. As a result, development team decided they needed an AWS and Kubernetes Sherpa to help navigate these options in order to build the strongest foundation possible. The team called in the AWS Premier Consulting Partner Flux7 to help.
The Docker, Kubernetes & AWS Migration
The development firm wanted a no-downtime migration from the small cloud vendors it was using to a best-in-class AWS and Kubernetes solution. They sought a fast deployment, with full CI/CD for a few initial games that could, in turn, be used as a model for moving other games to the Docker containers in AWS infrastructure.
Specifically, the company had legacy infrastructure it wanted to modernize. As a result, the DevOps consulting team at Flux7 helped to migrate the gaming provider’s legacy infrastructure to the AWS platform. In the process, the teams worked together to containerize systems using Docker and Kubernetes for container orchestration.
An AWS migration of its highest volume services to Kubernetes without downtime — or interruption to the customer — and with security controls built in was imperative. To achieve this, Flux7:
- Migrated the company’s platform and Ad Server to Docker containers on AWS.
- Migrated four initial games and administration. These four games now serve as a template for migrating future games to the new AWS DevOps-Docker-
- Kubernetes environment.
- Developed a container and image pipeline.
- Developed a Landing Zone complete with TerraForm for non-KOPS resources, private subnets in VPCs using KOPS, and a full transit VPC setup.
- Established security inspectors in the form of AWS Config rules and CloudTrail across AWS regions.
A key challenge of the project was to strike a balance between infrastructure costs, system complexity and DevOps maturity. In the end, the teams were able to strike a balance that allowed it to maximize productivity gains from the use of Kubernetes, which quickly outweighed associated infrastructure cost.
As an example, the company has an ad server which serves 15,000 events per second — infrastructure that typically would require a lot of management time and resources from a small development team. The ad server has been containerized with Docker, and is now deployed on AWS with orchestration provided by Kubernetes. The new ad server microservices infrastructure has allowed the gaming provider to effectively maximize the use of its team resources.
With the new architecture, our customer can now support a game that has tens of millions of users with a single headcount, compared to an industry standard of three or four employees. “One of the big wins of using Kubernetes on AWS is that it takes a lot of operations burden and reduces it to a small level, enabling a small headcount,” said the company’s technical director.
Since the migration, the IT Operations team reports that they hardly ever get called about services. “It’s awesome and surprising,” the director reports. However, the biggest benefit is that they can now support a single game with as little as a single person, re-allocating resources and headcount to new games and services. That’s a big deal. According to the technical director, “Game development companies are a ‘hit-driven’ business; for every handful of games that are developed, only one will be a hit. Keeping headcount and other costs down is critical, as one never knows which game will become a hit — or when it’ll happen. Moreover, once a game hits, we need to scale quickly.” The new AWS-powered microservices architecture allows them to do just that.
As a small gaming company with huge reach, optimizing resources is critically important. DevOps automation supported by AWS services, Docker containers and Kubernetes orchestration allows this gaming firm to now easily scale and serve its tens of millions of customers. As it continues to expand its successful portfolio with new games, it can apply the same principles to additional games, ensuring their extreme scalability should it become the next hit.
ResourcesRead a case study: Renovating Systems of Differentiation and Innovation Without Customer Disruption, Point and Click Launch of Kubernetes Clusters on AWS Speeds Time to Market
Planning a cloud migration? Read our whitepaper “Strategies for Large Scale Cloud Migrations”