コンテンツにスキップ
use-cases / idle-staging-stops-getting-deleted / hero
コンテナ · スナップショット · アイドル = 無料

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

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

コンテナのドキュメントを読む
use-cases / idle-staging-stops-getting-deleted / lifecycle

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

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

01 / アクティブ

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

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

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

10 日間誰も触っていない

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

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

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

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

再開まで数百ミリ秒

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

use-cases / idle-staging-stops-getting-deleted / powers

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

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

保存

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

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

スピード

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

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

ワーキングセット

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

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

use-cases / idle-staging-stops-getting-deleted / ledger

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 週間アイドルincluded
  • container staging-customer-acme · 4 週間アイドルincluded
  • container staging-payments-rebuild · 24 週間アイドルincluded
  • container staging-mobile-v3 · 今週アクティブincluded
  • container staging-launch-prep · 1 週間アイドルincluded
アクティブな週は表示される · 残りはコストゼロ

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

use-cases / idle-staging-stops-getting-deleted / numbers

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

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

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

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

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

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

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

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

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

use-cases / idle-staging-stops-getting-deleted / punchline

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

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

これが置き換えるもの

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

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

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

use-cases / idle-staging-stops-getting-deleted / related

他のユースケースを読む