معماری چندکسبوکاری، تجاری و تجارت الکترونیک · فصل ۳ — Cost، Pricing، P&L، Entitlement و SLA · 237
Local Compute Costing
معماری یا تصمیم تجاری را با preference و الگوهای آماده میگیرد و constraint/cost/serviceability را مدل نمیکند. موضوع جاری: «Local Compute Costing». میتواند برای «Local Compute Costing» یک تصمیم bounded با constraints، cost/risk و stop/pivot condition طراحی کند.
خلاصهٔ درس
معماری یا تصمیم تجاری را با preference و الگوهای آماده میگیرد و constraint/cost/serviceability را مدل نمیکند. موضوع جاری: «Local Compute Costing».
میتواند برای «Local Compute Costing» یک تصمیم bounded با constraints، cost/risk و stop/pivot condition طراحی کند.
خروجی این درس
میتواند برای «Local Compute Costing» یک تصمیم bounded با constraints، cost/risk و stop/pivot condition طراحی کند.
1) مسئلهٔ واقعی: «خریدهایم، پس رایگان است» یک مدل هزینه نیست
فرض کنید دو GPU Server سال قبل خریداری شدهاند. Finance میگوید چون پولشان قبلاً پرداخت شده، اجرای workload جدید روی آنها تقریباً رایگان است. Engineering هم Power، Support و Idle Capacity را نادیده میگیرد. در طرف مقابل، یک تحلیلگر تمام اجارهٔ دفتر را روی همین دو سرور میریزد و نتیجه میگیرد Local Compute بسیار گران است. هر دو رویکرد میتوانند غلط باشند؛ چون Scope، رفتار Cost و Denominator را شفاف نکردهاند.
2) مرز درس و خروجی قابل تحویل
خروجی این درس Local Compute TCO & Unit-Cost Model v1 است. این Artifact برای یک تصمیم bounded داخلی ساخته میشود و قرار نیست استاندارد حسابداری، Tax Treatment، خرید واقعی سختافزار یا Migration زنده را تعیین کند. Pricing Floor متعلق به ARC-017 است و Client P&L متعلق به ARC-019؛ این درس فقط اقتصاد Local Compute را مدل میکند.
3) Fact: TCO محلی فقط قیمت Server نیست
راهنمای AWS Migration Evaluator برای TCO محیط On-Premises، Server و Storage، Software/License/Support و Facility/Maintenance مثل Rack، Infrastructure، Power و Real Estate را از دستههای هزینه میداند. این منبع به ما میگوید چه دستههایی ممکن است مهم باشند؛ اما نمیگوید MAKNOW دقیقاً کدام هزینه را Sunk یا Avoidable بداند.
4) Fact: Utilization یک ورودی واقعی مدل ظرفیت است
AWS Migration Evaluator برای Source Infrastructure از دادههای Utilization مثل Peak، Average یا Median و Percentileها استفاده میکند. پس عبارت «این Server معمولاً بیکار است» یا «تقریباً همیشه پر است» بدون Measurement قابل اتکا نیست. با این حال Average Utilization بهتنهایی اثبات Reliability یا Capacity Headroom نیست؛ این درس آن ادعا را نمیکند.
5) Fact: Unit Economics فقط مخصوص Public Cloud نیست
FinOps Unit Economics، Technology Spend را به واحد ارزش یا مصرف وصل میکند و Resource-Efficiency Unit Metric را از Business Unit Metric جدا میکند. این Practice میتواند Data Center را هم پوشش دهد. برای این درس، واحد باید صریح باشد؛ مثلاً GPU-hour useful یا یک واحد پردازش تعریفشده، نه «هزینهٔ کل سیستم» بدون Denominator.
6) قبل از محاسبه، Decision Scope و Measurement Period را قفل کن
asset_id، capacity_unit و measurement_period باید قبل از Cost Math مشخص باشند. اگر یک مدل سالانه است، هزینههای دورهای و Useful Work هم باید به همان دوره برگردند. مقایسهٔ Annual License با Monthly Useful Work یا استفاده از دو تعریف متفاوت برای Capacity Unit، Unit Cost را ظاهراً دقیق ولی عملاً بیمعنا میکند.
7) Sunk Cost را از Forward Ownership Cost جدا کن
acquisition_cost میتواند تاریخی و پرداختشده باشد؛ اگر این پرداخت دیگر با تصمیم امروز تغییر نمیکند، نباید دوباره بهعنوان Future Avoidable Cash Cost جمع شود. اما نتیجهٔ معکوس هم غلط است: «Owned = Free». این Lab یک Decision-Control Ownership Basis تعریف میکند: annual_ownership_cost = max(depreciation_basis - remaining_value, 0) / replacement_horizon. این فرمول یک Design آموزشی برای تصمیم آینده است، نه دستور Depreciation قانونی یا حسابداری.
8) Recurring Costها را فقط وقتی مرتبطاند وارد کن
در Scope این Lab، License، Support، Power، Facility، Maintenance و Shared Allocation مرتبط با Compute Pool وارد total_relevant_cost میشوند. Power از Average power_kw در Measurement Period سالانه و energy_rate ساخته میشود. یک Support Renewal که فردا قابل لغو است را نمیتوان فقط برای پایین آوردن هزینه «Sunk» نامید؛ و اجارهٔ نامرتبط کل دفتر هم نباید بدون Causal Scope به GPU Pool تخصیص داده شود.
9) Utilization، Idle Capacity و Useful Work باید به هم بخورند
اگر Full Capacity برابر 17,520 GPU-hour در سال باشد و Utilization برابر 35٪، useful_work_units باید حدود 6,132 باشد و Idle Capacity برابر 65٪. اگر Utilization دو برابر شود ولی Useful Work همان عدد قبلی بماند، Denominator ناسازگار شده و تصمیم باید DISPUTED شود. Unit Cost فقط وقتی معنی دارد که Denominator قابل بازتولید باشد.
10) مثال پایه: سختافزار رایگان نیست، اما Purchase قبلی هم دوباره جمع نمیشود
در Fixture پایه، Acquisition تاریخی 24,000، Sunk Cost برابر 24,000، Decision-Control Basis برابر 18,000، Remaining Value برابر 3,000 و Replacement Horizon سه سال است؛ بنابراین Annual Ownership Basis برابر 5,000 میشود. با License 2,400، Support 1,800، Power سالانه 3,784.32، Facility 3,000، Maintenance 1,200 و Shared Allocation برابر 800، Total Relevant Cost برابر 17,984.32 است. در 35٪ Utilization و 6,132 Useful Unit، Unit Cost حدود 2.93 میشود. چون Utilization زیر Floor طراحیشدهٔ 40٪ است، State این Fixture RESIZE است؛ نه «FREE» و نه «FAIL» کلی.
11) دو Negative Case: Support جعلیِ Sunk و Overhead نامرتبط
اگر Support Renewal واقعاً Avoidable است اما بهصورت SUNK ثبت شود، مدل هزینه را مصنوعی پایین میآورد؛ State باید DISPUTED باشد تا Classification اصلاح شود. اگر allocated_shared_cost از Unrelated Office Overhead آمده باشد، مدل هزینه را مصنوعی بالا میبرد؛ باز هم DISPUTED. هدف این State این است که عدد غلط را با یک Verdict زیبا پنهان نکنیم.
12) قرارداد شواهد اصلی
هر Local Compute Model باید 21 بُعد زیر را قابل ردیابی نگه دارد. 16 بُعد Critical هستند و بدون آنها Verdict مثبت صادر نمیشود.
| Field | Critical | Purpose |
|---|---|---|
asset_id | YES | Stable local-compute asset/pool identifier |
capacity_unit | YES | Declared full-capacity unit, e.g. GPU-hour |
acquisition_cost | YES | Historical purchase amount; not automatically future avoidable cost |
sunk_cost | YES | Historical amount classified as already incurred under the bounded decision |
remaining_value | NO | Declared residual/remaining value used by the local ownership basis |
replacement_horizon | YES | Years remaining in the bounded refresh/replacement horizon |
depreciation_basis | NO | Decision-control ownership/replacement basis used by this lesson |
license_cost | YES | Recurring license cost in the measurement period |
support_cost | YES | Recurring support cost in the measurement period |
power_kw | YES | Average measured power draw used for the period model |
energy_rate | YES | Energy price per kWh |
facility_cost | YES | In-scope facility/rack/infrastructure cost for the compute pool |
maintenance_cost | NO | In-scope maintenance cost |
utilization_pct | YES | Measured useful utilization percentage |
idle_capacity | YES | 100 - utilization_pct |
useful_work_units | YES | Measured useful work denominator for unit cost |
measurement_period | NO | Period boundary shared by costs and useful work |
allocated_shared_cost | NO | Explicitly in-scope shared cost allocation only |
unit_cost | YES | Total relevant cost / useful work units |
sensitivity_driver | YES | Named assumption/cost driver requiring sensitivity attention |
evidence_ref | YES | Trace to synthetic row or reviewed evidence |
13) Typed Stateها چه معنی دارند؟
LOCAL_OK یعنی Evidence کامل است، Utilization Boundary پاس شده و Unit Cost از Ceiling تعریفشده عبور نکرده است. RESIZE یعنی Utilization آنقدر پایین است که ظرفیت باید دوباره بررسی یا Consolidate شود. REPRICE یعنی Unit Cost از سقف تجاری/داخلی تعریفشده بیشتر است و Cost Basis باید در Pricing یا Placement Decision منعکس شود. HOLD برای Evidence ناقص و DISPUTED برای Classification، Scope یا Denominator ناسازگار است. این Stateها Design پروژه هستند، نه حکم AWS یا FinOps.
14) Transfer: Utilization بالا میرود، اما چند Cost Driver هم بدتر میشوند
در Transfer، Utilization از 35٪ به 70٪ میرسد، Energy Rate از 0.18 به 0.24 افزایش مییابد، License سالانه به 3,600 میرسد و Refresh یک سال جلو میافتد؛ Replacement Horizon از سه سال به دو سال کاهش مییابد. Annual Ownership Basis به 7,500 و Power Cost به 5,045.76 میرسد؛ Total Relevant Cost حدود 22,945.76 میشود. با 12,264 Useful Unit، Unit Cost حدود 1.87 است. با وجود گرانتر شدن Energy/License/Ownership، افزایش Utilization باعث کاهش Unit Cost شده است. این دقیقاً دلیل Recompute است: هیچ Driver را جداگانه Oracle نکن.
15) Lab، Assessment و Freshness
Lab آفلاین هشت Fixture دارد: Baseline کماستفاده، Double Utilization، Support Misclassification، Unrelated Overhead، Missing Energy Rate، Useful-Work Mismatch، License Shock و Transfer کامل. همهٔ تستها Synthetic و Deterministic هستند و Credential یا Production Data نمیخواهند. AWS Migration Evaluator و FinOps Unit Economics در 2026-09-15 دوباره بررسی شدند؛ اگر Semantics منبع تا Review Due تغییر معنادار کند، Package باید با Version جدید Requalify شود و Frozen Bible نباید بیصدا تغییر کند.
ارزیابی
پاسخنامهی این درس در بستهی آموزش وجود ندارد؛ خودت جواب بده و صادقانه علامت بزن. «نیاز به مرور» درس را به صف تکرار میفرستد.
ARC-018-Q1 retrieval
Explain why historical acquisition cost can be sunk while owned local capacity still should not be modeled as automatically zero-cost.
ARC-018-Q2 application
Build Local Compute TCO & Unit-Cost Model v1 for the baseline fixture and justify its typed state.
ARC-018-Q3 diagnosis
An avoidable support renewal is classified as sunk and unrelated office rent is allocated to the compute pool. Which evidence dimensions fail and why?
ARC-018-Q4 transfer
Recompute after utilization rises to 70%, electricity price increases, a license becomes subscription-based, and replacement is pulled forward one year.
ملاکهای ارزیابی (rubric)
Pass requires: explicit asset/period/useful-unit scope; sunk versus forward-cost separation; complete critical evidence; valid utilization/useful-work denominator; in-scope recurring/shared costs only; no invented evidence; and independent recomputation of the transfer fixture.
منابع و تازگی
مطالعهٔ موارد (case studies)
تصاویر درس
Flow from asset and capacity scope through sunk/forward cost classification, recurring costs, utilization and useful work to unit cost and bounded LOCAL_OK, RESIZE, REPRICE, HOLD or DISPUTED states.
فایلهای آزمایشگاه
فایل run_checks.py را اجرا کن. State هر Fixture را فقط از Evidence قابل مشاهده توضیح بده، سپس یک Driver مثل Utilization یا Energy Rate را تغییر بده و Unit Cost را دوباره محاسبه کن. هیچ Network، Credential یا دادهٔ Production لازم نیست.