作者用Bun的Zig转Rust案例类比,计算Node.js微服务在Fargate上的运行成本,证明编译型语言可将任务降至最小规格(0.25vCPU/0.5GB),节省约83%费用。
AI 让我重新审视一个无聊的问题:为什么我还在为 V8 付 Fargate 的账单?
Bun 的 Zig-to-Rust AI 重写让我开始算这笔账。6 天,96 万行代码,Bun 现有测试通过率 99.8%,9 天后合并(AI 总花费约 $10,000?)¹。
对于我放在 Fargate 上的 15,844 行微服务,这是什么概念?
Node.js 微服务,连接 MongoDB,调用几个其他服务,也被其他服务调用,做它的小事情。一套典型服务配置是 0.5 vCPU / 1 GB 内存:每个任务 $18/月。为了稳定性最少需要 3 个副本,所以每个服务 $54/月。
这笔账单的大部分是「预置的运行时冗余」。Node 让这个冗余更难压缩。V8、动态分派、垃圾回收、启动时间、内存峰值——运行时在 Fargate 上吃着空转,而我为此付账。
一次重写,来算笔账
假设花 $100 的 Claude Code token 完成首次迁移到 Go 或 Rust。不是盲目上线,重审、测试和发布仍需要人工时间。但初稿不再是昂贵的部分了。
Fargate 计费:$0.04048/vCPU·小时,$0.004445/GB·小时²。最小任务规格:0.25 vCPU / 0.5 GB,约 $9/月。一个编译好的服务,带 MongoDB 驱动和几个 HTTP 客户端,放在这个下限就够了。没有 V8,没有空闲等待流量的托管运行时堆。
该服务的新账单:3 × $9 = $27/月;节省 2 倍。
$100 AI 投入的回报周期:不到四个月;单服务最小配置情况下。
这是玩具版本。我的真实环境有开发环境、生产环境、工作负载副本、自动化测试,以及各种运维杂务。大约十个副本。回报周期接近一个月。
语言格局变了:
Rust / C / C++:运行时占用最小。迁移摩擦最高。对我的服务来说,生态问题仍未解决。
Go:运行时税很小。部署无聊,backend 生态强大。从成本角度看像是新的默认选择。³
Node / Python / PHP / Java / C#:仍是高效的生产力默认选项,但它们的运行时占用不再免费。Fargate 把它变成了一笔明细账。
运行时税过去藏在开发者生产力里面。AI 降低了代码迁移的成本。云服务暴露了代码运行的成本。这让运行时选择重新变得可见。
或者离开 AWS,换到 Hetzner,账单砍掉约 10 倍。
https://www.theregister.com/2026/05/14/anthropics_bun_rust_rewrite_merged_at_speed_of_ai/5240381 ↩
https://www.theregister.com/2026/05/14/anthropics_bun_rust_rewrite_merged_at_speed_of_ai/5240381 ↩
https://aws.amazon.com/fargate/pricing/ ↩
https://aws.amazon.com/fargate/pricing/ ↩
我个人从来不是 Rust 粉丝。不过 Go,我用在高负载场景上。C/C++ 停留在陈旧的教育记忆里。 ↩
我个人从来不是 Rust 粉丝。不过 Go,我用在高负载场景上。C/C++ 停留在陈旧的教育记忆里。 ↩