コンテンツにスキップ
タイプアンロック
ステージ本番環境
難易度シンプル
ジョブコスト最適化
対象開発チーム
サービスコンテナ
サービススナップショット
Hoody の利点コンテナ経済学
タイプアンロック
ステージ本番環境
難易度シンプル
ジョブコスト最適化
対象開発チーム
サービスコンテナ
サービススナップショット
Hoody の利点コンテナ経済学
タイプアンロック
ステージ本番環境
難易度シンプル
ジョブコスト最適化
対象開発チーム
サービスコンテナ
サービススナップショット
Hoody の利点コンテナ経済学
タイプアンロック
ステージ本番環境
難易度シンプル
ジョブコスト最適化
対象開発チーム
サービスコンテナ
サービススナップショット
Hoody の利点コンテナ経済学
コンテナ · スナップショット · アイドル = 無料

アイドル状態のステージングは無料、だからステージングが削除されなくなる

AWS では、アイドルの 1 時間ごとが課金対象になるため、ステージングは消えていきます。Hoody では、アイドルコンテナはディスクを消費し CPU はゼロです。だから、レビュアーが 3 週間前に触ったステージングは、彼らが残した状態のまま今もそこにあります。墓場がワーキングセットに変わります。

コンテナのドキュメントを読む

アイドル状態のコンテナが実際にしていること

3 つの状態、1 つのコンテナ行、1 つの請求書。アクティブ状態は CPU を消費します。アイドル状態は何も消費しません。ウェイク状態は数百ミリ秒で完了し、ステージングは離れたときの状態でそのまま戻ってきます。

01 / アクティブ

レビュアーがいじっている

チームメイトがログインし、新しいエンドポイントを動かし、ダッシュボードを見ています。コンテナのプロセスはスケジュールされ、メモリページはホットで、CPU 時間は本物です。これだけが料金のかかる状態です。

見られている間課金中
02 / アイドル

10 日間誰も触っていない

コンテナは中断されています。ファイルシステムは依然として解決でき、ディスクのデルタは依然として存在し、プロキシドメインは依然として応答します。KSM はメモリページをコンテナ間で重複排除し、BTRFS はディスクブロックを重複排除します。アイドルコンテナは既に支払っているサーバー価格に何も追加しません。

アイドル中追加料金なし
03 / ウェイク

誰かが URL に ping を打つ — 戻ってきた

到着した最初のリクエストがコンテナを起こします。同じコンテナ ID、同じ環境変数、同じボリューム、同じ SSH ホスト。レビュアーが残した状態が、戻ってくる状態です。リストアスクリプトも、新規プロビジョンも、削除したものを再構築する 1 日もありません。

再開まで数百ミリ秒

Hoody はサーバーに定額制で課金します。アイドル状態はコンテナの残りの寿命であり、ステージング環境のほとんどの時間が過ごす状態でもあります。KSM と BTRFS の重複排除は、アイドルコンテナがサーバー価格に何も追加しないことを意味します。

これがステージングについて変えること

アイドルが無料になれば、ステージングが代わりにしていた決定をしなくなります。

保存

節約のために環境を削除しなくなる

レビュアーが 3 週間前に使った環境は、中断状態でコンテナ ID で参照可能なまま残っています。請求書には載らないので、CFO の目には触れません。「3 つのうち 2 つを潰す」で終わる会話は起こりません。

スピード

削除したものを再構築しなくなる

レビュアーが URL に ping を打ち、コンテナが起き、セッションが再開します。新規プロビジョンも、シードデータも、Heroku dyno がスリープから戻るのを待つこともありません。前日の午後の作業が、翌日の午後の出発点です。

ワーキングセット

墓場がワーキングセットに変わる

前四半期のローンチステージング、放棄された決済リビルド、Q4 の顧客固有のデモ。どれも無料で生き続けます。「あの環境まだある?」と聞かれたら、答えはイエスです。

CFO がかつて見ていたもの、そして今見ているもの

常時オンのステージングフリートに対する AWS 請求書の明細と、アイドルが無料になったときにそれらの明細がたたまれる先。

古い請求書 · 常時オン時間単位で課金
  • ec2 staging-pr-2148 · t3.medium · 720h
  • ec2 staging-customer-acme · m5.large · 720h
  • ec2 staging-payments-rebuild · t3.large · 720h
  • rds staging-db cluster · 720h
  • elb shared-staging-alb · 720h
  • ebs gp3 attached volumes · 1.4 TB
5 環境 · 6 明細 · 永遠に保留中のクリーンアップ PR が 1 件
新しい請求書 · アイドル無料アクティブ時のみ課金
  • container staging-pr-2148 · 22 週間アイドル込み
  • container staging-customer-acme · 4 週間アイドル込み
  • container staging-payments-rebuild · 24 週間アイドル込み
  • container staging-mobile-v3 · 今週アクティブ込み
  • container staging-launch-prep · 1 週間アイドル込み
アクティブな週は表示される · 残りはコストゼロ

CFO は 3 つのアイドル環境について尋ねません。表示されないからです。それらを削除する会話は始まりません。

コンテナ行が実際に保証するもの

数字は Hoody Containers API とスナップショットモデルから来ています。捏造のベンチマークではありません。

  1. アイドル月あたり$0

    アイドルコンテナは時間ごとの追加料金を発生させません。ベアメタルサーバーに対して支払うだけです。KSM と BTRFS の重複排除は、アイドルコンテナが既にレンタルしているサーバーに折り込まれることを意味します。

  2. ディスクフットプリントデルタ

    スナップショットはコンテンツアドレッシングされ、デルタとして保存されます。ベースイメージはそこから派生したすべてのコンテナで共有されます。ストレージは定額制のサーバー価格に含まれます — デルタごとの個別請求はありません。

  3. アイドルから復帰ウェイク

    GET /api/v1/containers/[id] は中断されたコンテナを解決します。プロキシドメインに触れる最初のリクエストがそれを起こします。見るのを止めたときの状態が、戻ってくる状態です。

Hoody Containers API によると: コンテナは snapshot_count と last_used_snapshot フィールドを持つ行として永続化されます。スナップショットの保持期間はプロジェクトのポリシーがデフォルトです。expires_at はスナップショットごとに設定可能です。

ステージングが生き続けられるのは、生かしておくことにもうコストがかからないからです。

以前 · 常時オンの請求書以後 · アイドル行
CFO がかつて見ていたもの$420/月 · 5× ec2 · 5× ebs · アイドルでも課金前四半期にチャートを小さくするために 2 環境を削除
今見えているものGET containers/staging-pr-2148 · 90 日アイドル · まだここにあるcron ジョブなし、クリーンアップ PR なし、「いつか必要になるかも」の墓場なし
コンテナリファレンスを読む

これが置き換えるもの

標準的な常時オンのステージングスタック、そしてその周りに育つ cron ジョブと部族の知識。それぞれが時間単位で請求します。Hoody はサーバーに定額制で課金します。ステージング環境がほとんどの時間アイドル状態なら、限界コストは構造的にゼロです。

  • AWS EC2 ステージングインスタンス誰もログインしていない日曜の 03:00 でも常に課金
  • Heroku ステージング dynoスリープモードはセッション状態を失い、起動時にコールドスタート税を加える
  • Render ステージングサービスURL に 1 回だけ触れても 1,000 回触れてもサービスごとの月額
  • カスタム 'staging-down' cron ジョブN 日以上アイドルの環境を削除する Lambda、加えて、なぜ自分のが消えたのか聞かれる Slack チャンネル
  • 「ステージングを削除した」技術的負債「またいつか役に立つかも」の環境一覧の Notion ページ。チャートを平らにするために潰された
  • 全員が取り合う共有「ステージング」10 人のレビュアーに 1 環境。3 つは高く感じたから。互いのブランチを踏みつぶす朝会の税金

節約のために環境を削除するのをやめましょう。墓場は今やワーキングセットです。

他のユースケースを読む