Business outcome
Workflow, users, owner, baseline and target benefit.
A practical operating blueprint for private, hybrid and air-gapped inference.
Local inference is not a server purchase. It is an operating capability that joins workload economics, model evidence, infrastructure, access control, supply-chain security and lifecycle discipline. This handbook covers the whole path — and the 28-page PDF adds the sizing worksheet, scorecard, readiness checklist, air-gap release record and incident runbook.
It is the enterprise's ability to place, evaluate, operate and replace models inside a controlled service. Each stage below produces an evidence pack before the next commitment is made.
| Decision | What must be explicit | Evidence to approve |
|---|---|---|
| Placement | Why local, hybrid, cloud or air-gapped operation is proportionate. | Data-flow map; dependency map; jurisdiction and threat assessment. |
| Service envelope | Users, tasks, demand, quality, latency, availability and recovery. | Representative traces; SLO definitions; demand scenarios. |
| Control ownership | Who owns models, runtime, identity, data, retrieval, release and incidents. | RACI; architecture; change and access workflows. |
| Economic case | Three-year expected, stress and exit scenarios. | Measured capacity; utilisation; energy; labour; support; refresh and dual-run. |
| Lifecycle authority | Who may approve, promote, roll back and retire releases. | Evaluation gates; signed release record; rollback rehearsal. |
Choose the smallest architecture that meets the workload's evidence-based control and service objectives. Locality can reduce exposure and dependency; it does not by itself prove security, privacy or compliance.
Local deployment can be compelling when demand is predictable, data or latency constraints are material and the organisation can operate the stack. It can be expensive when accelerators sit idle or model change forces refreshes. There is no universal token-volume break-even point.
Start with workload and control requirements. "Keep everything on premises" is a topology preference until it is tied to data, latency, resilience, sovereignty or dependency evidence.
Higher control need, predictable demand. Stable load with a strong locality or latency requirement.
Higher control need, bursty demand. A sensitive core with elastic or specialist overflow.
Lower control need, predictable demand. Variable load and lower sensitivity — preserve portability.
Lower connectivity tolerance, high consequence. Disconnected or safety-critical environments.
| Pattern | Best fit | Principal trade-off | Mandatory proof |
|---|---|---|---|
| Local-first | Predictable demand; tight latency or data boundary. | Capacity and specialist operations are owned internally. | Utilisation; failover; support; refresh economics. |
| Hybrid controlled | Sensitive core plus elastic or specialist overflow. | Policy and evidence must remain consistent across locations. | Routing policy; data classification; egress tests. |
| Cloud with exit | Bursty demand; rapid experimentation; lower locality need. | Provider dependency, variable cost and data-path complexity. | Residency; data use; cost caps; export and reconstitution. |
| Restricted / air-gapped | Disconnected or high-consequence environment. | Updates, support and evidence movement become deliberate logistics. | Controlled import; internal mirrors; time integrity; incident process. |
Workflow, users, owner, baseline and target benefit.
Inputs, outputs, retrieval sources, tool actions, classifications and jurisdictions.
Quality, time to first token, end-to-end latency, availability, RTO and RPO.
Requests, input/output tokens, context, concurrency, peaks and growth scenarios.
Why the chosen pattern is proportionate and which alternatives were rejected.
Named owners for identity, model, runtime, data, security, service and release.
The date or condition that triggers reassessment — demand, model or law change.
Local deployment narrows some external data paths, but insiders, misconfiguration, vulnerable dependencies, over-privileged retrieval and ungoverned outputs remain material risks.
A useful requirement describes an end-to-end request: who initiates it, what data enters, how much context is used, what evidence is required, what action may follow and how failure is handled.
| Measure | Capture | Why it matters |
|---|---|---|
| Request rate | Per minute/hour/day; P50, P95 and maximum burst duration. | Drives replica count, queueing and admission control. |
| Input tokens | Distribution by task, including retrieved context and system instructions. | Affects prefill time and KV cache. |
| Output tokens | Distribution and stop reasons by task. | Affects decode time, cost and concurrency. |
| Concurrent sequences | Active requests by user group and priority. | Determines cache pressure and scheduling. |
| Quality threshold | Task-level acceptance and grounding criteria. | Prevents performance optimisation from degrading usefulness. |
| Latency objective | Time to first token and completion, by percentile and priority. | Separates interactive from batch designs. |
| Availability / recovery | SLO, maintenance windows, RTO and RPO. | Defines redundancy, spares, rollback and operational burden. |
| Growth / seasonality | Expected, stress and launch scenarios with assumptions. | Avoids overfitting the design to one month. |
| Dimension | Example definition pattern |
|---|---|
| Quality | At least [target] task success on versioned test set [ID], with no critical regression by segment. |
| Grounding | At least [target] claims supported by accessible source evidence; unsupported high-impact claims trigger abstention. |
| Latency | P95 time to first token ≤ [x] ms and P95 completion ≤ [y] s for workload profile [ID]. |
| Availability | Monthly successful-request ratio ≥ [target], excluding only agreed maintenance and rejected invalid requests. |
| Security | No unauthorised retrieval or tool action across the approved adversarial suite; critical findings block release. |
| Recovery | Restore service within [RTO] and accepted release/configuration state within [RPO], demonstrated twice yearly. |
Model size alone does not determine capacity. Precision, architecture, context, concurrency, runtime, batching, parallelism and service objectives all interact. Measure the complete serving envelope under the intended runtime and request mix.
parameters × bits per weight ÷ 8 Add space for scales, metadata, runtime buffers, activations, graphs and allocator behaviour.
2 × layers × KV heads × head dim × active tokens × bytes Confirm the architecture and runtime implementation: grouped-query attention, cache precision, paging and prefix caching materially change the result.
A quantised checkpoint that fits in aggregate VRAM is not yet a service. Reserve measured headroom and test fragmentation, long-context requests, concurrency spikes and replica recovery.
Freeze a candidate release set: model, tokenizer, quantisation, runtime, drivers, firmware, kernel, configuration and test data.
Define workload profiles with token distributions, concurrency, arrival pattern, priority classes and retrieval or tool overhead.
Warm the system using the same cache policy intended for production; disclose cold-start and warm-start results separately.
Measure quality first. Reject configurations that miss the task threshold even if throughput improves.
Record time to first token, inter-token latency, end-to-end latency, tokens per second, queue time, error rate and peak memory by percentile.
Exercise saturation, accelerator failure, replica restart, model load, rolling upgrade and rollback. Observe recovery and dropped work.
Repeat enough runs to show variability; retain raw results, commands and configuration for independent reproduction.
| Step | Calculation / decision |
|---|---|
| 1. Effective demand | Peak admitted request rate × measured tokens per request, segmented by profile. |
| 2. Serviceable throughput | Use the lowest throughput that still meets quality and percentile latency SLOs. |
| 3. Required replicas | Effective demand ÷ serviceable throughput, rounded up by model and priority pool. |
| 4. Resilience | Add capacity for the agreed failure domain: replica, host, rack, site or region. |
| 5. Headroom | Add explicit growth and operational headroom; do not hide it inside an optimistic benchmark. |
| 6. Revalidate | Repeat when model, runtime, quantisation, context, prompt, GPU or workload mix changes. |
A production platform separates policy and release control from the high-throughput request path, while preserving one correlated evidence trail.
| Layer | Core responsibilities | The failure question to answer |
|---|---|---|
| Gateway | Authenticate; classify; rate-limit; route; enforce context, budget and policy. | What is rejected, queued, degraded or failed closed? |
| Inference pools | Load approved artefacts; batch; schedule; isolate; expose runtime metrics. | Can one model or tenant exhaust the pool? |
| Private RAG | Ingest; preserve ACLs; index; retrieve; rerank; cite; delete. | Can a user retrieve content they cannot open at source? |
| Tool services | Constrain credentials, actions, approvals, idempotency and reversal. | Can model text broaden authority? |
| Control plane | Register; configure; deploy; evaluate; promote; roll back; retain evidence. | Can an operator reconstruct who changed what and why? |
| Platform | GPU scheduling, storage, network, secrets, time, backup and disaster recovery. | Which failure domain remains after redundancy? |
Keep model-serving endpoints private. Place authentication, policy, quotas, request limits, routing and audit at a controlled gateway; do not rely on every model runtime to implement enterprise policy consistently.
Treat runtime selection as a benchmarkable engineering decision. Capabilities change quickly — validate the current official documentation and the exact release you will operate.
| Criterion | Questions to answer |
|---|---|
| Compatibility | Does the exact model architecture, tokenizer, quantisation and hardware combination work — and remain supported? |
| Scheduling | How are continuous batching, priorities, preemption, prefix sharing and long requests handled? |
| Parallelism | Which tensor, pipeline, data or expert parallel modes are supported, and with what failure behaviour? |
| Memory | How are KV cache, paging, cache precision, fragmentation and admission limits exposed? |
| Operations | Are health, readiness, metrics, structured logs, tracing, drain, reload and rolling upgrade production-ready? |
| Security | Can the image be pinned, scanned, signed, run without broad privileges and isolated from arbitrary code execution? |
| Supportability | What release cadence, compatibility policy, critical-fix process and rollback path are available? |
Select a releaseable model package, not a leaderboard entry. The evidence card must cover quality, safety, licence, provenance, operability and measured resource demand.
| Evidence field | Minimum record |
|---|---|
| Identity | Publisher, repository, immutable revision, artefact hashes, tokenizer and architecture. |
| Purpose | Approved tasks, languages, users, data classes, prohibited uses and known limitations. |
| Quality | Versioned internal evaluations, segment results, uncertainty and regression comparison. |
| Safety | Abuse, leakage, prompt-injection, tool-use and high-impact failure tests; mitigations and residual risk. |
| Licence | Weights, code, tokenizer and dataset terms; attribution, use restrictions, redistribution and downstream duties. |
| Provenance | Publisher documentation, origin, modification history, signatures or attestations, bill of materials and scan record. |
| Serving | Runtime, precision, quantisation method, hardware, context, memory, throughput, latency and recovery evidence. |
| Approval | Owner, reviewers, release decision, conditions, expiry, superseding version and rollback target. |
A downloadable checkpoint may still carry use restrictions, redistribution terms or missing training-data freedoms. Evaluate each component and intended use. The Open Source Initiative's definition is a useful reference point, but legal review must assess the actual terms supplied with the release.
| Question | Required proof |
|---|---|
| Why this method? | Expected memory, throughput and hardware benefit versus supported alternatives. |
| What changed? | Method, calibration data, group size, compute/cache precision and conversion tooling. |
| What regressed? | Task, language, long-context, grounding, safety and structured-output comparisons. |
| What is supported? | Exact runtime, kernels, accelerator generation and fallback behaviour. |
| Can it be reproduced? | Pinned toolchain, source artefact, commands, hashes and signed result. |
| Can it be rolled back? | Prior approved release retained and load-tested within the recovery objective. |
A different model–quantisation–runtime–hardware combination is a different candidate release. Appendix B in the PDF supplies this as a working sheet with evidence and caveat columns.
Do not average through a hard gate. Weighting ranks eligible candidates; it never neutralises a failed licence, security, quality or operability requirement.
Private RAG is a permission-preserving evidence system. Its success depends as much on identity, source lifecycle and evaluation as on embeddings or vector search.
Apply identity and source permissions before retrieval, then evaluate both relevance and leakage. The control loop measures retrieval recall, permission leakage, citation support, freshness and answer quality.
| Stage | Controls | Evidence |
|---|---|---|
| Connect | Approved source, service identity, least privilege, scope and purpose. | Connector inventory; access review; data owner approval. |
| Ingest | Classification, malware/content checks, parsing, metadata, lineage and rejected-content handling. | Ingestion log; source revision; parser version; exceptions. |
| Index | Tenant and sensitivity partitioning, encryption, embedding approval, retention and deletion. | Index manifest; encryption/key record; delete verification. |
| Retrieve | User/service claims, ACL filter, query controls, quotas and cache partitioning. | Correlated query, claims, filters, candidates and scores. |
| Generate | Bounded context, injection defences, citation policy, abstention and output controls. | Prompt/retrieval version; cited chunks; policy outcome. |
| Maintain | Freshness SLA, permission changes, reindex, drift checks, owner review and retirement. | Freshness dashboard; permission test; reindex and purge record. |
| Layer | Measures | Critical failure |
|---|---|---|
| Retrieval | Recall at k, precision, ranking quality, freshness and coverage by source/segment. | Required evidence never appears. |
| Authorization | Forbidden-source tests across users, groups, tenants, deletions and permission changes. | Any inaccessible content is retrieved, cached or exposed. |
| Generation | Citation support, answer correctness, completeness, abstention and contradiction handling. | Unsupported high-impact claim or fabricated evidence. |
| End to end | Task success, latency, user correction, escalation and incident rate. | Workflow acts on ungrounded or unauthorised content. |
A user who loses source access must also lose retrieval and cached-result access within the defined propagation objective. Test this continuously — not only before launch.
Disconnected operation changes the update, support and evidence path. It does not remove supply-chain, insider, configuration, media or lifecycle risk.
Promote signed, scanned and approved release sets — not loose files or administrator downloads. Every release set needs a bill of materials, evidence record, custody trail and tested rollback path.
| Component | Pin and verify |
|---|---|
| Model package | Weights, configuration, tokenizer, generation defaults, licence, hashes and evaluation report. |
| Runtime | Container or package digest, dependencies, build provenance, vulnerability status and support baseline. |
| Accelerator stack | Driver, firmware, CUDA or equivalent libraries, kernel compatibility and rollback bundle. |
| Platform configuration | Gateway policy, model registry, scheduling, secrets references, network policy and resource limits. |
| Application controls | System prompts, tools, retrieval configuration, evaluation set and approval conditions. |
| Evidence package | Bills of materials, signatures, scan reports, exceptions, test results, approvers and custody record. |
Runtime options such as local-only loading or offline environment variables are useful defence-in-depth. They are not a substitute for enforced network policy, DNS and proxy controls, egress monitoring, least privilege, and tests that prove the workload cannot reach unapproved destinations.
Default-deny egress; explicit service flows; controlled administration path; internal DNS, time and certificate services.
Non-root service identities; read-only artefacts; restricted mounts and devices; avoid unreviewed remote model code.
Immutable internal registries; signature and digest verification at promotion and deployment; quarantine unknown content.
Approved devices or transfer mechanism; malware scan; two-person control where warranted; custody and sanitisation records.
Pre-agreed diagnostic export, redaction, vendor access, emergency import and severity response process.
Trusted internal time source and monitored drift, so signatures, certificates and audit order remain reliable.
The environment is not ready until the team can import a critical fix, verify and promote it, reconstruct an existing release, export a redacted diagnostic pack and roll back — within defined times and without unplanned connectivity.
Adopt machine-readable supply-chain evidence appropriate to your tooling and risk: SLSA provenance can describe how an artefact was built, Sigstore can verify signatures, and SPDX and CycloneDX can represent software and machine-learning components. Format adoption does not replace verification policy or risk review.
Routing is a policy decision with data, quality, cost and availability consequences. Make it deterministic, testable and visible to operators.
Reject requests that violate identity, classification, purpose, tool or context rules.
Select only models approved for the task, data class, jurisdiction and action level.
Apply quality and safety requirements, including required evidence and abstention behaviour.
Route among eligible models by SLO, capacity and cost; record the policy version and decision reason.
Use a documented fallback or fail closed. Never silently cross a data or control boundary to recover availability.
| Condition | Default response pattern | Evidence |
|---|---|---|
| Overload | Queue within deadline, reject with retry guidance, or route to an eligible pool. | Queue, admission and routing decision. |
| Model unavailable | Use an approved equivalent only; otherwise fail closed or invoke the manual process. | Health, eligibility and fallback outcome. |
| Retrieval unavailable | Do not imply groundedness; abstain or use an approved non-RAG path. | Dependency state and user-visible mode. |
| Permission uncertainty | Fail closed and record the denied retrieval; never broaden access. | Identity, claims, policy and denial. |
| Unsafe / low-confidence output | Refuse, constrain, ask for clarification, or escalate based on workflow risk. | Evaluator/policy result and disposition. |
| Telemetry impaired | Continue only for pre-approved low-risk modes and a bounded interval; otherwise stop. | Degraded-mode activation and duration. |
A model-generated instruction, confidence statement or tool argument never grants authority. Identity and policy systems decide what may be retrieved or executed.
| Pattern | Use when | Design note |
|---|---|---|
| Replica redundancy | Process or single accelerator failure is the main concern. | Spread across failure domains and test draining. |
| Model fallback | A second approved model can meet the same minimum outcome. | Evaluate independently; disclose material behaviour changes. |
| Degraded mode | A bounded feature subset remains useful and safe. | Define entry/exit, time limit and user indication. |
| Queue and shed | Demand bursts can wait or lower-priority work can be dropped. | Protect interactive and high-priority SLOs explicitly. |
| Dual site | Site loss is inside the service objective. | Account for model/data synchronisation, capacity and failover proof. |
| Manual fallback | Human completion is viable for critical exceptions. | Staff, access, evidence and backlog recovery must be rehearsed. |
Accelerator telemetry is necessary, but it cannot reveal whether an answer was useful, grounded, authorised or safe. A healthy GPU does not prove a good answer.
| Alert principle | Example |
|---|---|
| Alert on user impact | Page on sustained SLO burn or critical authorization failure; ticket on early capacity drift. |
| Use multi-window burn | Combine a fast window for severe events with a slower window for persistent degradation. |
| Baseline by profile | Long-context batch work and interactive chat should not share one latency threshold. |
| Correlate changes | Attach release, configuration and model versions to service regressions. |
| Treat quality as production telemetry | Run sampled or scheduled evaluations with privacy controls and reviewed ground truth. |
| Test the monitor | Exercise missing metrics, delayed traces, clock drift and alert routing during game days. |
| Cadence | Review |
|---|---|
| Per release | Evaluation, security, performance, compatibility, capacity, change record, rollback and acceptance. |
| Daily / weekly | SLOs, incidents, saturation, quality trends, retrieval freshness, exceptions and expiring access. |
| Monthly / quarterly | Demand forecast, capacity, cost, licence/support state, vulnerabilities, model portfolio and control evidence. |
| At least annually | Threat model, recovery, air-gap import, exit/reconstitution, vendor dependency and placement rationale. |
Production is a controlled transition, not the moment the endpoint responds. Release only when outcome, security, resilience, operations and accountability gates are independently satisfied.
| Gate | Acceptance evidence | Approver |
|---|---|---|
| Outcome | Task, segment, grounding and safety thresholds met on versioned tests and pilot use. | Business + AI owner |
| Capacity | Target-stack load test meets percentile SLOs with agreed failure and growth headroom. | Platform owner |
| Security / privacy | Threat model, data flows, access, secrets, supply chain, telemetry and findings accepted. | CISO / privacy owner |
| Resilience | Failure, recovery, backup/restore, fallback, queueing and rollback demonstrated. | Service owner |
| Operations | Dashboards, alerts, runbooks, support, on-call, maintenance and evidence retention ready. | Operations owner |
| Commercial / legal | Licences, support, warranties, audit, change, portability and exit obligations approved. | Procurement / legal |
| Accountability | Named owner, user guidance, human oversight, incident and change decision rights active. | Executive sponsor |
Replay or mirror representative work without user-visible decisions; compare quality, latency and policy outcomes.
Restrict users, data, actions and volume; collect correction and support evidence.
Route a small, observable production share with automatic and manual stop conditions.
Increase traffic only after a defined observation window and approved SLO review.
Enforce capacity, access, quality and change cadences; retain the rollback target.
| Change class | Examples | Minimum action |
|---|---|---|
| Standard | Capacity scale inside approved design; non-behavioural patch with tested compatibility. | Automated checks; recorded approval; rollback ready. |
| Material | New model, quantisation, runtime, driver, context, prompt, retrieval method or policy. | Targeted evaluation, security/performance review and canary. |
| Boundary-changing | New data class, tool action, jurisdiction, provider, network path or high-impact use. | Reclassify risk; update data/threat maps; full approval. |
| Emergency | Critical vulnerability, active incident or safety issue. | Time-bounded emergency authority; evidence retained; retrospective review. |
Local processing can support data minimisation, privacy by design and sovereignty objectives. Compliance still depends on purpose, roles, lawful basis, data rights, security, documentation, oversight and sector obligations. For the EU AI Act, determine whether the system or downstream use is in scope and apply the current timeline — implementation dates have changed.
No material change is complete until its evaluation, approval, deployment, observation and rollback evidence are linked to one release record.
The 28-page PDF edition turns the blueprint into worksheets your platform, security and procurement owners can fill in and sign.
One worksheet per workload profile: demand profile with expected and stress columns, the pinned candidate release set, and a benchmark result table covering P95 time to first token, serviceable tokens per second, peak allocated VRAM, queue behaviour at stress and recovery after replica loss — with a four-owner sign-off block.
Weighted scoring across eight criteria (quality 20, grounding and safety 15, latency and throughput at SLO 15, licence fit 10, provenance 10, memory efficiency 10, runtime operations 10, resilience 5, supportability 5), a 0–5 evidence scale and five hard gates that weighting may never neutralise.
Pass / Condition / Fail / N-A items across outcome and governance, architecture and capacity, security, privacy and supply chain, and operations — closing with a GO / CONDITIONAL / NO-GO release decision block.
One record per immutable release set: digests for model, runtime, driver and firmware, SBOM/ML-BOM and signature references, licence review, scan results, evaluation IDs, approvers, transfer method and two-person custody, mirror verification, canary result, rollback rehearsal and disposal evidence — plus a custody assertion and exception rationale sheet.
A first-hour incident timeline (0–5, 5–15, 15–30, 30–60 minutes) with the record required at each step, a six-step upgrade flow, and an essential contact and evidence register short enough to use under pressure.
Model size alone does not determine capacity. Plan the full memory envelope: model weights (parameters × bits per weight ÷ 8 as a lower bound), KV cache (roughly 2 × layers × KV heads × head dimension × active tokens × bytes per element), runtime activations and graphs, plus explicit headroom for fragmentation and bursts. These are planning formulas only — grouped-query attention, cache precision, paging and prefix caching change the result materially, so benchmark peak allocated memory before committing to any capacity or SLO.
No. Local processing can support data minimisation, privacy by design and sovereignty objectives, but compliance still depends on purpose, roles, lawful basis, data rights, security, documentation, oversight and sector obligations. Local deployment narrows some external data paths while insiders, misconfiguration, vulnerable dependencies, over-privileged retrieval and ungoverned outputs remain material risks. For the EU AI Act, determine whether the system or its downstream use is in scope and apply the current timeline.
Six steps: effective demand equals peak admitted request rate × measured tokens per request by profile; serviceable throughput is the lowest throughput that still meets quality and percentile latency SLOs; required replicas equal effective demand ÷ serviceable throughput, rounded up per model and priority pool; add resilience capacity for the agreed failure domain; add explicit growth and operational headroom rather than hiding it in an optimistic benchmark; then revalidate whenever model, runtime, quantisation, context, prompt, GPU or workload mix changes.
No. A downloadable checkpoint may still carry use restrictions, redistribution terms or missing training-data freedoms. The Open Source Initiative’s Open Source AI Definition is a useful reference point, but legal review must assess the actual terms supplied with each release — covering weights, code, tokenizer and dataset terms, attribution, use restrictions, redistribution and downstream duties.
It is a release change and should be governed as one. Record why the method was chosen, what changed (calibration data, group size, compute and cache precision, conversion tooling), what regressed across task, language, long-context, grounding, safety and structured-output comparisons, what runtime and accelerator generations are supported, whether the result is reproducible from a pinned toolchain with signed hashes, and whether the prior approved release is retained and load-tested within the recovery objective.
The retrieval system must preserve source permissions at query time, not merely at ingestion: apply identity and security trimming before retrieval, then evaluate relevance and leakage separately. The non-negotiable test is that a user who loses source access must also lose retrieval and cached-result access within a defined propagation objective — tested continuously, not only before launch.
A controlled import path treated as a product: stage, verify (hash, signature, provenance, licence, scan), approve, transfer under dual control, mirror to immutable internal registries, then promote by canary. The readiness gate is operational, not architectural — the environment is not ready until the team can import a critical fix, verify and promote it, reconstruct an existing release, export a redacted diagnostic pack and roll back, within defined times and without unplanned connectivity.
Observe from user outcome down to accelerator, not the reverse. A healthy GPU does not prove a useful, authorised or safe answer. Cover outcome (task success, groundedness, abstention, escalation, harmful-action prevention), service (success ratio, time to first token, completion latency, queue time, availability), runtime (prefill/decode throughput, batch size, cache use, eviction, preemption), accelerator (memory, utilisation, power, thermal, faults), dependencies and change versions — each segmented so regressions can be attributed.
These support the handbook's risk, secure-development, supply-chain, runtime, privacy and regulatory framing. Validate the latest version and the exact product release before use.
Bring your token traces, concurrency profile and latency targets. We will work through the memory envelope, serviceable throughput, replica count and failure domains for the hardware you actually have — and tell you plainly if hybrid is the better answer.