了解Edgegap的工作原理

了解Edgegap的工作原理

工作室工程的隐性成本:Agones

已发布

已发布

已发布

Edgegap 洞察系列横幅,上面有白色文字“Deconstructor of Fun 剖析游戏工作室工程的隐藏成本”,背景为蓝色渐变,右侧白色方块上是 Agones 徽标,左下方是 Edgegap 徽标。

关键洞察

关键洞察

关键洞察

  • 免费许可证是 Agones 最昂贵的地方:下载它需要 0 美元,而这正是其真实成本从未出现在预算表上且无需任何人批准的原因。

  • 集成成本为 4.2 万美元,三年内的运营和维护成本高达 56.7 万美元:集成是工作室计划中的数字。Deconstructor of Fun 的 TCO 计算器对其后产生的费用估价要高出 2 到 12 倍。

  • Agones 不是项目本身,围绕它构建的脚手架才是:KRAFTON 采用了 Karpenter,并在 Agones 之上构建了容器镜像仓库代理,将《绝地求生》(PUBG) 会话服务器的启动时间从 15 分钟以上缩短到 3 到 4 分钟,而这仅仅是所需额外集成的一部分。

  • 维护比构建更长久:Yazıcı 引用的基准测试表明,每年的维护费用占构建成本的 15% 到 25%,占整个生命周期总成本的 60% 到 80%。

  • 构建成本不等于服务器账单:编排的经常性价值在于填充率,而无论是否有玩家在玩,闲置容量都会被消耗。

Aylin Yazıcı(Deconstructor of Fun 顾问兼 Ciao Games 业务发展经理)于 2026 年 7 月为游戏工作室发表了一份自研与购买的对比分析报告(《工作室工程的隐藏成本》),指出内部工程构建的成本几乎总是高于工作室自身的预估,并随之发布了一个总拥有成本计算器。她的写作背景源于她在工作室内部工作并领导过工作室的经历,以及对几家顶级免费游戏发行商中心技术团队的尽职调查。

间接地,这为所有工作室提供了一种方法,可以用数字来量化通常凭直觉做出的决定。因此,我们在一个特定版本上运行了她的计算器:采用 Agones。

当软件免费时,会计错觉会变得更糟

世嘉在第三季度财报中录得 对 Rovio 减值拨备 2 亿美元。Yazıcı 以这个数字开头,并指出 Rovio 的内部技术团队对此负有责任。她的另一个例子是微软解雇了 id Software 的技术团队(Doom、Quake 和 Wolfenstein 背后的功臣)。

然后她描述了每个工作室都开过的那种会议。演示进行顺利,产品扎实,要使用它的团队也想要它。然后,一位资深工程师或首席技术官脱口而出:“我们为什么不自己做呢?” 于是该工具被放弃,项目启动了,正如她写道,“从来没有人真正去计算实际成本。”

她的诊断是财务会计层面的。许可证会出现在预算表上,需要审批。而内部构建则隐藏在现有的薪资和冲刺周期中。

“会计核算让内部构建看起来像是免费的,但事实并非如此。”

Agones 是这一现象的放大版,因为该软件确实是免费的。没有可以对比的报价,没有需要审批的预算条目,因此没有任何人被强求给出一个具体的数字。

Agones 并不是项目本身,围绕它的平台才是。

采用 Agones 并不意味着编写一个编排器。它的确意味着运行一个编排平台,这也是该项目对自身的定位:“基于 Kubernetes 的开源多玩家专用游戏服务器伸缩和编排平台”。

平台是关键词。Agones 处理 GameServer Pod、Fleet 和 FleetAutoscaler。平台所需的其他一切都需要由您提供:节点置备和伸缩、镜像镜像仓库和分发路径、监控和日志记录、容量缓冲、机密信息、群集的 CI/CD、用于分配的状态和数据库访问、告警,以及在 Fleet 无法填满时值班的人员。

《绝地求生》(PUBG: BATTLEGROUNDS)是一个很有参考价值的案例,因为 KRAFTON 公布了相关数据。在他们的 AWS re:Invent 2024 专题演讲中,DevOps 团队负责人 JungHun Kim 将 Agones 上的会话服务器启动时间分解为三个阶段:实例置备 1 到 3 分钟、实例引导 2 到 3 分钟以及 Pod 置备 5 到 10 分钟。用 KRAFTON 自己的话说,总计:“10 到 15 分钟以上”。

随后又开展了两个项目。

KRAFTON's AWS re:Invent 2024 slide "Our approach #1: Adopting Karpenter", comparing a Cluster Autoscaler setup that scales EKS NodeGroups against a Karpenter setup that launches EC2 instances as needed. Listed benefits: reduced EC2 launch delay by removing EKS NodeGroup and Auto Scaling Group overhead, plus dynamic groupless node provisioning, automatic node sizing and bin-packing, and drift detection and expiration.

第一个项目是用 Karpenter 代替 Cluster Autoscaler 和 EKS NodeGroups,以消除自动缩放组(Auto Scaling Group)的开销,并通过自动调整大小、装箱(bin-packing)和漂移检测来实现无组节点置备。

KRAFTON's AWS re:Invent 2024 slide "Our approach #2: Container registry proxy", showing a worker node in an EKS cluster pulling images through a Harbor proxy that caches from an ECR registry into an S3 bucket served via CloudFront, with a custom ImagePuller DaemonSet pulling images while the node is still bootstrapping. Stated results: ImagePuller skips node bootstrap time, CDN cache reduces pull time to 2 to 3 minutes, and overall boot time drops from 15+ minutes to 3 to 4 minutes.

第二个项目是容器镜像仓库代理:Harbor、S3 缓存桶、CloudFront,以及一个自定义的 ImagePuller DaemonSet,在节点仍在引导时拉取镜像。KRAFTON 测得的结果是将拉取时间缩短到 2 到 3 分钟,整体启动时间从“15 分钟以上”缩短到“3 到 4 分钟”。

第二个项目并不是简单的配置。它是一个自主设计并维护的镜像分发系统。KRAFTON 也在自己的幻灯片中列出了权衡取舍:置备并发“难以管理”,并且在 EKS 上的 Kubernetes 1.32 以下版本中,资源“无法动态调整”。

编排器只是起点,而非全部。Edgegap 在 《免费产品的昂贵代价:Agones》中对运行它所涉及的工作进行了自己的拆解。

集成 Agones 真的需要花费 4.2 万美元吗?

首先来看一个工作室实际会写入计划中的数字:4.2 万美元。

这是 Yazıcı 的计算器在针对一个刻意保持温和的采用方案运行后的结果:一名高级开发人员、一个月全职,以及两个月的较轻度集成和测试。薪资设为基本工资 13.5 万美元/年,一旦加上 25% 的雇主端成本,计算器加载的成本就达到了 16.9 万美元。

这个薪资是有意偏高的。levels.fyi 将 电子游戏软件工程师的薪资中位数设为 96,542 美元,而 DevOps 工程师的中位数设为 79,296 美元。Agones 实际要求的技能栈是 Kubernetes、Linux、Docker 和 containerd,以及 Go 或 Python 等语言,外加网络和安全,因此我们模拟的是专家,而不是中位数招聘人员。可以将该薪资视为上限。

然后加上一名 DevOps 工程师,在游戏上线后大约占用其 30% 到 50% 的时间,并运行三年:

项目

3 年成本

初始集成(1 名高级开发,3 个月)

$42K

维护(20%/年)

$25K

演进和新功能(15%/年)

$19K

知识流失风险

$17K

机会成本(Deconstructor of Fun 模型)

$464K

总计

$567K

所以本节标题的答案是肯定的,但这仅占全局的 7%。

这里有两个注意事项,因为它们是实用数字和营销数字之间的区别。

首先,机会成本是计算器的模型,不是我们的,也不是一项测量值。Yazıcı 自己的公式发布在计算器自身的方法论中:团队年度总成本乘以构建完成后剩余的年限,其理由是被分配到基础设施的工程师就无法被分配到游戏开发上。如果你想质疑这个模型,尽可以在这些条件下去质疑。

其次,该项假设工程师仍处于完全分配状态。构建耗时 3 个月,在时间窗口内还剩 2 年 9 个月,计算器对其中每一年都收取全额 16.9 万美元。而我们的场景只投入了一个人 30% 到 50% 的精力。将该项调整为 40%,三年的总额将降至大约 28.9 万美元。

在这两个版本中保持不变的是前 10.3 万美元,或者是这个比例。大家计划中的集成费用是 4.2 万美元。在此之后的一切开销都在这个数字的 2 到 12 倍之间。计算器自身的框架表明,大多数公司都低估了 3 到 5 倍。

维护是账单的大头,而不是构建

这是大多数初始项目预估破产的地方。“你交付的后端不是你最终保留的后端。” 平台会更新,SDK 会废弃,安全漏洞会出现,引擎版本会更迭。谷歌的 Play 游戏服务废弃时间表就是一个具体例子,无论工作室是否准备好,这个时钟都会无情地走下去。

Yazıcı 引用的基准(她将其追溯到 IEEE 的研究和 Gartner 的分析)是每年初始构建成本的 15% 到 25%。每年如此。没有终点。在整个系统生命周期中,维护消耗了总生命周期成本的 60% 到 80%。构建只是你花费的少数部分。

编排平台是这一点的严苛版本。Kubernetes 的次要版本会以固定的节奏发布并停止对旧版本的支持,节点镜像会不断变动,CNI 和入口组件会发生变化,Agones 也有自己的 Kubernetes 支持范围。KRAFTON 指出的“动态资源调整需要在 EKS 上使用 Kubernetes 1.32”正是如此:这是一项被锁在集群升级背后的功能,必须有人去计划、测试并执行。

这一切都是不可推迟的,因为你不能在启动比赛的进程上跳过安全补丁。正如 Yazıcı 所说:“你购买的东西已经是别人身经百战测试过的;而你自己构建的东西,嗯,你得自己去进行线上实战测试。” Edgegap 关于 使用 Docker 或 Kubernetes 托管可扩展游戏服务器的指南更详细地介绍了这些活动部件。

对于在线实时服务游戏,演进从未停止

维护保持系统运转。演进则是系统被要求去做但其最初并非为此而构建的一切事情。

在线实时服务游戏没有稳定的功能集,Deconstructor of Fun 在 《后端丛林》中详细阐述了这一点。新的商业化模式需要新的逻辑,新的平台需要新的集成,新的玩家行为会带来新的后端需求。正如 Yazıcı 所写:“每一次演进都是一个微型的构建项目,其资金来自你游戏本身所需的相同工程能力。”

对于编排来说,这些需求是可预测且无休止的。例如一个新地区、采用不同网络规则的主机端上线、跨平台联机(Cross-play),以及在某个星期二毫无预警到来的创作者流量暴增。

在工作负载之下还存在结构性不匹配。正如 Edgegap 的 Agones 分析框架所指出的:“Kubernetes 最初是为 Web 技术而设计的。它们管理成千上万个无状态连接,提供几分之一秒的小型请求。游戏服务器与这种哲学背道而驰。游戏服务器和中继是有状态的,需要管理 5 到 45 分钟的持久连接。”

自 2018 年 Agones 推出以来,发生的变化是 KRAFTON 所追求的容器优势(标准化、装箱和单一可部署单元)不再需要您自己运行平台。这就是 托管编排的前提。

开发只是等式的一半

以上所有都是构建和运行平台的成本。其中没有一项是服务器账单。

这种区分之所以重要,是因为编排器的日常工作不是部署,而是填充率。服务器是按它们存在的每一小时计费的,而不是按其中的玩家计费的。当一个节点可以容纳六场比赛却只运行两场时,它的成本与满载节点完全相同,而其中的差额就是花在虚无之上的钱。

双向缩放都会拉开这个差距。向上扩容是以整台实例为单位进行的,因此在需求超过阈值的瞬间,你就要为一个完整的节点付费,以服务于积压在其上的溢出需求。向下缩容必须等到节点上已有的会话结束,因为游戏比赛是有状态的,所以你必须在它排空的过程中继续付费。缓慢的置备拓宽了这两者:如果容量需要 10 到 15 分钟才能上线,你就必须保持一个温缓冲区来填补空白,而缓冲区在设计上就是闲置的。

KRAFTON 的需求幻灯片直接指出了这一点,在成本效益下,除了标准化和可扩展性之外,还列出了“配合需求的资源伸缩和缓冲”以及“通过资源装箱最大化虚拟机效率”。

工作室可以在自研与购买的算术中获胜,但在此后的每个月里,仍然可能在利用率上输掉。快到不需要备用池的置备速度,是采用 即时容器编排的理由。

每个人都会争论的一项

在模拟的 56.7 万美元中,有 46.4 万美元是机会成本。Yazıcı 称其既是最高的成本,也是最无法在电子表格中体现的成本,这也使得她有意识地将其纳入了自己的电子表格中。

她的论点并不是工作室应该缩减其工程团队。相反,她的观点是:“你最好的后端工程师不应该去编写已经存在的匹配代码。” 编排只是基本要求。正如她所写:“没有玩家会因为一款游戏的匹配或在线运营工具是内部构建的而购买它。”

这种成本体现在游戏上线变晚、在线运营功能变少、进入了一个不会等待的市场中。KRAFTON 的工程师解决并很好地解决了他们的引导问题。但他们也将那段时间花在了解决引导问题上。

对于那些将替代方案与六位数的内部开销进行对比的工作室,Edgegap 提供了 免费开始,在所有地点实行单一价格,对于熟悉其技术栈的开发人员来说,设置只需几分钟。QLOUD Games 在 不到 24 小时内将 Loftia 的游戏服务器托管和编排转移到了 Edgegap。

Yazıcı 最后的重构观点非常发人深省:“购买基础设施是一项资本分配决策。就像任何资本分配决策一样,它值得进行严谨的分析,而不是凭直觉默认‘我们有工程师’。”

—

本文基于并引用了 Aylin Yazıcı 发表在 Deconstructor of Fun 上的原文,以及 KRAFTON 的 JungHun Kim 在 AWS re:Invent 2024 上的演讲“游戏架构的演进故事:PUBG: BATTLEGROUNDS”。原文内容的所有权利均归其各自所有者所有。

Get your Game Online Easily & in Minutes

立即开始集成!

轻松在线游戏
且在几分钟内

Get your Game Online Easily & in Minutes