コンテンツにスキップ
タイプアンロック
ステージフリート
難易度シンプル
ジョブコスト最適化
対象ソロ起業家
サービスコンテナ
Hoody の利点コンテナ経済学
Hoody の利点ベアメタル分離
タイプアンロック
ステージフリート
難易度シンプル
ジョブコスト最適化
対象ソロ起業家
サービスコンテナ
Hoody の利点コンテナ経済学
Hoody の利点ベアメタル分離
タイプアンロック
ステージフリート
難易度シンプル
ジョブコスト最適化
対象ソロ起業家
サービスコンテナ
Hoody の利点コンテナ経済学
Hoody の利点ベアメタル分離
タイプアンロック
ステージフリート
難易度シンプル
ジョブコスト最適化
対象ソロ起業家
サービスコンテナ
Hoody の利点コンテナ経済学
Hoody の利点ベアメタル分離
コンテナ · ポートフォリオ経済学

12 個のマイクロ SaaS。ベアメタル 1 台。

ポートフォリオを出荷します。2 製品が収益を生み、10 製品はおとなしいまま。アプリ単位のクラウドなら 12 個全部に支払います。Hoody なら、$49 サーバー 1 台に 50 個のコンテナを積み、おとなしい 10 製品はすでに払っている家賃に上乗せでほぼ無コスト。

Containers API ドキュメント

12 製品が 1 台に収まる仕組み

製品はサーバーではなく、おおよそ 4 つのコンテナです — フロントエンド、バックエンド、データベース、ワーカー。12 製品で 50 コンテナ。退屈な部分はカーネルが重複排除するので、ボックスは気付きません。

  1. 01
    01 · 形

    製品ごとに 4 コンテナ

    各アプリは小さなスタックです。Next.js のフロント、小さな API、Postgres または SQLite、ワーカー。/api/v1/projects/[id]/containers に 4 つコンテナを POST し、製品名に対応する project_alias を付ければ完了です。12 製品で 50 コンテナと予備が少々。

  2. 02
    02 · 密度

    計算はカーネルが行う

    Hoody はコンテナを VM ではなく LXC で動かします。Kernel Samepage Merging が同じ Debian ベースで動くコンテナ間で同一 RAM ページを見つけ、glibc の 50 コピーを 1 つにします。BTRFS のコピーオンライトはディスクで同様のことを行います。アイドルなコンテナはベースからの差分のみを消費し、丸ごと 1 ボックスにはなりません。

  3. 03
    03 · ホスト

    マーケットプレイスサーバー 1 台

    サーバーマーケットプレイスから Hetzner AX52 か同等品を選びます — 本物のベアメタル、64 GB RAM、1 TB NVMe、月額約 $49。それが請求額です。51 番目のコンテナは追加コストゼロです。

Containers API によると、すべてのコンテナは /api/v1/containers/[id]/stats で自身の CPU、メモリ、ディスク、ネットワークを報告します。マーケティング上の事実は、こうした stats エンドポイント 50 個が単一ホスト上で苦もなく動き続けるということです。

ポートフォリオモデルが解き放つもの

アイドル製品が本当に無料のときだけ意味をなす 3 つのこと。

アイドル · 無料

おとなしい製品はコストにならない

停止中のコンテナは CPU と RAM をゼロ消費 — ファイルシステムは BTRFS 上に差分コストでただ存在します。ユーザー 12 人の水槽ログアプリは何も燃やしていません。良心の呵責を覚えるために殺さなくても済みます。

分離 · OS

各製品は独自の OS

コンテナは Linux 名前空間であり、コントロールプレーン上の共有テナントではありません。mortgage-calc-pro のバグが chord-finder のデータベースを覗くことはできません。tenant_id 列も、共有スキーマも、「あのテナントが暴走した」インシデントもありません。分離はカーネルが担います。

スケール · その場で

勝者を移行せずに昇格

11 番目の製品が伸びたら、再プラットフォーム化はしません。コンテナのリソースを PATCH してコアを増やし、/copy 経由でレプリカを追加するだけ。トラフィックが来た場所で既に動いているので、ダイヤルを開けるだけです。

1 つのサーバー。12 個のコンテナ。1 つの請求。

請求単位はサーバー — コンテナではなく、製品でもなく。12 番目の製品を追加しても請求額は変わりません。チャートは相対的なリソースフットプリント — コスト列はすべて同じ数字です。なぜなら請求単位がサーバーだから。

アプリ単位モデル · BEFOREアプリ単位の課金
  • 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
合計 · 12 ツール$432/月
HOODY 定額 · AFTERベアメタル 1 台
  • サーバー · ミドルクラス (例: AX52)$49/mo
  • 収容コンテナ · 50included
  • 帯域 + ストレージincluded
  • Idle containers無料 (KSM dedup)
  • 13個目のアプリを追加$0 added
合計 · 定額$49/月
アプリ単位スタックに対して $383/月の節約

数値は Hetzner AX52 クラスホストの説明用です。サーバーが請求単位 — より多くのコンテナを追加しても請求項目は増えません。より大きいボックスへのアップグレードはコストが増えます。ボックス内のコンテナ追加はコストが増えません。

ポートフォリオモデルはかつて請求書のスプレッドシートでした。今は明細 1 行です。

以前 · 請求書フォルダ以後 · ひとつの家賃
毎月 12 通の請求書
  • Heroku × 12 · $84/月
  • Render web service × 12 · $84/月
  • Railway addons × 12 · $60/月
  • Vercel Pro per project × 12 · $240/月
  • Postgres add-on × 12 · $108/月
  • Worker dyno × 12 · $84/月
12 通の請求書 · 12 件の更新日 · 12 回のクレジットカードの不意打ち
1 つの家賃、1 度の支払い
Hoody サーバー · AX52$49.00 / 月
上に 50 コンテナが乗る — 13 個目を出荷しても明細は動かない
Containers API を読む

これが置き換えるもの

これらは単一製品をひとつのビジネスのように価格付けします。12 製品のポートフォリオはアプリ単位の料金を 12 倍払うことになります。ベアメタルモデルは 1 度だけ請求します。

  • Heroku ($7+/月 × 12)アプリ単位の dyno とアドオン単位の Postgres を、製品ごとに掛け算
  • 複数の VPS プロバイダ製品ごとに droplet 1 個で家賃が線形に積み上がる
  • Render web serviceサービス単位、データベース単位、ワーカー単位の価格設定
  • Railway プロジェクト単位プロジェクトごとのリソース価格 — 12 プロジェクトで 12 のメーター
  • Fly.io 製品ごとのアプリ便利だが、ポートフォリオでは結局アプリ単位の請求
  • Vercel Pro プロジェクト単位function や帯域幅の課金前に、プロジェクトごとに月 $20

アイドルが無料なら、次のアイデアは予算の議論ではなく POST です。

他のユースケースを読む