
The high cost of free products: Agones

At Edgegap, we've been focused on making it streamlined for developers to use distributed infrastructures. Our platform, based on containerization and micro-services, automates the deployment and management of game servers on a highly distributed infrastructure so game studios can focus on what matters to their game and their players.
We sometimes meet game studios that compare what we do with the Agones project. However, we've seen that for certain use case that Agones was not ideal, and the costs of running and managing it can quickly become prohibitive.
Is Kubernetes Heading Toward Managed Services?
Ten years ago, every company hosted and managed its own email servers. Microsoft was selling licenses for their on-premises mail server, Microsoft Exchange, like candies. Today? Most SMBs are using a managed email server. Microsoft does not release the breakdown between Office 365 and Exchange self-hosted licenses, but they are directly correlated in the opposite direction. Within a few years, the same will likely be said about Kubernetes and services built on top of it.
Isn’t Agones just a Simple Software?
What Does Running Agones Actually Involve?
On the surface, Agones sounds like a dream for most game developers working on multiplayer games. It is an open-source fleet management software built on top of Kubernetes to manage and scale game servers on demand.
However, dev teams may find that the operational reality is more demanding than expected. Running Agones is both challenging and time-consuming, even for experienced teams. It requires a deep understanding of the technology itself and the right kind of expertise to maintain and manage the cluster properly. This is especially true for highly distributed clusters, which can be even more complex. As the number of regions and countries increases, so does the complexity of managing the deployment and configuration of the cluster, which can make it difficult to ensure that all cluster components are correctly configured and working together.
Being an open-source project, the cost of the Agones software itself is typically free, which sounds great. However, you'll quickly realize that the costs and resources to set up and manage it can become substantial.
Installing and managing Agones requires a good understanding of Kubernetes (K8), Linux operating systems and proficiency in a programming language like Python or Go. In addition, engineers must have experience with containerization technologies like Docker and containerD and be familiar with networking, security, and automation. Lastly, your team needs to have know-how on cloud-based technologies or on-premises hardware. That's probably why DevOps engineers in the Bay Area earned, on average, USD 200k per year as of late 2022.
The cost of the underlying infrastructure will depend on where you choose to host your Kubernetes cluster(s). For example, suppose you host it on your hardware. In that case, the cost will be the physical servers' price, electricity, and other resources needed to run them, along with insurance for the building, engineers, and everything in between. If you host it on a cloud provider, the cost will be the price of the virtual machines and any other services that you use, such as storage and networking. Cloud infrastructure bills can grow quickly across line items like public IPs, network traffic, load balancers, storage, API calls, and support fees -- and the full picture is often harder to read than it should be. We built our pricing calculator specifically to give studios a clearer view of what game server hosting and orchestration actually costs.
In addition to the infrastructure and software costs, there may be costs associated with any additional tools or services you use with Kubernetes. For example, you may need to pay for a load balancer, monitoring and logging services, or a continuous integration and deployment (CI/CD) platform. The specific costs will depend on the tools and services you choose.
It's easy to assume a low-cost virtual machine will be sufficient to run this open-source software, but the total infrastructure cost is typically much higher.

Heading towards Managed Services
Like the transition from Exchange servers a few years ago, managed services have started replacing self-hosting. Using a fully managed Kubernetes service provides many benefits. For starters, it takes the burden of managing and maintaining the cluster off your hands. This can save your team significant time and effort, allowing them to focus on more important tasks.
Additionally, a fully managed service can provide access to expert support and guidance. This can be especially useful for organizations new to Kubernetes or unsure how to utilize the technology best. With a managed service, you can get help and advice from experienced professionals who deeply understand the technology and can provide valuable insights and guidance.
Another advantage of using a fully managed Kubernetes service is the ability to scale quickly and easily. Once your organization grows, and your workloads become more complex, a managed service can provide the flexibility and scalability you need to keep up. This is especially important for highly distributed clusters, which can be challenging to manage and scale independently. Your goal is to make a great and successful game rather than to handle the underlying plumbing that serves your game to players.
Overall, using a fully managed Agones/Kubernetes service can provide many benefits, including saving time and effort, access to expert support, and the ability to scale quickly and easily.
The real question is: do you even need Agones in the first place?
Kubernetes was initially made for web-based technologies. They manage thousands of stateless connections, serving small requests for a fraction of a second. Game servers are the opposite of this philosophy. Game servers and relays are stateful, managing persistent connections for 5 to 45 minutes.
The gaming industry is used to configuring as many servers as possible and having them "standing by" for players to connect. AWS Gamelift has been a precursor of this architecture. With this architecture in mind, Agones is a CRD to enable such standby servers within Kubernetes. However, having standby instances is unnecessary and brings little value considering Kubernetes is not meant to manage such stateful applications in the first place.
Since its launch in 2018, Agones has struggled to find a clear fit: the complexity can be prohibitive for smaller teams without significant dedicated engineering resources, while larger teams often need highly distributed capabilities it wasn't designed for.
Take the good of Agones architecture, leave the bad behind (or to someone else)
Agones takes as input from you, the game developer, a container image. For those who don't know, containers are a popular technology for deploying and running applications in a lightweight and portable manner. They offer several benefits compared to virtual machines and bare metal servers, including increased efficiency, portability, and flexibility.
One of the main benefits of containers is that they are more efficient than virtual machines or bare metal servers. Containers share the host operating system, whereas each virtual machine runs on its guest operating system, which can be resource intensive. By sharing the host operating system, containers can use fewer resources and provide better performance than virtual machines.
Another benefit of containers is their portability. Unlike virtual machines, which are tied to a specific hypervisor and host operating system, containers can be easily moved between different environments and platforms. This makes it easy to deploy and run your applications on other infrastructures, whether on-premises, in the cloud, or on a hybrid setup.
In addition to increased efficiency and portability, containers also provide greater flexibility. With containers, you can easily package and deploy your game and its dependencies as a single unit, which makes it easy to update and maintain your applications. This can be especially useful for microservice architectures, where applications are broken down into smaller, independent components.
Agones' Slow Server Boot Time
The final challenge of Agones is its ability to boot game servers quickly to meet the expected player experience.
As highlighted by real world testing on PUBG, KRAFTON's DevOps Team Lead JungHun Kim presented that Agones' overall server boot time when scaling can be 10-15 minutes between instance provisioning (1-3 minutes), instance bootstrapping (2-3 minutes) and pod provisioning (5-10 minutes) without adding the integration of Karpenter, as presented at AWS re:Invent 2024:

This means that players waiting for a game server to be deployed have to wait in a queue while the current resource is recycled. More concretely, it means a game server isn't able to be deployed and players waiting in queue get frustrated and stop playing your multiplayer game completely -- per Edgegap's Online Latency Report, 34% will churn from your game under these conditions.
Meanwhile, thanks to its highly optimized co-tenancy approach, Edgegap's platform delivers game server boot times from cold start averaging 3 seconds (as of writing), per Philip Cote, CTO at Edgegap.
Velocity vs. Do-it-Yourself
There is a growing set of vendors proposing SaaS environments for game developers to host and manage the lifecycle of their games without the overhead of running Agones and Kubernetes directly. The gaming industry has a long tradition of building custom infrastructure, and Agones reflects that instinct -- though the managed services trend is shifting that calculus. The primary driver to manage Agones internally is often a preference for control and customization, but this comes with meaningful overhead that studios should weigh carefully against development velocity. The tradeoffs -- in cost, time, and player experience -- ultimately fall on the studio and its players.
Written by
the Edgegap Team










