
1 つのサーバーで 60 のコンテナ
1 つのベアメタルボックスで数十から数百の Hoody コンテナを実行。KSM と BTRFS のデデュプでマージナルコストはほぼゼロ。
ほとんどのチームは本番に支払い、それから本番らしき見た目のステージングスタックにもう一度支払います。Hoody ではステージングは本番コンテナのスナップショット — 必要なときに同じベアメタル上でブランチさせ、必要ないときはディスクへ凍結します。
ほとんどのチームがすでに持っているのに監査していない列の実測値
Hoody でスナップショットが安いのは、ストレージ層がコピーオンライトだからです。ベースイメージは参照され、コピーされません。ステージングは何かが分岐するまで本番のページを共有 — その後、差分だけが課金されます。
POST /containers/$PROD/snapshots にエイリアスを付けて送信。ベースイメージは参照されたまま、メタデータだけが新規。呼び出しは 1 秒以内にスナップショット名を返します。
POST /containers/$PROD/copy に source_snapshot=prod-baseline。新しいコンテナが同じハードウェア上で起動し、本番とページを共有します。書き込みは差分へ — ステージングは変更分のみ課金されます。
QA が完了したらステージングコンテナを停止。ディスクは保持され、RAM と CPU はゼロに。次のチケットが来たら 5〜15 秒で復元。各ブランチは既知の本番状態から始まるため、ドリフトは不可能です。
スナップショットは日数の有効期限を持てて、クリーンアップは自動です。コピーは異なる target_project_id と target_server_id を選べるので、QA はレシピを変えずに別のリージョンやサブアカウントで動かせます。
ステージングが並列レンタルではなくブランチになると、いくつもの繰り返される厄介事が消えます。請求書はその中でも最も目に見えるものに過ぎません。
本番、ステージング、QA は以前は別々に請求される 3 つのレンタルでした。今は必要なときに目覚める 1 つのコンテナと安価な 2 つのブランチです。限界環境はコピーではなく差分のコストです。
各ステージングブランチは本物の本番スナップショットから始まります — 同じ OS イメージ、同じパッケージ、同じデータ形状、同じ環境変数。「ステージングでは動くが本番で壊れる」バグの分類は、構造によって閉じられます。
PATCH でコンテナを古いスナップショットへ当てて不良デプロイをロールバック、または昨夜のバックアップから新鮮な QA コピーをブランチ。rsync も DB ダンプも 90 分のプロビジョニングジョブも不要 — スナップショット名 1 つです。
同じワークロード — 本番、ステージング、QA — を 2 通りで数えます。1 度は 3 つの完全レンタルとして、もう 1 度は 1 つのコンテナと 2 つのスナップショットブランチとして。
EC2 m5.large 2 台が $0.096/時(730 時間)、加えて db.t3.medium Multi-AZ RDS 2 台が $0.380/時。ステージングは週の大半でアイドルだが、メーターは気にしない。
ステージングは本番スナップショットからブランチ。共有ページは参照され、複製されない。QA 実行が実際に書き込んだバイトのみが課金され、通常 100 GB ではなく数百 MB。
Hoody コンテナ 1 つが本番を 24×7 処理。ステージングと QA は仕事が必要なときにスナップショットから起き、必要ないときはディスクへ凍結。1 つの請求書、3 つの環境、ドリフトなし。
AWS 価格は 2026 年初頭の us-east-1 EC2 m5.large と RDS db.t3.medium Multi-AZ のパブリックオンデマンドレートを使用。Hoody コンテナ価格は説明用で、基盤サーバーに依存します(マーケットプレイス価格は月 $20 から)。スナップショットストレージは差分サイズで課金。表示数値は代表的な比較であり、見積もりではありません。
ステージングはかつて本番の重複でした。今は本番のスナップショットです。
チームがステージング税を払う標準的な方法。それぞれが、週の大半でアイドルか、必要なときには本番から離れている環境に対して請求します。
ドリフトする環境を借りるのはやめましょう。ドリフトできない環境をブランチしてください。