معماری چندکسب‌وکاری، تجاری و تجارت الکترونیک · فصل ۱ — Venture Separation، Shared Interface، Resource و Tenant · 226

Dedicated Instance Pattern

Design a dedicated-instance decision that names which resource planes are actually dedicated, keeps product and operations as shared as the evidence allows, quantifies the cost and fleet burden, and defines eligibility, version parity, drift detection, migration and stop/pivot conditions before a tenant-specific footprint is accepted. می‌تواند برای «Dedicated Instance Pattern» یک تصمیم bounded با constraints، cost/risk و stop/pivot condition طراحی کند.

Dedicated Instance Pattern — fa-IR

Lesson summary

Design a dedicated-instance decision that names which resource planes are actually dedicated, keeps product and operations as shared as the evidence allows, quantifies the cost and fleet burden, and defines eligibility, version parity, drift detection, migration and stop/pivot conditions before a tenant-specific footprint is accepted.

می‌تواند برای «Dedicated Instance Pattern» یک تصمیم bounded با constraints، cost/risk و stop/pivot condition طراحی کند.

This lesson produces

می‌تواند برای «Dedicated Instance Pattern» یک تصمیم 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) Dedicated is a boundary decision, not a customer fork

A request for a “dedicated instance” does not automatically justify a separate codebase, release train, identity system, or operations team. Dedicated Instance Eligibility & Fleet Contract v1 first asks which resource planes must actually be dedicated and which product/control-plane capabilities can remain shared.

2) Start from a hard isolation reason

Write the reason in evidence: regulation, data residency, hard performance isolation, or another explicit constraint. “The customer prefers dedicated” is not enough. If the hard reason disappears, the existing footprint must be re-evaluated instead of being preserved by inertia.

3) Separate dedicated planes from the shared control plane

A tenant can have dedicated compute and data while identity, onboarding, release orchestration, observability standards, incident tooling, and product governance remain shared. This distinction is how a SaaS silo avoids becoming a managed one-off product.

4) External facts versus MAKNOW design

Azure Deployment Stamps and AWS SaaS isolation guidance establish useful patterns: a stamp may be single-tenant, silo resources can coexist with shared SaaS operations, and dedicated premium environments can stay on the same product version. They do not define MAKNOW eligibility thresholds or pricing rules.

5) Reserve capacity honestly

A dedicated footprint must reserve enough capacity for the declared peak. Compare reserved_capacity with peak_capacity_requirement under the same scope. Idle capacity still has recurring cost and fleet burden; it is not free simply because the customer is not using it.

6) Expose the unit-cost floor

The simplest floor in this lab is recurring reserved cost divided by projected useful units. It is not a billing formula. It is a guard against approving a dedicated footprint without seeing the economic consequence of unused reserved capacity.

7) Automation is a fleet gate

One dedicated tenant may look manageable. A fleet of dedicated tenants is different. Provisioning, upgrades, observability, backup, restore, drift checks, incident response and decommissioning need automation. A low automation score is a recurring operations liability, not a one-time setup issue.

8) Keep one product version

A dedicated resource plane should not silently become tenant-specific application code. Same-version operation and a shared upgrade policy preserve a common product. An unapproved customer-only branch is a rejection signal because it creates release and support divergence.

9) Treat configuration delta and drift separately

Configuration may legitimately vary within an approved envelope. Drift is uncontrolled divergence from that envelope. Record both. Unknown drift evidence is a HOLD; confirmed unmanaged drift can invalidate the footprint until repaired.

10) Observability and backup are part of the footprint

A dedicated deployment that is invisible to common monitoring or lacks a tested backup/restore profile is not operationally ready. Isolation does not excuse missing operational controls.

11) Build the contract as evidence

The working table connects the requirement, dedicated/shared boundary, capacity, cost, automation, version/drift and lifecycle evidence to one bounded state.

TenantHard reasonDedicated planesShared control planePeak/ReservedCost floorAutomationVersion/DriftMigrationDecision
regulated-baselineregulatorycompute+dataidentity+onboarding+ops100/1200.3695%same/CLEANdefinedELIGIBLE
no-hard-reasonnonecompute+dataidentity+onboarding+ops100/1200.3695%same/CLEANdefinedREJECT
customer-forkregulatorycompute+dataidentity+onboarding+ops100/1200.3695%customer-fork/DRIFTEDdefinedREJECT
pooled-now-compliantnonecompute+dataidentity+onboarding+ops200/2200.4096%same/CLEANincompleteHOLD

12) Negative case: dedicated without a hard reason

If the regulatory or performance constraint disappears but dedicated infrastructure remains, the architecture is not automatically still ELIGIBLE. The reason gate fails. If a compliant pooled option now exists, evaluate migration rather than treating sunk effort as justification.

13) Negative case: a tenant-only branch

A customer-only code branch changes the product boundary, not just the infrastructure boundary. Unless a separate product model has been explicitly authorized elsewhere, this lesson treats that branch as an invalid shortcut and returns REJECT.

14) Transfer: pooled isolation becomes compliant

Six months later the regulation is removed, workload doubles, and the pooled platform gains a compliant isolation control. Recompute from new evidence. If migration is clearly safe and defined, recommend a return to pooled capacity. If migration evidence is incomplete, preserve HOLD even if the target architecture looks preferable.

15) Completion test

You can finish when another reviewer can reproduce the same bounded state from visible evidence: hard reason, dedicated/shared planes, capacity, unit-cost floor, automation, version and upgrade policy, configuration/drift, observability, backup/restore, migration path, decommission trigger and evidence references. Never strengthen the verdict beyond the evidence.

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-007-S1 retrieval

Explain the owned boundary of Dedicated Instance Pattern and name one adjacent non-goal.

lesson ✗AI ✗notes ✗

ARC-007-S2 application

Build Dedicated Instance Eligibility & Fleet Contract v1 for the baseline synthetic fixture.

lesson ✗AI ✗notes ✗

ARC-007-S3 diagnosis

Remove the hard isolation requirement while keeping dedicated infrastructure. Which field/state changes and why?

lesson ✗AI ✗notes ✗

ARC-007-S4 transfer

Regulation is removed, workload doubles and pooled isolation becomes compliant. Recompute remain/migrate/HOLD from changed evidence.

lesson ✗AI ✗notes ✗
Assessment rubric

A passing response keeps the lesson boundary explicit, binds FACT/INFERENCE/DESIGN correctly, exposes negative evidence, chooses a verdict no stronger than the evidence, and rebuilds the transfer decision from changed evidence. Missing decisive evidence must remain typed rather than being guessed.

References & freshness

Azure Architecture Center — Architectural approaches for a multitenant solution / Deployment Stamps
·
AWS SaaS Lens — Silo, Pool, and Bridge Models
·
AWS SaaS Lens — Tier-based isolation
·

Case studies

Lesson visuals

ARC-007-DEDICATED-FLEET-FLOW

Tenant requirement flows through dedicated/shared plane boundary, capacity/cost/automation and version/drift gates to ELIGIBLE, HOLD or REJECT, followed by lifecycle and migration/decommission.

Lab files

دستور python run_checks.py را Offline اجرا کنید. برای هشت Fixture توضیح دهید کدام Gate مربوط به Hard Reason، Capacity/Cost، Fleet یا Lifecycle State را کنترل می‌کند. Dedicated Footprint را به Product جداگانه‌ی مشتری تبدیل نکنید.