معماری چندکسبوکاری، تجاری و تجارت الکترونیک · فصل ۳ — Cost، Pricing، P&L، Entitlement و SLA · 237
Local Compute Costing
Build a local-compute TCO and unit-cost model that separates sunk cost, avoidable cost, capacity ownership, depreciation or replacement horizon, power, facility, license, support and utilization, then derives a bounded cost per useful compute unit with explicit scope. میتواند برای «Local Compute Costing» یک تصمیم bounded با constraints، cost/risk و stop/pivot condition طراحی کند.
Lesson summary
Build a local-compute TCO and unit-cost model that separates sunk cost, avoidable cost, capacity ownership, depreciation or replacement horizon, power, facility, license, support and utilization, then derives a bounded cost per useful compute unit with explicit scope.
میتواند برای «Local Compute Costing» یک تصمیم bounded با constraints، cost/risk و stop/pivot condition طراحی کند.
This lesson produces
میتواند برای «Local Compute Costing» یک تصمیم bounded با constraints، cost/risk و stop/pivot condition طراحی کند.
Who it is for
Foundation
Use a field map, one worked scenario and explicit state vocabulary before independent construction.
Repair
Identify the failed evidence dimension, use the smallest mutated fixture and rerun only the affected gate.
Experienced
Compress definitions; require trade-off defense, counterexample analysis and changed-context transfer.
Prerequisites
1) The real problem: “we already bought it, so it is free” is not a cost model
Assume two GPU servers were purchased last year. Finance calls the next workload nearly free because the invoice is already paid. Engineering ignores power, support, and idle capacity. Another analyst assigns the entire office lease to the two servers and concludes local compute is extremely expensive. Both views can be wrong because cost scope, cost behavior, and the denominator are not explicit.
2) Boundary and deliverable
The deliverable is Local Compute TCO & Unit-Cost Model v1. It supports a bounded internal decision; it does not define statutory accounting, tax treatment, live procurement, or a production migration. ARC-017 owns pricing floors and ARC-019 owns client P&L. This lesson owns only the local-compute economics slice.
3) Fact: on-premises TCO is more than server purchase price
AWS Migration Evaluator describes on-premises TCO coverage that includes server/storage, software/license/support, and facility/maintenance categories such as rack, infrastructure, power, and real estate. This is useful evidence about cost categories, but it does not decide MAKNOW sunk-versus-avoidable treatment.
4) Fact: utilization is an evidence input, not a slogan
AWS Migration Evaluator uses utilization evidence such as peak, average or median and percentile statistics when modeling source infrastructure. Therefore “usually idle” or “almost always busy” should not be a preference statement. Average utilization alone still does not prove reliability or safe capacity headroom, and this lesson makes no such claim.
5) Fact: Unit Economics is not limited to public cloud
FinOps Unit Economics links technology spend to units of use or value and distinguishes resource-efficiency unit metrics from business unit metrics. The practice can span technology categories including data centers. This lesson therefore declares a useful unit such as useful GPU-hour rather than dividing by an undefined “system size.”
6) Lock decision scope and measurement period first
asset_id, capacity_unit, and measurement_period must be explicit before cost math. If the model is annual, recurring costs and useful work must be normalized to that same period. Comparing annual license cost with monthly useful work, or changing the capacity-unit definition mid-model, produces a precise-looking but invalid unit cost.
7) Separate sunk history from forward ownership cost
acquisition_cost may be historical and already paid. If that cash no longer changes with today’s decision, it should not be counted again as a future avoidable cash cost. The opposite shortcut is also wrong: owned hardware is not automatically free. This lab uses a decision-control ownership basis: annual_ownership_cost = max(depreciation_basis - remaining_value, 0) / replacement_horizon. This is a local decision model, not statutory depreciation or accounting advice.
8) Include recurring costs only when they are in scope
The lab includes license, support, power, facility, maintenance, and compute-pool shared allocation in total_relevant_cost. Annual power is derived from average power_kw across the annual measurement period and energy_rate. An avoidable support renewal cannot be relabeled sunk to make cost look lower, while unrelated office overhead cannot be allocated to the compute pool merely to make local compute look higher.
9) Utilization, idle capacity, and useful work must reconcile
If full capacity is 17,520 GPU-hours per year and utilization is 35%, useful_work_units should be about 6,132 and idle capacity is 65%. If utilization doubles while useful work stays at the old value, the denominator is inconsistent and the decision becomes DISPUTED. Unit cost is meaningful only when its useful-work denominator is reproducible.
10) Baseline: owned hardware is not free, but historical purchase is not double-counted
The baseline fixture has historical acquisition of 24,000, sunk cost of 24,000, a decision-control basis of 18,000, remaining value of 3,000, and a three-year replacement horizon, giving an annual ownership basis of 5,000. License is 2,400, support 1,800, annual power 3,784.32, facility 3,000, maintenance 1,200, and shared allocation 800. Total relevant cost is 17,984.32. At 35% utilization and 6,132 useful units, unit cost is about 2.93. Because utilization is below the lab’s 40% governed minimum, the state is RESIZE, not “FREE” and not a generic failure.
11) Two negative cases: fake sunk support and unrelated overhead
If a support renewal is avoidable but classified as SUNK, the model artificially suppresses future cost and must become DISPUTED. If allocated_shared_cost comes from unrelated office overhead, the model artificially inflates local compute and is also DISPUTED. The state exists to stop an attractive number from hiding a classification error.
12) Core evidence contract
Every local-compute model carries the following 21 traceable dimensions. Sixteen are critical; a positive verdict cannot be produced when decisive evidence is absent.
| 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) What the typed states mean
LOCAL_OK means decisive evidence is complete, the utilization boundary passes, and unit cost does not exceed the declared ceiling. RESIZE means utilization is below the governed minimum and the capacity footprint should be reconsidered. REPRICE means unit cost exceeds the declared commercial/internal ceiling and must be reflected in pricing or placement. HOLD preserves missing evidence; DISPUTED preserves an invalid classification, scope, or denominator. These states are MAKNOW design, not AWS or FinOps mandates.
14) Transfer: utilization improves while several cost drivers worsen
In the transfer fixture, utilization rises from 35% to 70%, energy rate rises from 0.18 to 0.24, annual license cost becomes 3,600, and refresh is pulled forward so the replacement horizon falls from three years to two. Annual ownership basis rises to 7,500 and power cost to 5,045.76; total relevant cost is about 22,945.76. With 12,264 useful units, unit cost is about 1.87. Despite higher energy, license, and ownership terms, higher utilization reduces unit cost. This is why the full model must be recomputed rather than treating any single driver as the oracle.
15) Lab, assessment, and source freshness
The offline lab contains eight fixtures: low-utilization baseline, doubled utilization, support misclassification, unrelated overhead, missing energy rate, useful-work mismatch, license shock, and the full transfer. All checks are synthetic and deterministic; no credentials or production data are needed. AWS Migration Evaluator and FinOps Unit Economics were rechecked on 2026-09-15. A material semantic change before review due requires a new package version and requalification rather than silent mutation of the frozen Bible.
Assessment
There is no answer key in this lesson pack; answer it yourself and mark honestly. "Needs review" sends the lesson to your review queue.
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.
Assessment 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.
References & freshness
Case studies
Lesson visuals
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.
Lab files
فایل run_checks.py را اجرا کن. State هر Fixture را فقط از Evidence قابل مشاهده توضیح بده، سپس یک Driver مثل Utilization یا Energy Rate را تغییر بده و Unit Cost را دوباره محاسبه کن. هیچ Network، Credential یا دادهٔ Production لازم نیست.