AWS for Games Blog
Choose the right compute strategy for your global game servers
AWS Game Tech has more services than any other cloud provider. We also offer a variety of solutions for your game server compute needs. AWS provides world-class network performance, including 100 Gbps Ethernet performance for select instances, for the most scalable and elastic network for high performance computing for games. Game Tech’s global game server offerings give you secure, resizable capacity to run and operate your game with minimal latency at the lowest cost. In this blog, we’ll go over these offerings:
Amazon EC2: Run your own orchestration for game servers that use On-Demand Instances or Amazon EC2 Spot Instances.
Amazon ECS: Deploy multiplayer game servers using Docker or Windows containers with a managed service.
Amazon EKS: Deploy multiplayer game servers using managed Kubernetes service.
AWS Fargate: Use containers to run your servers without having to manage infrastructure.
AWS Lambda: Run event-driven code without having to spin up and manage a server.
Amazon GameLift: Scale your session-based, multiplayer game with dedicated servers.
Virtual machines
Amazon Elastic Compute Cloud (EC2): Amazon EC2 provides virtual server instances for a variety of platforms in the cloud. The option of bare metal instances provides your games with direct access to the processor and memory of the underlying server. This means that players don’t have to share computing resources. GPU compute and graphics instances are an excellent option for games with complex physics or graphics. EC2 Spot Instances offer unused EC2 instances for less than the On-Demand Instance price. This helps you save costs if you use these for stateful servers that require a constant connection. To learn more about EC2, check out the developer resources or get started building with EC2. Learn how Gearbox Software used EC2 to support millions of concurrent players and thousands of authentications per second for the worldwide launch of Borderlands 3. Or you can check out our reference architecture for asynchronous online games using EC2 and other AWS services.
Containers
Amazon Elastic Container Service (ECS): Amazon ECS offers highly scalable and fast container orchestration in a fully managed service with support for Docker and Windows containers. Amazon ECS includes multiple scheduling strategies for container deployment for different kinds of game functions—from stateless functions to batch processes. Amazon ECS is integrated with Elastic Load Balancing, which allows you to distribute player traffic across containers. To learn more about ECS, check out the Amazon ECS documentation. You can also check out how Palringo sped up their message routing from 500 messages per second to around 1,500 using ECS.
Amazon Elastic Kubernetes Service (EKS): Amazon EKS is a fully managed Kubernetes service that is deeply integrated with other AWS services like serverless compute and automatic scaling. This integration gives you a scalable and highly available control plane over your game servers. Amazon EKS provides an optimized Amazon Machine Image that makes it easier to run graphically intensive games. To learn more about Amazon EKS, check out the Amazon EKS user guide or get started deploying with Amazon EKS.
Serverless
AWS Fargate: AWS Fargate is a serverless compute engine that works with both Amazon ECS and Amazon EKS and enables you to use containers to run your game servers without having to manage the underlying instances. This takes away much of the infrastructure management, letting you focus on building your game. To learn more about Fargate, check out these getting started resources.
AWS Lambda: AWS Lambda lets you run code without having to spin up a server. This is great for asynchronous processes and one-off functions like a dynamic message of the day or delivering new content to players without needing an update to their game client. To learn more about Lambda, check out the getting started developer guide. You can also learn how Activision Blizzard uses Lambda to deliver personalized experiences to millions of Call of Duty players daily. You can also check out our reference architectures for inventory management, real-time analytics for mobile games, and push notifications using Lambda and other AWS services.
Dedicated servers
Amazon GameLift: Amazon GameLift enables developers to deploy, operate, and scale low-cost servers in the cloud for session-based, multiplayer games and save up to 70% compared to existing on-premises deployments. Built on AWS global computing infrastructure, GameLift helps deliver high-availability, high-reliability, flexible, low-latency, and low-cost game servers while dynamically scaling your resource usage to meet worldwide player demand. GameLift includes Amazon GameLift FleetIQ, which provides an extra layer of logic that makes it possible to use low-cost Spot Instances for game hosting while also managing game hosting tasks. GameLift FleetIQ makes Spot Instances viable for game hosting by reducing the impact of interruptions on your game servers. Plus, Amazon GameLift FleetIQ can be used independently of GameLift—so you can save costs with whichever compute strategy you choose. GameLift FlexMatch is a customizable matchmaking service that lets you build teams for your game matches. It also enables you to select compatible players and find the best available hosting resources for an optimum player experience. To learn more about GameLift, check out our developer guide or read how Illfonic reduced game interruptions and cheating using GameLift dedicated servers. You can also view our reference architecture using the managed GameLift service.
However you want to manage your game servers, AWS Game Tech has you covered. Check out our Make It page to see where else Game Tech offers to enable you to build faster, operate smarter, and create great games.