跳转到内容
use-cases / twelve-saas-from-one-box / hero
CONTAINERS · PORTFOLIO ECONOMICS

12 款微 SaaS 应用。一台裸金属机器。

你出货的是一组产品组合。两个赚钱,十个安静。在按应用计费的云上你得为全部 12 个付钱。在 Hoody,50 个容器堆在一台 49 美元的服务器上——而那 10 个安静的产品在你已经付的租金之外几乎不再产生成本。

Containers API 文档
use-cases / twelve-saas-from-one-box / mechanism

12 款产品如何装进一台机器

一款产品不是一台服务器,而是大约 4 个容器——前端、后端、数据库、worker。12 款产品就是 50 个容器。内核会把无聊的部分去重,机器自己几乎察觉不到。

  1. 01
    01 · 形态

    每款产品 4 个容器

    每个应用是一个小型技术栈:一个 Next.js 前端、一个小型 API、一个 Postgres 或 SQLite、一个 worker。POST 4 个容器到 /api/v1/projects/[id]/containers,给它们一个匹配产品的 project_alias,完成。12 款产品是 50 个容器加几个备用。

  2. 02
    02 · 密度

    内核来算这笔账

    Hoody 在 LXC 上运行容器,而不是 VM。Kernel Samepage Merging 找出运行同一 Debian 基础镜像的容器之间相同的 RAM 页——50 份 glibc 变成 1 份。BTRFS 写时复制对磁盘做同样的事。闲置容器只占基础镜像之上的增量,而不是整台机器。

  3. 03
    03 · 主机

    一台市场上的服务器

    从服务器市场挑一台 Hetzner AX52 或同等机型——一台真正的裸金属机器,64 GB RAM,1 TB NVMe,大约每月 49 美元。账单就是这些。第 51 个容器不再花一分钱。

根据 Containers API:每个容器在 /api/v1/containers/[id]/stats 上报告自己的 CPU、内存、磁盘和网络。营销层面的事实是,50 个这种 stats 端点可以在一台主机上稳定运行,而主机本身毫无怨言。

use-cases / twelve-saas-from-one-box / powers

产品组合模式释放了什么

三件事只有在闲置产品真正免费时才说得通。

闲置 · 免费

安静的产品不让你掏钱

已停止的容器消耗零 CPU 和零 RAM——它们的文件系统就以增量成本待在 BTRFS 上。那个有 12 个用户的水族箱日志应用没在烧任何东西。你不必为了心安理得而把它干掉。

隔离 · OS 级

每款产品都是自己的 OS

容器是 Linux 命名空间,不是控制平面里的共享租户。mortgage-calc-pro 里的 bug 看不到 chord-finder 的数据库。没有 tenant_id 列,没有共享 schema,不会出现「那个租户失控了」的事故。隔离由内核保证。

原地扩展

无需迁移就能放大赢家

当第 11 款产品起飞时,你不必重新平台化。PATCH 容器的资源,给它更多核,通过 /copy 加一个副本。它本来就跑在流量进来的地方——你只是把旋钮拧大了。

use-cases / twelve-saas-from-one-box / economics

一台服务器。12 个容器。一份账单。

计费单位是服务器——不是容器,不是产品。加上第 12 款产品后,发票纹丝不动。这张图显示的是容器间的相对资源足迹;成本列对所有容器都是同一个数字,因为服务器才是成本。

PER-APP MODEL · BEFOREPer-app billing
  • Notion Team$40/mo
  • Linear Standard$60/mo
  • Slack Pro$36/mo
  • GitHub Team$20/mo
  • Figma Professional$30/mo
  • Loom Business$37/mo
  • Airtable Team$40/mo
  • Intercom Starter$78/mo
  • Retool Team$30/mo
  • Datadog Pro$15/mo
  • Sentry Developer$26/mo
  • Vercel Pro$20/mo
TOTAL · 12 TOOLS$432/mo
HOODY FLAT-RATE · AFTEROne bare-metal server
  • Server · mid-tier (e.g. AX52)$49/mo
  • Containers inside · 50included
  • Bandwidth + storageincluded
  • Idle containersfree (KSM dedup)
  • 13th app added$0 added
TOTAL · FLAT RATE$49/mo
SAVES $383/MO VS PER-APP STACK

数字仅作参考,基于 Hetzner AX52 级主机。服务器是计费单位——再加容器不会产生账目项。升级到更大的盒子成本更高;在盒子内加容器则不会。

use-cases / twelve-saas-from-one-box / punchline

产品组合模式过去是一张账单清单。现在只是一行账。

之前 · 一堆发票之后 · 一份租金
每月 12 张账单
  • Heroku × 12 · $84/月
  • Render Web 服务 × 12 · $84/月
  • Railway 附加组件 × 12 · $60/月
  • Vercel Pro 每项目 × 12 · $240/月
  • Postgres 附加组件 × 12 · $108/月
  • Worker dyno × 12 · $84/月
12 张发票 · 12 个续费日 · 12 次信用卡惊喜
一份租金,一次付清
Hoody 服务器 · AX52$49.00 / 月
50 个容器跑在上面——发第 13 款产品时这一行也不会变
阅读 Containers API
use-cases / twelve-saas-from-one-box / replaces

本方案替代了什么

下面这些产品都把单款产品当作单个生意来定价。12 款产品组合就要把每个按应用收的费用乘以 12。裸金属模式只收你一次。

  • Heroku ($7+/月 × 12)按应用 dyno 加按附加组件 Postgres,乘以每款产品
  • 多家 VPS 服务商每款产品一个 droplet,租金线性叠加
  • Render Web 服务按服务计费,按数据库计费,按 worker 计费
  • Railway 按项目按项目算资源费;12 个项目,12 个用量计数器
  • Fly.io 每款产品一个 app便利,但产品组合下仍是按应用计费
  • Vercel Pro 每项目在任何函数或带宽费用之前,每项目就 20 美元/月
use-cases / twelve-saas-from-one-box / cta

当闲置免费时,下一个点子就不再是预算讨论——只是一个 POST。

浏览服务器市场
use-cases / twelve-saas-from-one-box / related

阅读其他内容