انتقل إلى المحتوى
use-cases / idle-staging-stops-getting-deleted / hero
حاويات · لقطات · الخمول = مجاني

البيئة التجريبية الخاملة لا تكلّف شيئًا، لذا توقّف عن حذفها

على AWS، تموت بيئة التجربة لأن كل ساعة خمول هي ساعة محاسبة. على Hoody، الحاويات الخاملة تستهلك قرصًا وصفر CPU — فالبيئة التي لمسها مراجعك قبل ثلاثة أسابيع لا تزال هناك، بنفس الحالة التي تركها فيها. تتحول المقبرة إلى مجموعة عمل.

اقرأ وثائق الحاويات
use-cases / idle-staging-stops-getting-deleted / lifecycle

ما تفعله الحاوية الخاملة فعليًا

ثلاث حالات، صف حاوية واحد، فاتورة واحدة. الحالة النشطة تستهلك CPU. حالة الخمول لا تستهلك شيئًا. حالة الاستيقاظ تستغرق بضع مئات من المليثانيات وتعود بيئة التجربة بنفس الطريقة التي تركتها.

01 / نشط

المراجع يعبث بها

زميلك مسجّل الدخول، يجرّب نقطة النهاية الجديدة، يراقب اللوحة. عمليات الحاوية مجدولة، صفحات ذاكرتها ساخنة، وقت CPU حقيقي. هذه هي الحالة الوحيدة التي تكلفك شيئًا.

أثناء المراقبةمحاسَب
02 / خامل

لم يلمسها أحد منذ عشرة أيام

الحاوية معلّقة. نظام ملفاتها لا يزال يُحلّ، ودلتا قرصها لا يزال موجودًا، ونطاق الوكيل لا يزال يجيب. KSM يزيل الحد من صفحات الذاكرة المتطابقة و BTRFS يزيل الحد من كتل القرص عبر الحاويات على نفس الخادم — تكلفة الخمول الهامشية ليست صفر هيكليًا. لا يضيف شيئًا إلى سعر الخادم بالسعر الثابت الذي تدفعه بالفعل.

أثناء الخمولno extra charge
03 / استيقاظ

أحدهم يطرق العنوان — وقد عادت

أول طلب يصل يوقظ الحاوية. نفس معرّف الحاوية، نفس متغيرات البيئة، نفس الوحدات، نفس مضيف SSH. الحالة التي تركها مراجعك هي الحالة التي تعود. لا سكربت استعادة، ولا تجهيز جديد، ولا يوم لإعادة بناء ما حذفته.

للاستئنافبضع مئات من المليثانية

Hoody تحاسب الخادم، بالسعر الثابت. حالة الخمول هي بقية حياة الحاوية — وهي الحالة التي تعيش فيها كل بيئة تجريبية معظم الوقت. KSM و BTRFS dedup يعنيان أن الحاويات الخاملة لا تضيف شيئًا إلى سعر الخادم.

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

ما يغيره هذا في بيئة التجربة

بمجرد أن يصبح الخمول مجانيًا، تتوقف عن اتخاذ القرارات التي كانت بيئة التجربة تتخذها بالنيابة عنك.

الحفاظ

تتوقف عن حذف البيئات لتوفير المال

البيئة التي استخدمها مراجعك قبل ثلاثة أسابيع لا تزال هناك، معلّقة، يمكن الوصول إليها عبر معرّف الحاوية. لا يراها المدير المالي على الفاتورة لأنها ليست على الفاتورة. المحادثة التي كانت تنتهي بـ ”دمّر اثنتين من ثلاث“ لا تحدث.

السرعة

تتوقف عن إعادة بناء ما حذفته

المراجع يطرق العنوان، الحاوية تستيقظ، جلسته تستأنف. لا تجهيز جديد، ولا بيانات أوّلية، ولا انتظار لـ Heroku dyno حتى يعود من النوم. عمل أمس بعد الظهر هو نقطة بداية ظهر اليوم التالي.

مجموعة العمل

المقبرة تتحول إلى مجموعة عمل

بيئة الإطلاق للربع الماضي، إعادة بناء المدفوعات المهجورة، العرض المخصّص للعميل من الربع الرابع — كلها تبقى حية بتكلفة صفر. حين يسأل أحدهم ”هل لا تزال لدينا تلك البيئة؟“ يكون الجواب نعم.

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

ما كان يراه المدير المالي، وما يراه الآن

بنود فاتورة AWS لأسطول بيئات تجريبية دائم التشغيل، وما تنهار إليه تلك البنود حين لا يكلّف الخمول شيئًا.

الفاتورة القديمة · دائم التشغيلمحاسَب بالساعة
  • ec2 staging-pr-2148 · t3.medium · 720 ساعة
  • ec2 staging-customer-acme · m5.large · 720 ساعة
  • ec2 staging-payments-rebuild · t3.large · 720 ساعة
  • rds staging-db cluster · 720 ساعة
  • elb shared-staging-alb · 720 ساعة
  • ebs gp3 attached volumes · 1.4 TB
خمس بيئات · ستة بنود · طلب سحب تنظيف معلّق إلى الأبد
الفاتورة الجديدة · مجاني عند الخمولخادم بالسعر الثابت · الخمول لا يضيف شيئًا
  • 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 · خامل أسبوعًا واحدًاincluded
الأسبوع النشط يظهر · والباقي لا يكلّف شيئًا

المدير المالي لا يسأل عن البيئات الخاملة الثلاث لأنها لا تظهر. المحادثة حول حذفها لا تبدأ أبدًا.

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

ما يضمنه صف الحاوية فعليًا

الأرقام تأتي من واجهة Hoody Containers ونموذج اللقطات — لا من معايير مخترعة.

  1. لكل شهر خمول$0

    الحاوية الخاملة لا تضيف أي رسم في الساعة. تدفع ثمن خادم الخادم الفعلي — سعر ثابت. KSM و BTRFS dedup يعنيان أن الحاويات الخاملة تنطوي على الخادم الذي تستأجره بالفعل.

  2. بصمة القرصدلتا

    اللقطات موجَّهة بالمحتوى ومخزَّنة كـ deltas. صورة الأساس مشتركة عبر كل حاوية انحدرت منها. التخزين مشمول في سعر الخادم بالسعر الثابت — بدون رسم لكل دلتا منفصل.

  3. العودة من الخمولاستيقاظ

    GET /api/v1/containers/[id] يحلّ الحاوية المعلّقة. أول طلب يلمس نطاق الوكيل يوقظها؛ الحالة التي كانت لديها حين توقفت عن المراقبة هي الحالة التي تعود.

وفقًا لواجهة Hoody Containers: تستمر الحاويات كصفوف بحقول snapshot_count و last_used_snapshot. الاحتفاظ باللقطات يعتمد افتراضيًا على سياسة مشروعك؛ expires_at قابل للتكوين لكل لقطة.

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

بيئة التجربة تعيش، لأن إبقاءها حيّة لم يعد يكلّف شيئًا.

قبل · فاتورة دائم التشغيلبعد · صف الخمول
ما كان المدير المالي يراه$420/شهر · 5× ec2 · 5× ebs · الخمول لا يزال محاسَبًابيئتان حُذفتا في الربع الماضي لتصغير الرسم البياني
ما يرونه الآنGET containers/staging-pr-2148 · خامل 90 يومًا · لا يزال هنالا cron، لا طلب سحب تنظيف، لا مقبرة ”سنحتاجها يومًا ما“
اقرأ مرجع الحاويات
use-cases / idle-staging-stops-getting-deleted / replaces

ما يحلّ هذا محلّه

حزمة بيئة التجربة الدائمة التشغيل القياسية — ووظائف cron والمعرفة القبلية التي تنمو حولها. كل واحدة تحاسبك بالساعة. حاوية Hoody تحاسبك بالساعة النشطة، وهي بالنسبة لبيئة التجربة معظم اللاشيء.

  • نسخ AWS EC2 التجريبيةمحاسَبة دائمًا، حتى في الساعة 03:00 من يوم الأحد دون أحد مسجّل
  • Heroku staging dynosوضع النوم يفقد حالة الجلسة ويضيف ضريبة بدء بارد عند الاستيقاظ
  • خدمات Render التجريبيةرسوم شهرية لكل خدمة سواء طُرق العنوان مرة واحدة أو ألف مرة
  • وظائف cron مخصصة لإيقاف بيئات التجربةLambda يحذف أي بيئة خاملة > N أيام، بالإضافة إلى قناة slack حيث يسأل الناس لماذا اختفت بيئتهم
  • دين تقني ”حذفنا بيئة التجربة“صفحة Notion ببيئات ”قد تكون مفيدة مرة أخرى“ لكنها دُمّرت لتسطيح الرسم البياني
  • بيئة تجربة مشتركة يتقاتل عليها الجميعبيئة واحدة لعشرة مراجعين لأن ثلاثًا بدت مكلفة — ضريبة الاجتماع اليومي للدوس على فروع بعضهم البعض
use-cases / idle-staging-stops-getting-deleted / cta

توقّف عن حذف البيئات لتوفير المال. المقبرة الآن مجموعة عمل.

اقرأ وثائق اللقطات
use-cases / idle-staging-stops-getting-deleted / related

اقرأ الآخرين