News Hacker|极客洞察

20 70 天前 bunny.net
🤔从 Heroku 迁移到 bunny.net Magic Containers:类 Cloud Run 的弹性好,但镜像与计费受限
把 Heroku 的魔法换成写 Dockerfile,谁愿意?

🎯 讨论背景

许多 Heroku(一个传统 PaaS 平台)用户在考虑迁移,原因包括平台变化、成本和对更现代 serverless 容器模型的需求。bunny.net(一个以 CDN/edge 服务起家的公司)推出 Magic Containers,定位上类似 Google Cloud Run(Google 的 serverless container 平台),突出 scale-to-zero 和边缘部署能力。讨论集中在三点:Magic Containers 是否能像 Cloud Run 那样无缝提供冷启动/多版本待命的弹性、它仅支持从 Docker Hub/GitHub 拉镜像而不支持私有 registry 的限制,以及公开定价与实际按 CPU 活动计费之间容易产生的误解。评论中还把 DigitalOcean、Cloudflare 与开源项目 openrun(一个在单机或 Kubernetes 上实现 scale-to-zero 功能的开源工具)作为比较或替代方案来讨论。

📌 讨论焦点

类 Cloud Run 的 scale-to-zero 优势

多位评论将 Magic Containers 与 Google Cloud Run(Google 的 serverless container 平台)相提并论,称其核心优势在于支持 scale-to-zero:多个版本可随时待命、空闲时实例数降为零以节省资源。评论者认为这种模型特别适合大量小应用或瞬时负载场景,能在保持低成本的同时实现快速响应。还有人指出开源项目 openrun(一个在单机或 Kubernetes 上实现类似 scale-down-to-zero 行为的工具)证明这种能力技术上是可行且有替代实现。具体比较中,社区对能看到更多类似 Cloud Run 的竞品表示欢迎。

[来源1] [来源2]

镜像来源限制与私有注册表需求

评论明确指出 Magic Containers 目前只能从 Docker Hub 或 GitHub 拉取镜像,不支持其他 registry 或私有 registry(例如 BitBucket 或企业自建仓库),这成为采用的重大障碍。企业通常依赖私有镜像、CI/CD 流程和防火墙策略,无法只用公共仓库会让团队不愿意迁移。有人建议 bunny 提供任意 URL 的拉取能力或公布其 IP 列表,以便用户在防火墙中只允许其访问并保留自建 registry;“Custom docker repo is really needed”的呼声多次出现,反映需求强烈且具体。

[来源1] [来源2] [来源3]

定价与计费误导:与 Cloudflare 的对比与实际计费行为

有人把按 24/7 运行估算的 bunny 成本列为约 1 美元/小时、约 700 美元/月,并与 Cloudflare 的容器方案(可低至 70–80 美元/月)做了直接成本对比,认为差距巨大。其他评论者补充说实际花费往往低于这种“满载”预估,因为 Magic Containers 更像函数式计费:按 CPU 实际使用时间计费(“pay only for CPU time used”),但官方的价格展示没有把这一点说清楚,导致误解和营销沟通问题。还有人指出所分配的 CPU 很强,若用来做高强度边缘计算或企业任务,700 美元可能是划算的,但对预算敏感的独立开发者或小团队并不友好。

[来源1] [来源2] [来源3]

缺失 Heroku 的“无痛部署”开发者体验

评论者普遍认为 Bunny 未能复制 Heroku 的“魔法体验”:Heroku 的价值在于开发者无需关心容器构建、镜像注册和 Dockerfile,只要把代码 push 到 Git,就能在支持的语言/框架上直接运行。Magic Containers 更像 Cloud Run,要求用户准备容器镜像并处理 registry,这会把运维和镜像构建的工作转回给开发或 SRE 团队。对于习惯 Heroku 无缝工作流的团队而言,这种额外复杂性是一个实际阻力,SRE 提到这类行为往往是最令人沮丧的运维事务之一。

[来源1]

产品归属与定位说明

部分评论先提醒读者注意产品归属:Magic Containers 是 bunny.net 推出的产品,而非某个未知第三方。bunny.net 本身以 CDN/edge 服务起家,这决定了其在性能、边缘部署和定价策略上的优先级,因此社区常把它与 Cloudflare(另一家边缘/网络厂商)或 Google Cloud Run 做比较。理解厂商背景有助于预期其功能取向、支持策略以及未来的产品演进方向。

[来源1]

📚 术语解释

scale-to-zero: 一种 serverless 容器运行模式,实例在无请求时自动缩容到零,只有在请求到来时快速启动。这能为大量小服务或低频应用节省运行成本,Google Cloud Run 和 Bunny 的 Magic Containers 都以此为重要卖点。

container registry: 用于存放与分发容器镜像的服务(例如 Docker Hub、GitHub Container Registry 或企业自建私有 registry)。部署系统从 registry 拉取镜像,若只支持特定公共 registry,会限制 CI/CD、镜像安全策略和防火墙配置。

Dockerfile: 定义如何构建容器镜像的脚本文件,描述基础镜像、依赖安装和启动命令。Heroku 等 PaaS 常通过 buildpacks 隐藏这一步,让开发者无需手写 Dockerfile 即可部署。

Cloud Run: Google 的 serverless container 平台,支持自动扩缩和 scale-to-zero,常被用作对比基准来评价边缘/容器即服务类产品的行为与计费模型。