免费产品的高成本:阿戈尼斯

关键洞察

关键洞察

关键洞察

Edit (2025.10): In September 2025, Mark Mandell who is original creator of Agones who now left Google, created a proposal for Google to accept to move the open-source project to the Linux Foundation. Google has not acknowledge this request.

Mark Mandell himself is very clear on the potential for Agones to become another "Google graveyard" project:

If I had to predict what will happen in this scenario, it is that maintainers, including myself, will start to leave the project out of frustration and burnout, since lack of control, and support are leading causes of burnout.

To be honest, I'm already personally feeling this, after multiple emergencies outside of my control, frustration on getting reviews for work done and a general feeling of lack of support from Google.

In this world, the project likely enters a slow death as the project has little to no leadership or community support.

  • Mark Mandell, "Proposal: Migrate Agones to the Linux Foundation" (GitHub)


在 Edgegap,我们一直专注于让开发人员简单地使用分布式基础设施。我们的平台基于容器化和微服务,自动化游戏服务器在高度分布式基础设施上的部署和管理,以便游戏工作室可以专注于他们的游戏和玩家所关注的内容。我们有时会遇到将我们所做的与 Agones 项目进行比较的游戏工作室。然而,凭借经验,我们发现 Agones 并不是为高分布式而设计的,运行和管理它的成本很快会变得不可承受。

Kubernetes 正在朝着与邮件服务器相同的方向发展

十年前,每家公司都在托管和管理自己的电子邮件服务器。微软像卖糖果一样出售其本地邮件服务器 Microsoft Exchange 的许可证。现在呢?大多数中小企业正在使用托管电子邮件服务器。微软没有发布 Office 365 和自托管 Exchange 许可证的数据分解,但它们在相反的方向上直接相关。在几年内,关于 Kubernetes 及其上构建的服务(如 Agones)也会有相同的说法。

Agones 不只是简单的软件吗?

乍一看,Agones 对大多数开发多人游戏的游戏开发者来说听起来像是一个梦想。它是一个开源的舰队管理软件,基于 Kubernetes 设计,用于按需管理和扩展游戏服务器。

然而,开发团队会很快意识到,梦想可能变成噩梦。即使是经验丰富的团队,运行 Agones 也是既具有挑战性又耗时。它需要对技术本身有深入的理解以及维护和管理集群所需的正确专业知识。尤其对于高度分布式的集群,这一点尤其如此,因为它们可能更加复杂。随着地区和国家数量的增加,管理集群的部署和配置的复杂性也随之增加,这可能让人很难确保所有集群组件正确配置并协同工作。

作为一个开源项目,Agones 软件本身的成本通常是免费的,这听起来不错。然而,你会迅速意识到设置和管理它的成本和资源可能会变得不堪重负

安装和管理 Agones 需要对 Kubernetes (K8)、Linux 操作系统有良好的理解,并能熟练使用 Python 或 Go 等编程语言。此外,工程师必须具备使用 Docker 和 containerD 等容器化技术的经验,并熟悉网络、安全和自动化。最后,你的团队需要对基于云的技术或本地硬件有了解。这可能就是为什么湾区的 DevOps 工程师年薪平均达到 20万美元。

基础设施的成本将取决于你选择在哪里托管 Kubernetes 集群。例如,假设你在自己的硬件上托管集群。在这种情况下,成本将包括物理服务器的价格、电费和运行它们所需的其他资源,以及建筑物、工程师和其他相关费用的保险。如果你在云服务提供商上托管,那么成本将是虚拟机器的价格以及你使用的任何其他服务,比如存储和网络。作为一个每月试图理解云发票的个人,我确认这可能迅速转变为一份昂贵的账单(公共 IP、网络流量、负载均衡、存储、API 调用、支持费用……)

除了基础设施和软件成本外,与使用 Kubernetes 的任何附加工具或服务相关的成本也可能存在。例如,你可能需要为负载均衡器、监测和记录服务,或持续集成和部署 (CI/CD) 平台支付费用。具体成本将取决于你选择的工具和服务。

不要自欺欺人,你可能认为每月 50 美元的虚拟机足以运行这个开源软件,但现实远非如此。

迈向托管服务

就像几年前从 Exchange 服务器的过渡一样,托管服务已开始取代自托管。使用完全管理的 Kubernetes 服务提供了许多好处。首先,它将管理和维护集群的负担从你身上解脱出来。这可以为你的团队节省大量的时间和精力,让他们专注于更重要的任务。

此外,完全托管的服务可以提供专家的支持和指导。这对于对 Kubernetes 新手或不确定如何最好利用该技术的组织尤其有用。通过托管服务,你可以获得来自经验丰富的专业人士的帮助和建议,他们对该技术有深入的理解,能够提供宝贵的见解和指导。

使用完全托管的 Kubernetes 服务的另一个优势是能够快速轻松地扩展。一旦你的组织增长,工作负载变得更加复杂,托管服务可以提供你需要的灵活性和可扩展性。这对高度分布式的集群尤其重要,这些集群很难独立管理和扩展。你的目标是制作一款优秀且成功的游戏,而不是处理为玩家提供游戏所需的基础设施。

总体而言,使用完全托管的 Agones/Kubernetes 服务可以提供许多好处,包括节省时间和精力、访问专家支持,以及快速轻松地扩展的能力。

真正的问题是:你首先需要 Agones 吗?

Kubernetes 最初是为了基于网络的技术而设计的。它们管理数千个无状态连接,在几分之一秒内处理小请求。游戏服务器则与这一理念完全相反。游戏服务器和中继是有状态的,管理着持续连接,持续时间为 5 至 45 分钟。

游戏行业习惯于配置尽可能多的服务器,并让它们“待命”以便玩家连接。AWS Gamelift 一直是这种架构的前兆。基于这种架构,Agones 是一个 CRD,用于在 Kubernetes 内启用此类待命服务器。然而,拥有待命实例并非必要,而且考虑到 Kubernetes 本身并不是为了管理此类有状态应用程序而设计的,因此带来的价值很小。

事实是,自 2018 年推出以来,Agones 一直是在寻找问题的解决方案。它对于小团队来说过于复杂,无法设置和管理,而它不会解决更大型团队对高度分布式服务器的需求。

取其精华,去其糟粕 (或交给其他人)

Agones 以配置的容器映像作为输入,由你这位游戏开发者提供。对于那些不知情的人来说,容器是一种在轻量且可移植的方式下部署和运行应用程序的流行技术。与虚拟机和裸金属服务器相比,它们提供了几个优点,包括提高效率、可移植性和灵活性。

容器的主要好处之一是它们比虚拟机或裸金属服务器更高效。容器共享主机操作系统,而每个虚拟机都在其客户操作系统上运行,这可能会消耗大量资源。通过共享主机操作系统,容器可以使用更少的资源,并比虚拟机提供更好的性能。

容器的另一个好处是它们的可移植性。不同于绑定于特定虚拟机监控程序和主机操作系统的虚拟机,容器可以轻松在不同的环境和平台之间移动。这使得在其他基础设施上(无论是本地、云端或混合设置)轻松部署和运行应用程序成为可能。

除了提高效率和可移植性之外,容器还提供更大的灵活性。使用容器,你可以轻松将游戏及其依赖项打包并作为一个单元部署,这使得更新和维护应用程序变得简单。这对于将应用程序分解为更小的独立组件的微服务架构尤其有用。

Agones 的慢服务器启动时间

Agones 的最终挑战是其快速启动游戏服务器的能力,以满足预期的玩家体验。

正如 KRAFTON 的 DevOps 负责人 JungHun Kim 在 PUBG 的实际测试中强调的那样,Agones 的整体服务器启动时间在扩展时可能需要 10-15 分钟,其中实例配置 (1-3 分钟)、实例启动 (2-3 分钟) 和 pod 配置 (5-10 分钟):

As highlighted by its real world testing on PUBG, KRAFTON's DevOps Team Lead JungHun Kim highlighted 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)

这意味着等待游戏服务器部署的玩家必须在等待当前资源回收时排队。更具体地说,这意味着游戏服务器无法部署,等待排队的玩家会感到沮丧并停止玩你的多人游戏,正如在线延迟报告中所示,有 34% 的玩家会退出你的游戏

与此同时,得益于其高度优化的共存方法,所有使用Edgegap 平台的游戏都确保游戏服务器从冷启动平均只需 3 秒,正如 Edgegap 的首席技术官 Philip Cote 所说。

Agones 的谷歌所有权

尽管 Agones 自称为开源软件,但实际上由谷歌控制。

Agones 的创建者 Mark Mandel 在 2024 年离开谷歌时在 Agones Slack 频道的消息中强调了这一点。他指出,尽管社区可能会贡献改进,但只有谷歌才有权批准它们。在这个例子中,他指出“最新的带修复的 Helm 版本坏了,”但是“我或任何不在谷歌的其他贡献者无法访问生产谷歌项目,因此我们必须等待他们修复问题。

正如谷歌有历史上中止它失去兴趣的项目,Agones 也可能很容易停止接收更新——这使其面临关键问题、安全漏洞等风险。因此,每个开发者都应该考虑他们是否希望将其基础设施与谷歌维护 Agones 的意愿联系在一起。正如 Mark 自己所说:“为了这个项目的长期存续,我真的认为我们不能让生产系统的访问仅限于谷歌。”迄今为止,谷歌尚未表明是否打算向 Agones 社区提供更广泛的访问权限。

请参见下面 Mark Mandell 的完整消息:

不幸的是,我或任何其他不在谷歌的贡献者无法访问生产谷歌项目,因此我们必须等待他们修复问题。 请参阅我在上面线程中的先前评论,关于我撰写提案将其移动到 Linux 基金会——为了这个项目的长期存续,我真的认为我们不能让生产系统的访问仅限于谷歌,而且社区在谷歌云项目中没有输入或监督。

  • Mark Mandel,Agones 的创建者,2025 年 9 月 27 日

速度 vs. 自助 DIY

有一群新兴供应商为游戏开发者提供 SaaS 环境,让他们在不必处理 Agones 和 Kubernetes 的麻烦情况下托管和管理游戏生命周期。出于某种原因,游戏行业总是试图不断重新发明轮子,而 Agones 就是这种情况之一。从成本角度、速度和服务质量来看,唯一驱动内部管理 Agones 的原因是为了取悦希望继续管理服务器而不是进行高效游戏开发工作的后端开发人员。最终,游戏工作室和玩家通常为此付出代价。

书写者

Edgegap团队

Get your Game Online Easily & in Minutes

Get your Game Online Easily & in Minutes