For the past few years, AWS Gamelift has been a dominant solution for game studios looking for a reliable and highly scalable infrastructure for their game servers. However, containerization has now made it possible for studios to easily replicate and improve on what Gamelift was previously touting as their competitive advantage.
AWS Gamelift was there at the right time for game studios
There’s no question that AWS Gamelift is one of the most used solutions for big and small game studios. Its dominance can be explained by the real advantage it was offering to studios in a time of need. If we go back a few years, game studios were being left behind in the great wave of cloudification of infrastructure because of cost issues. Unlike most applications, game traffic can jump anywhere from 2 to 10 times more traffic during a peak hour against the low on an average day. Combining that with the fact that game servers require a good amount of CPU and memory to run consistently, the gaming industry simply could not justify the switch from bare metal servers to using cloud computing because of its inherently higher costs.
In comes AWS Gamelift; the saviour for Technical Directors and CTOs worldwide. You could now scale your infrastructure on-demand based on traffic, and pay only for the capacity used at any moment. Simply configure your game server environment that needs to be replicated, request new servers when you see more demand, and close down servers when your player base is going back to school after a sleepless night of playing your awesome game.
Now, if you’re a developer and not living under the rock, the advantages mentioned in the previous paragraph should ring a bell:
- Deployment consistency – CHECK
- Scaling based on traffic – CHECK
- Cost based on actual usage – CHECK
Wait, that’s just what a container does! Why didn’t game studio just build a container-based infrastructure instead? The answer is quite simple really, containers were just not seeing the adoption rate they are receiving today back in 2018 when AWS Gamelift launched. But things are slowly changing…
Containerization does everything Gamelift does, but better
Now, we’ve seen a few points that show how Gamelift is offering benefits similar to containerization. However, Gamelift is unfortunately not a container solution; it still runs a game server binary and all its dependencies in a VM somewhere, with all the difficulty this can bring. If it were a container-based solution, it would also benefit from:
- Mobility: take your container and you can run it anywhere, not just AWS.
- Reliability through cattle-like infrastructure: if something’s not working, automatically kill it and launch a new one.
- Scaling efficiency: containers can be launched within seconds. AWS Gamelift is slow and must be scaled pre-emptively, with a constant fleet of costly empty servers just waiting for players to come.
- Easy updates and rollbacks: containers are easily versioned, retaining all configs and dependencies internally. It’s easy to have multiple versions running at the same time, and simple to rollback in case of issues.
Containers: Capacity scaling follows precisely the player demand curve.
Cloud (Gamelift): Extra unused capacity must always be available in case of increasing player demand.
Hybrid Cloud: A cheaper base of bare metal servers is used, sitting idly when demand is low, and extra scaling is done on the cloud, again with extra unused capacity.
Bare metal: Capacity is fixed, and so must be able to handle the peak of players, resulting in a lot of over-capacity for most of the day.
With the right tools, containers make things simpler for developers and better for players
Containers are great by themselves, but with the right tools and the right partners you can start seeing some of the future-looking things that only containerization can bring:
- Multi-cloud, Multi-edge, or Hybrid: mobility means you can run your containers anywhere. So why not run them… everywhere? It’s easy to bring your game servers closer to your players with a multi-provider approach, which can result in lower latency and improved user experience. You might even incur cost savings just based on choosing the cheapest location amongst different providers in the same city.
- Global distribution without global costs: Not sure if your game will be successful in the Middle East? Unsure if players from South Korea will find your main character culturally relevant? It doesn’t matter! You don’t need to setup game servers in the faint hope that some players will join, and incur costs just to test a new market. Containers can be deployed within a few seconds when the players want to play, where they want to play.
- Precise visibility on any deployment: one of the big complaints when talking about cloud infrastructure is its lack of transparency. With containers, studios have full observability on how their application is behaving at any time in terms of resource usage, performance, deployment traceability, etc.
- Automated management: no more regions to manage, no more server provisioning, server self-regulation, which all translates into having fewer people and resources to manage the backend.
So, what’s the future for AWS Gamelift?
AWS Gamelift was a fantastic product for its time, but it was only a matter of time before it got supplanted by better, more flexible technology. AWS Fargate is a container-based solution that could be used for game studios, but when it takes 45 seconds to 2 minutes to start up an instance while your players are waiting, that’s not a great player experience. Azure and Google have been trying to copy the success of AWS Gamelift with their own products for the past few years, but haven’t gotten much success. Google Agones has the right idea, but the wrong implementation; it manages a fleet of servers, albeit containerized, but still needs to be scaled up and down based on requests made by the game studio. That brings all the disadvantages of Gamelift, with a few of the advantages from containerization. Ok, Google? Azure might have more luck combining their Azure Container Instance offering with their Playfab backend services, but they seem too busy fixing the infrastructure problems for their own games to figure out how to make a compelling offer for other game studios.
There are a few solutions popping up that can ease the transition from AWS Gamelift to a container-based orchestration solution. But for Gamelift to stay relevant in the near future, they will need more than a Facelift… (Yeah, I really just ended this article with this horrible pun)