
Introduction
Cloud repatriation has become another architecture debate that generates more heat than evidence. One side treats public cloud as the default destination for every application. The other treats every unexpected bill, provider outage, or jurisdictional concern as proof that workloads should return to privately owned infrastructure. Both positions fail for the same reason: they start with a platform preference instead of a workload boundary.
The community discussions supplied with this article highlight three real pressures. Enterprises can reduce costs when a stable workload is moved from an expensive consumption model to efficiently operated infrastructure. Governments and regulated organizations have legitimate questions about jurisdiction and control. Large cloud incidents can expose dependencies that were invisible until a shared control plane failed. Those discussions are useful evidence prompts, but they are not universal placement rules [20]-[22].
The correct unit of decision is the complete business workload: application components, data, identities, network paths, managed services, backup copies, observability, deployment pipelines, support obligations, and the people required to operate it. A virtual machine is only one artifact inside that boundary.
This article builds a reusable workload-placement engine for Azure, VMware Cloud Foundation 9.1, Azure Local, Nutanix Cloud Platform, Kubernetes-based operating models, and bare metal. Azure is used as the public-cloud example, but the method applies to other hyperscalers. The research and terminology baseline is July 24, 2026.
TL;DR
A defensible workload-placement decision follows five rules:
- Apply hard constraints before scoring. A jurisdiction, latency, connectivity, hardware, support, or recovery requirement can eliminate a candidate regardless of its average score.
- Separate the placement venue from the runtime. Kubernetes can run across cloud, private cloud, edge, and bare metal, but it does not remove data gravity, identity dependencies, managed-service coupling, or operational labor.
- Compare equivalent service outcomes over a defined horizon. Include compute, storage, network, egress, software, facilities, labor, resilience, migration, decommissioning, and stranded-capacity risk.
- Publish both a weighted fit score and an evidence-confidence score. A high score built from estimates is a hypothesis, not a decision.
- Make placement decisions expire. Record an exit time objective, tested data-export path, review date, and triggers that force reassessment.
Cloud-first and repatriation-first are policies of convenience. Evidence-based placement is an operating capability.
The Placement Decision Has More Than One Axis
The first correction is conceptual. Azure, VCF, Azure Local, Nutanix, and bare metal are placement venues or infrastructure operating models. Kubernetes is a workload orchestration layer that can run on several of those venues. A managed database, serverless function, virtual machine, and Kubernetes deployment can all exist in the same public cloud, but they create very different dependency and exit profiles.
Kubernetes describes itself as a portable, extensible platform for managing containerized workloads and services. Its own documentation also states that it is not an all-inclusive platform as a service. Logging, monitoring, data services, policy, identity integration, and many other production capabilities remain external or pluggable [15].
A useful placement decision therefore separates four axes.
| Decision axis | Representative choices | Question being answered |
|---|---|---|
| Venue | Azure, VCF 9.1, Azure Local, Nutanix, bare metal | Where does the infrastructure run and who controls the physical capacity? |
| Runtime | Managed PaaS, virtual machines, managed Kubernetes, self-managed Kubernetes, physical OS | How is the application packaged, scheduled, upgraded, and supported? |
| Operating model | Provider-managed, co-managed, enterprise-operated | Which team owns hardware, platform, runtime, middleware, and application operations? |
| Data boundary | Cloud region, private data center, edge site, multiple locations | Where does authoritative data live, move, replicate, and recover? |
This two-stage model prevents a common category error. Moving a container from AKS to a Kubernetes cluster on VCF, Azure Local, Nutanix, or bare metal may preserve the deployment object while changing the storage class, load balancer, identity provider, secret store, network policy implementation, backup system, observability stack, and support model. The container is portable. The service is not automatically portable.
Why Enterprises Reassess Workload Placement
Reassessment is reasonable when facts change. It should not require a failure, a leadership slogan, or a new vendor campaign.
| Reassessment trigger | Evidence that matters | Common analytical mistake |
|---|---|---|
| Cost growth | Unit cost, utilization, commitment coverage, egress, support, labor | Comparing a cloud invoice with hardware purchase price only |
| Performance pressure | End-to-end p95 and p99 latency, jitter, throughput, queue time | Comparing CPU models instead of user or transaction outcomes |
| Demand variability | Baseline, peak ratio, seasonality, growth, duration of bursts | Using average utilization to size fixed capacity |
| Data growth | Dataset size, change rate, copy count, transfer windows, locality | Treating data gravity as a storage-capacity problem only |
| Regulatory change | Applicable law, approved regions, key custody, audit evidence | Treating residency, sovereignty, and jurisdiction as synonyms |
| Managed-service growth | Service inventory, proprietary APIs, export methods, replacement effort | Calling an application portable because its front end is containerized |
| Licensing change | Metrics, minimums, mobility rights, DR rights, renewal terms | Assuming current license economics survive a platform move |
| Hardware refresh | Remaining useful life, support dates, lead time, power and rack limits | Treating refresh as either free capacity or unavoidable sunk cost |
| Operational strain | Tickets, after-hours work, patch effort, restore failures, skill scarcity | Counting headcount without measuring platform toil |
| Resilience concern | Failure modes, tested RTO/RPO, dependency health, backup independence | Equating a provider SLA with application recovery |
| AI or GPU demand | GPU utilization, queue time, data staging, fabric and storage demand | Comparing GPU-hour prices without useful work delivered |
| Modernization event | Product roadmap, code constraints, service retirement, business deadline | Assuming a placement change automatically modernizes the application |
Microsoft’s current hybrid-cloud guidance similarly starts with measurable business drivers such as resilience, data residency, performance, vendor flexibility, and modernization. It also advises evaluating egress and synchronization costs before adopting bursting patterns [2]. The important point is not that one vendor endorses hybrid infrastructure. It is that the decision begins with outcomes and measurable constraints.
Placement Options at a Glance
No option is universally better. Each option concentrates different kinds of value and different kinds of operational responsibility.
| Option | Strongest fit | Economic pattern | Operational responsibility | Main caution |
|---|---|---|---|---|
| Azure public cloud | Variable demand, rapid experiments, global delivery, managed services, short deployment lead time | Consumption, commitment discounts, managed-service charges, storage operations, network services, egress | Provider owns facilities and hardware; enterprise still owns architecture, identity, data, resilience, security configuration, and FinOps | Deep managed-service use can make exit a refactoring program rather than a migration |
| VMware Cloud Foundation 9.1 | Large VMware estates, governed VM and Kubernetes services, private data, established VCF operations, mixed CPU and GPU infrastructure | Software subscription and licensed capacity, servers, storage, network, facilities, management-platform capacity, support, labor | Enterprise or service provider owns the private-cloud lifecycle and service model | Small environments can carry disproportionate management and staffing overhead |
| Azure Local | Microsoft-centric edge and data-center workloads, local processing, Azure-connected governance, qualified disconnected or sovereign requirements | Physical-core service billing, hardware, Windows and application licensing, optional Azure services, local-control-plane capacity for disconnected operation | Enterprise owns validated hardware and local operations while using an Azure-aligned control and billing model | It is not an Azure region installed in a rack; capabilities, tiers, connectivity, and support boundaries must be checked |
| Nutanix Cloud Platform | HCI consolidation, AHV-based virtualization, distributed edge, simplified lifecycle, VM and Kubernetes operations, Nutanix mobility patterns | Term or capacity licensing by product, hardware, support, add-ons, DR capacity; NC2 also incurs cloud bare-metal and cloud-service costs | Enterprise operates the platform, with Prism, Nutanix Cloud Manager, and optional NKP reducing or standardizing some tasks | Edition, add-on, DR, edge, and cloud-consumption terms materially affect the model |
| Bare metal | Stable high utilization, specialized hardware, databases, HPC, high-performance AI, deterministic local latency | Servers, support, facilities, network, OS and middleware licensing, spares, lifecycle labor | Enterprise owns the full stack unless a managed hosting provider is used | Weak elasticity and high lifecycle responsibility can erase hardware price advantages |
| Kubernetes runtime | Standardized container scheduling across one or more venues | Kubernetes platform, worker capacity, storage, networking, observability, security, support, and operating labor | Shared among infrastructure, platform engineering, security, and application teams | Kubernetes portability is partial unless state, identity, network, and operations are also designed for movement |
Current product economics reinforce why the options cannot be compared using one price metric. Azure Local bills connected deployments primarily by physical processor core, with additional Azure-service charges where used [6]. Its disconnected-operations model adds a locally hosted control plane and additional capacity requirements [7]. Azure Hybrid Benefit can materially change qualifying connected L1 economics, but it does not apply to Azure Local L2 or L3 host fees [8].
VCF 9.1 is positioned by Broadcom as a private-cloud platform for VMs, Kubernetes, and production AI, with integrated operations and mixed-compute support [9]. Its current licensing architecture includes connected and disconnected workflows, centralized visibility through VCF Operations, and a local license server [10]. These are operating-model inputs, not just licensing-administration details.
Nutanix licensing varies by product, edition, capacity metric, and deployment model. Nutanix Cloud Manager includes capabilities such as capacity planning, right-sizing, cost metering, budgeting, and chargeback, while NC2 can use PAYG or portable term licenses. NC2 customers still pay the underlying cloud provider for associated bare-metal instances and services [12][13]. Nutanix Kubernetes Platform can run across public cloud, on-premises, edge, bare metal, and third-party virtualization, but the underlying venue and data services still determine the full service boundary [14].
The Workload Placement Engine
The placement engine is a governed workflow, not a spreadsheet that produces a mathematically unquestionable answer. The scorecard makes assumptions visible, forces stakeholders to use the same criteria, and identifies where evidence is too weak to support a decision.

The engine produces six outputs:
- A documented workload boundary.
- A hard-constraint result for every candidate.
- A normalized economic model.
- A weighted fit score.
- An evidence-confidence score.
- A decision record containing mitigations, an exit plan, owners, and review triggers.
Define the Complete Workload Boundary
A placement assessment should not begin with a VM inventory export. It should begin with the business service and work inward.
Microsoft’s current workload-assessment guidance calls for visibility into architecture, performance, security, code, databases, internal dependencies, external dependencies, licensing, SLAs, RPOs, and RTOs before migration decisions are made [1]. That is also the correct starting point for repatriation.
The workload boundary should include:
- User channels, APIs, batch jobs, scheduled processes, and service endpoints.
- Application services, middleware, databases, caches, queues, object stores, and shared file systems.
- Authoritative datasets, replicas, backups, archives, indexes, model artifacts, and logs.
- Human identities, workload identities, service accounts, secrets, certificates, and key-management dependencies.
- DNS, load balancing, firewall policy, private connectivity, internet egress, and partner connectivity.
- Managed services, SaaS integrations, vendor APIs, and shared enterprise services.
- Build pipelines, artifact repositories, deployment systems, configuration stores, and infrastructure-as-code assets.
- Monitoring, tracing, security analytics, audit evidence, alert routing, and incident-management integrations.
- Backup, recovery, failover, restore validation, cyber-recovery, and data-retention processes.
- Support contracts, software licenses, operational ownership, staffing, and escalation paths.
The assessment boundary should be large enough to preserve the service, but small enough to permit different placement decisions. A three-tier application does not necessarily need one answer. Its global web tier might remain in Azure, its latency-sensitive data service might move to a private platform, and its factory inference component might run at the edge.
State the Assumptions Before Scoring
A score without declared assumptions is an opinion with decimal places.
Use an assessment baseline similar to the following:
| Assumption area | Required declaration |
|---|---|
| Time horizon | Usually 36 to 60 months, including transition and refresh overlap |
| Currency and price date | Contract currency and the date used for rates, discounts, and support quotes |
| Workload growth | Low, expected, and high scenarios for users, transactions, data, and compute |
| Service objectives | Availability, latency, throughput, RTO, RPO, retention, and security obligations |
| Capacity policy | N+1 or N+2 reserve, maintenance reserve, DR reserve, and growth headroom |
| Current asset treatment | Remaining book value, support status, residual value, and avoidable versus sunk cost |
| Staffing model | Loaded labor rate, on-call expectations, contractor or partner support, hiring risk |
| Cloud commitments | Existing reservations, savings plans, enterprise commitments, and expiry dates |
| Licensing | Current metrics, entitlements, mobility rights, minimums, DR rights, and renewal dates |
| Scope exclusions | Functions intentionally excluded from the comparison and why |
| Evidence date | Date range for telemetry, tickets, invoices, tests, and interviews |
The current state must remain a candidate. Sometimes the best answer is not migration or repatriation. It is rightsizing, license optimization, storage-tier correction, application tuning, or improved platform automation where the workload already runs.
Apply Hard Constraints Before Weighted Scoring
Weighted scores are useful only after non-negotiable requirements are addressed. A high aggregate score must never compensate for an illegal data location, an unsupported software configuration, or a latency target the design cannot meet.
Use three hard-constraint states:
- Pass: The candidate meets the requirement with documented evidence.
- Pass with mitigation: The candidate can meet the requirement after a specific, funded, owned change.
- Fail: The candidate is excluded unless the workload or requirement is redesigned.
| Hard constraint | Pass or fail test | Typical evidence | Possible mitigation |
|---|---|---|---|
| Performance floor | Can the design meet the required p99 latency, throughput, or jitter under failure and maintenance? | Load test, packet capture, storage telemetry, application traces | Move a component closer to data, redesign synchronous calls, add local caching |
| Data location | Can authoritative data, replicas, backups, logs, and support access remain in approved locations? | Data-flow map, backup inventory, contract, legal review | Split control and data planes, use local processing, change backup destination |
| Jurisdiction | Are provider, operator, keys, support, and infrastructure subject to acceptable legal authority? | Counsel review, contract terms, key-custody design | Select a different region, operator, sovereign service, or on-premises model |
| Connectivity | Can the service operate through expected WAN loss, bandwidth limits, proxy constraints, or disconnection? | Failure test, bandwidth history, dependency map | Local queueing, disconnected control plane, store-and-forward design |
| Hardware attachment | Is required GPU, FPGA, NIC, storage, serial, USB, or industrial-device access supported? | Compatibility matrix, proof of concept | Select a different instance, host design, pass-through model, or edge placement |
| Software support | Does the ISV support the OS, hypervisor, cloud service, database, and recovery design? | Written vendor statement, support matrix | Upgrade, replatform, isolate, or retain current placement |
| Recovery | Can the candidate meet RTO and RPO, including dependency and control-plane failure? | Restore test, failover test, recovery runbook | Add replication, independent backup, warm capacity, alternate identity path |
| Capacity availability | Can required capacity be obtained by the business deadline? | Cloud quota approval, hardware lead time, power and rack validation | Stage capacity, use temporary cloud capacity, change wave sequencing |
| Security control | Can required identity, segmentation, key, audit, and privileged-access controls be implemented? | Threat model, control mapping, security test | Add platform controls, redesign trust boundary, select another venue |
| Contractual exit | Can the organization retrieve data, terminate services, and sustain transition within the required window? | Contract, export test, transition plan | Negotiate terms, build export tooling, change service choice |
Hard constraints are also where edge infrastructure becomes a legitimate placement rather than a smaller data center. A factory control loop that must continue through WAN loss has a different architecture requirement from a reporting workload that can wait for connectivity.
Collect Evidence, Not Preferences
The engine should reject vague inputs such as “the application is latency sensitive” or “the cloud is too expensive.” Replace them with measurable statements.
| Evidence artifact | Minimum useful evidence | Primary owner | Confidence degrades when |
|---|---|---|---|
| Business-service map | Users, business process, critical hours, revenue or mission impact | Application owner | Scope or ownership changed |
| Dependency graph | Runtime connections, ports, protocols, data direction, authentication, criticality | Architecture and application teams | More than one release behind |
| Performance baseline | At least one representative cycle with p50, p95, p99, throughput, concurrency, CPU, memory, storage, and network | Application and operations teams | Peak season or workload pattern changed |
| Demand profile | Baseline, peaks, burst duration, seasonality, growth, nonproduction demand | Product owner and FinOps | Forecast assumptions changed |
| Data-flow register | Volume, change rate, direction, retention, copies, classification, transfer window | Data owner and security | New integration or retention rule appeared |
| Cost baseline | Twelve months where available, allocated to workload and normalized to useful work | CFO or FinOps | Discounts, commitments, or architecture changed |
| Licensing register | Product, metric, quantity, entitlement, support, mobility, renewal, DR rights | Licensing and procurement | Contract renewed or product packaging changed |
| Operational-effort baseline | Tickets, patch hours, incidents, backup effort, audit effort, on-call load | Operations | Automation or support model changed |
| Resilience evidence | Last restore, failover, cyber-recovery, dependency-failure, and communications tests | Service owner | Test exceeds policy age |
| Migration evidence | Export speed, conversion, application test, data reconciliation, rollback | Migration lead | Source or target version changed |
Assign every evidence item a confidence grade:
| Grade | Confidence factor | Meaning |
|---|---|---|
| A | 1.00 | Measured, recent, workload-specific, and validated by the accountable owner |
| B | 0.75 | Measured but incomplete, older, or based on a representative environment |
| C | 0.50 | Estimated from a proxy, vendor calculator, benchmark, or similar workload |
| D | 0.25 | Assumed, disputed, or unknown |
An assessment should not proceed to final approval when high-weight criteria remain at grade D. The correct next step is evidence collection or a pilot, not an architecture committee vote.
The Weighted Workload-Placement Scorecard
The following default weights total 100. They are a starting point, not a universal standard. A regulated edge-control system should increase sovereignty, connectivity, and latency weights. A short-lived campaign platform should increase elasticity and time-to-value. Changes to weights must be approved before options are scored.
| Criterion | Weight | Decision question | Required evidence |
|---|---|---|---|
| Business time-to-value | 4 | How quickly can the candidate deliver the required business outcome? | Lead time, delivery plan, dependency approvals |
| Performance and latency | 9 | Can it meet end-to-end performance objectives during peaks, failures, and maintenance? | Traces, load tests, storage and network telemetry |
| Elasticity | 7 | How efficiently can capacity follow variable demand without unacceptable delay or waste? | Demand profile, scale tests, quota and lead-time data |
| Data gravity | 8 | How much data must move, how often, and how close must compute remain to authoritative data? | Data-flow register, change rate, transfer tests |
| Sovereignty and jurisdiction | 8 | Does the candidate meet location, legal authority, key custody, and support-access requirements? | Legal analysis, contracts, control design |
| Application dependencies | 7 | How many synchronous, shared, or location-bound dependencies must change? | Dependency graph, latency map, service inventory |
| Managed-service dependency | 6 | Does the candidate preserve required managed capabilities without disproportionate redesign? | API inventory, export tests, replacement architecture |
| Security and control | 6 | Can identity, segmentation, key management, audit, and privileged access meet policy? | Threat model, control mapping, test results |
| Resilience and recovery | 8 | Can the complete service meet availability, RTO, RPO, backup, and cyber-recovery requirements? | Failure and restore evidence |
| Full-stack economics | 10 | What is the risk-adjusted cost per useful unit over the decision horizon? | Cost model, sensitivity analysis, unit economics |
| Licensing behavior | 6 | How do metrics, entitlements, mobility, minimums, and renewals change? | Contract and entitlement analysis |
| Operational labor | 7 | Can the organization operate the candidate sustainably with available skills and automation? | Effort baseline, skills matrix, support model |
| Hardware lifecycle | 4 | What procurement, refresh, facility, capacity, and stranding risks exist? | Asset plan, lead times, facility validation |
| Modernization | 5 | Does the candidate enable the required delivery and application changes without forcing unnecessary redesign? | Product roadmap, architecture plan, development evidence |
| Exit and reversibility | 5 | Can the organization move, restore, or replace the service within an acceptable time and cost? | Exit test, contract, portable artifacts, data export |
Score every candidate from 0 to 5:
| Score | Interpretation |
|---|---|
| 0 | Prohibited or technically unworkable |
| 1 | Major redesign, unacceptable risk, or severe operating-model mismatch |
| 2 | Weak fit with substantial mitigation |
| 3 | Viable with understood tradeoffs |
| 4 | Strong fit |
| 5 | Natural fit with direct evidence |
Use two separate calculations:
Weighted Fit Score = SUM(criterion weight x candidate score / 5) Evidence Confidence = SUM(criterion weight x confidence factor)
Because the criterion weights total 100, both results are expressed on a 0 to 100 scale.
A practical default decision policy is:
- Preferred candidate: fit score of at least 75, no failed hard constraint, and confidence of at least 80.
- Viable with pilot: fit score from 65 to 74, or any result with material grade C evidence.
- Weak fit: fit score below 65 unless a strategic reason justifies redesign.
- Mandatory pilot: the top two candidates are within five points, the transition is difficult to reverse, or a high-weight criterion lacks workload-specific evidence.
Do not multiply fit by confidence. Publish both numbers. A result of 86 fit and 52 confidence should look uncertain, not become a falsely precise score of 44.7.
A Reusable Assessment Record
The following YAML shows how the scorecard can become a repeatable engineering artifact. Change the workload boundary, constraints, weights, candidate scores, and review triggers. Successful use produces a reviewable decision record whose totals can be reproduced from stored evidence.
workload: regional-claims-processing
assessment_date: 2026-07-24
horizon_months: 48
hard_constraints:
max_p99_transaction_latency_ms: 8
approved_jurisdictions:
- US
disconnected_operation_required: false
maximum_rto_minutes: 60
maximum_rpo_minutes: 15
weights:
business_time_to_value: 4
performance_and_latency: 9
elasticity: 7
data_gravity: 8
sovereignty_and_jurisdiction: 8
application_dependencies: 7
managed_service_dependency: 6
security_and_control: 6
resilience_and_recovery: 8
full_stack_economics: 10
licensing_behavior: 6
operational_labor: 7
hardware_lifecycle: 4
modernization: 5
exit_and_reversibility: 5
evidence:
telemetry_days: 90
dependency_map_validated: true
cost_baseline_months: 12
last_restore_test: 2026-06-15
licensing_review_complete: true
candidates:
azure:
fit_score: 61.0
evidence_confidence: 88
vcf_9_1:
fit_score: 85.8
evidence_confidence: 84
azure_local:
fit_score: 88.2
evidence_confidence: 82
nutanix:
fit_score: 87.2
evidence_confidence: 79
bare_metal:
fit_score: 71.6
evidence_confidence: 73
decision:
selected_candidate: pilot_required
pilot_candidates:
- azure_local
- nutanix
- vcf_9_1
exit_time_objective_days: 120
decision_review_date: 2027-07-24
review_triggers:
- licensing_renewal
- data_growth_above_forecast
- p99_latency_miss
- major_platform_release
- operating_labor_above_budgetThe example deliberately selects a pilot rather than the highest decimal score. Three candidates are within 2.4 points, and Nutanix confidence is below the default approval threshold. The engine is designed to expose that ambiguity.
Normalize Full-Stack Economics
The financial question is not “Which platform has the lowest price?” It is “Which option produces the required business service at the best risk-adjusted unit cost?” Microsoft’s Well-Architected guidance explicitly warns that the cheapest solution can undermine reliability, security, performance, and business goals. It also treats cost optimization as a continuous, repeatable process rather than a one-time reduction exercise [3][4]. FinOps similarly treats architecture and workload decisions as shared responsibilities across engineering, finance, product, and procurement [5].
Use a common equation:
Five-Year Placement Cost =
infrastructure
+ platform and application software
+ storage and data services
+ network and egress
+ facilities, power, and cooling
+ security, observability, backup, and recovery
+ operational labor and support
+ migration, dual-run, and decommissioning
+ risk allowance and stranded commitments
- residual asset valueThe horizon can be three years when contracts or application life are shorter. The same scope, service objectives, growth assumptions, and risk treatment must apply to every candidate.
Cost Categories Commonly Missed
| Cost category | Public-cloud questions | Private, edge, and bare-metal questions |
|---|---|---|
| Compute | Instance family, autoscale floor, idle resources, reservations, burst premium | Host count, HA reserve, maintenance reserve, density, NUMA, overcommit, spares |
| Storage | Capacity, IOPS, throughput, transactions, snapshots, backup, replication, retrieval | Media, controllers, data reduction, usable capacity, replication overhead, refresh |
| Network | Gateways, load balancers, NAT, private links, firewalls, inter-region, egress | WAN, internet circuits, firewalls, switching, optics, support, cross-site bandwidth |
| Platform services | Databases, queues, API management, registries, observability, key management | Equivalent software, licenses, support, database administration, platform engineering |
| Resilience | Multi-zone, multi-region, backup vault, replication, recovery compute | Secondary site, duplicate software, recovery hardware, backup infrastructure, tests |
| Security | Cloud security services, logging, retention, key custody, incident response | Security tooling, segmentation, log platforms, privileged access, audits, staffing |
| Operations | FinOps, cloud platform engineering, SRE, support plan, incident labor | Hardware, virtualization, storage, network, backup, facilities, lifecycle, on-call |
| Transition | Data transfer, refactoring, dual run, contract overlap, validation | Procurement, build, migration tooling, dual run, training, decommissioning |
| Commitments | Reserved capacity, savings plans, committed spend, unused quota | Hardware purchase, subscription term, support term, facility contract, stranded capacity |
Do not compare public-cloud list rates with discounted private-cloud contracts. Do not compare a fully loaded cloud invoice with the depreciated cost of hardware while excluding staff, facilities, support, refresh, backup, and DR. Do not treat already purchased hardware as free when keeping it creates future support or opportunity costs. The model should compare avoidable future cash flows from the decision date.
Use Unit Economics
Total cost hides whether the workload is producing more value. Select a unit tied to useful work:
- Cost per completed transaction.
- Cost per active customer or employee.
- Cost per API request that meets the latency objective.
- Cost per terabyte processed or protected.
- Cost per completed batch job.
- Cost per one million successful inference tokens.
- Cost per training job completed within its deadline.
A platform can cost more in total while producing a lower unit cost because it supports more demand, shorter delivery cycles, or higher service quality.
Run Sensitivity Analysis
At minimum, model:
- Low, expected, and high utilization.
- Growth below and above forecast.
- Egress or synchronization volume doubling.
- One additional or one fewer full-time equivalent of operational labor.
- Cloud commitment coverage falling below plan.
- Hardware refresh occurring a year early.
- A delayed migration that extends dual-run costs.
- A resilience design moving from active-passive to active-active.
- A material license renewal or packaging change.
The decision is stronger when the same candidate wins across several plausible scenarios. A candidate that wins only under one aggressive utilization forecast should be treated as a bet, not a baseline.
Performance and Latency Must Be Measured at the Service Boundary
Public cloud is not automatically slow. On-premises infrastructure is not automatically fast. The meaningful metric is the service response under realistic traffic, dependency, failure, and maintenance conditions.
Build a latency budget that includes:
- Client and branch connectivity.
- DNS resolution.
- TLS establishment and inspection.
- Identity and authorization calls.
- Load balancing and ingress.
- Application processing.
- Queueing and backpressure.
- Database, cache, file, object, and API dependencies.
- Cross-zone, cross-region, cloud-to-data-center, or site-to-site calls.
- Logging, policy, and security controls placed in synchronous paths.
Measure p50, p95, p99, jitter, timeout rate, throughput, queue depth, and recovery behavior. A lower average is not enough when the business fails at the tail.
Edge placement is justified when local processing changes the failure or performance model. Examples include industrial control, machine vision, point-of-sale continuity, local analytics, and data acquisition through intermittent links. Azure Local’s current disconnected-operations option is explicitly designed for qualified sovereign, remote, and isolated scenarios, but it requires a dedicated local control plane, additional capacity, eligible agreements, support, and operational readiness [7]. Those requirements belong in both the architecture and cost score.
Data Gravity Is Size, Change Rate, and Dependency Density
Data gravity is often reduced to “the database is large.” A useful assessment includes:
- Authoritative data volume.
- Daily and peak change rate.
- Number and location of copies.
- Read and write intensity.
- Transfer-window constraints.
- Required consistency and synchronization behavior.
- Data classification and retention.
- Backup, archive, and legal-hold copies.
- Model weights, vector indexes, checkpoints, and derived datasets.
- Applications, users, devices, and analytics services that depend on the data.
A 20 TB dataset with a low change rate and a long migration window may be easier to move than a 2 TB dataset changing continuously across dozens of consumers. Compute often belongs near the most difficult-to-move authoritative data, but that does not mean every presentation or control component must move with it.
Common hybrid patterns include:
- Public-cloud control plane with local data processing.
- Cloud-based customer channel with private authoritative data and asynchronous integration.
- Private primary service with cloud-based recovery.
- Cloud training with local inference.
- Local ingestion and filtering with selective cloud analytics.
- Edge operation with delayed synchronization to a central platform.
Each pattern should be scored as an architecture, not as a compromise assumed to be cheaper or safer.
Residency, Sovereignty, and Jurisdiction Are Different Requirements
These terms must be separated before they become hard constraints.
| Term | Practical question |
|---|---|
| Data residency | In which physical or logical region are primary, replica, backup, log, and support artifacts stored? |
| Data sovereignty | Which entity controls the infrastructure, encryption keys, administrators, operations, and policy? |
| Legal jurisdiction | Which laws, courts, government-access regimes, contracts, and corporate relationships can apply? |
| Operational autonomy | Can the service continue when public-cloud connectivity, a control plane, an identity provider, or a vendor service is unavailable? |
| Auditability | Can the organization produce evidence of location, access, change, deletion, and recovery? |
Legal requirements should be translated into testable architecture statements by counsel, security, privacy, data owners, and the application team. “Must be on-premises” may be the right conclusion, but it should be the output of a defined requirement rather than an inherited slogan.
The European Union Data Act provides a useful example of why regulatory analysis must be specific. Chapter VI requires covered data-processing providers to remove obstacles to switching to another provider or to on-premises infrastructure, and it requires contractual information and support for exit strategies. Article 29 states that covered providers cannot impose switching charges from January 12, 2027 [18]. That does not make migration free. Standard service fees, early termination, customer-requested services, application refactoring, data validation, destination capacity, and internal labor can still be material. The regulation is a legal input, not an architecture substitute.
Application and Managed-Service Dependencies Set the Exit Difficulty
Managed services are not a mistake. They can eliminate undifferentiated operations, accelerate delivery, and improve reliability. The engineering obligation is to price the dependency intentionally.
Use a dependency lock-in level:
| Level | Dependency profile | Typical exit effort |
|---|---|---|
| 0 | VM or container, open protocol, portable data format, externalized configuration | Rehost or redeploy with validation |
| 1 | Portable application with provider-specific operations, identity, networking, or deployment tooling | Platform re-integration |
| 2 | Managed database, cache, queue, or storage using common protocols with tested export | Data migration plus operational redesign |
| 3 | Proprietary event, workflow, analytics, identity, or data model embedded in application logic | Significant replatforming or code change |
| 4 | Business process and application architecture depend on multiple proprietary control-plane services | Multi-phase refactoring or replacement |
The level does not decide placement by itself. A level 4 dependency can be justified when its delivery value exceeds the expected exit cost. The decision record should state what value was purchased, what alternatives were rejected, and which event would trigger an exit.
Inventory these dependency classes:
- Identity and authorization.
- Database semantics and extensions.
- Messaging, eventing, and workflow engines.
- Object, file, block, and backup formats.
- API management, gateways, and service discovery.
- Secret and key management.
- Observability schemas, retention, and alert routing.
- CI/CD, registries, artifact signing, and policy engines.
- Network security and private connectivity.
- Data integration, ETL, analytics, and AI services.
- Vendor support and certification.
A dependency is not understood until the team has tested its export, replacement, recovery, or failure behavior.
Licensing Can Reverse the Apparent Winner
Licensing is not a footnote in workload placement. It changes effective density, mobility, DR design, and platform cost.
Review at least:
- The licensed unit: physical core, virtual core, socket, processor, host, node, VM, user, capacity, GPU memory, or subscription.
- Minimum quantities and rounding rules.
- Virtualization and container rights.
- License mobility between on-premises and public cloud.
- Temporary dual-use rights during migration.
- Passive and active DR rights.
- Nonproduction, test, and development rights.
- Edition features required for security, replication, automation, or scale.
- Support requirements and end-of-support dates.
- Term length, renewal date, price protection, and termination terms.
- Whether cloud marketplace purchases consume an enterprise commitment.
Azure Hybrid Benefit can materially alter Azure and Azure Local economics for eligible Microsoft licenses, but the current Azure Local benefit has explicit deployment-tier boundaries [8]. VCF 9.1 licensing behavior differs between connected and disconnected operation and should be modeled with the intended management workflow [10]. Nutanix products use different metrics and term models across NCI, NCM, NC2, edge, storage, and Kubernetes offerings [12]-[14].
Obtain written interpretation from the licensing owner or vendor. Do not rely on an architecture team’s memory of a previous contract.
Operational Labor Moves, It Does Not Disappear
Public cloud removes the need to rack servers, replace drives, and operate facilities. It does not remove capacity engineering, identity, network design, backup, security, cost governance, incident response, or application reliability. Private cloud can deliver excellent unit economics at scale, but only when automation, lifecycle, observability, and service ownership are mature.
| Operational domain | Public cloud | VCF, Azure Local, or Nutanix | Bare metal |
|---|---|---|---|
| Facilities and hardware | Provider | Enterprise, partner, or colocation | Enterprise, partner, or colocation |
| Infrastructure lifecycle | Provider below service boundary | Enterprise platform team with vendor tooling | Enterprise team |
| Capacity management | Quotas, commitments, scaling, service limits | Procurement, clusters, reserve, refresh, density | Procurement, reserve, refresh, component compatibility |
| Platform engineering | Landing zones, policy, service catalog, automation | Private-cloud and edge service catalog, automation, lifecycle | OS, configuration, orchestration, custom automation |
| Kubernetes | Managed or self-managed depending service | VKS, AKS enabled by Arc, NKP, or other distribution | Self-managed or enterprise distribution |
| Data protection | Customer configures service and recovery design | Customer operates or contracts backup and DR | Customer operates or contracts full design |
| FinOps and showback | Essential for consumption and commitments | Essential for capacity, licensing, and shared cost | Essential for utilization, refresh, and unit cost |
| Incident response | Shared responsibility across provider and customer | Customer leads with vendor support | Customer leads with vendor and hardware support |
Measure labor using work, not organizational charts:
- Hours per month for provisioning, patching, upgrades, certificate rotation, backup, recovery, audit, and capacity review.
- Incident frequency, after-hours effort, mean time to restore, and escalation delay.
- Percentage of work automated and tested.
- Skill scarcity, vacancy duration, partner dependence, and training cost.
- Number of tools and control planes required to operate one business service.
Kubernetes deserves special scrutiny. It can standardize application deployment, but a poorly designed Kubernetes platform adds clusters, upgrades, policy systems, storage integrations, observability, and specialist labor. The runtime should improve the service model, not merely satisfy a modernization label.
Resilience Is an End-to-End Property
A provider SLA, a hypervisor cluster, or a second site does not prove application resilience. The placement engine should test the full dependency path.
Assess failure of:
- A host, rack, zone, region, data center, or edge site.
- Identity, DNS, certificate, key, registry, and policy services.
- Cloud or private management planes.
- Managed databases, queues, object stores, and API gateways.
- Network transit, private connectivity, firewalls, and load balancers.
- Backup catalogs, immutable copies, and recovery credentials.
- Monitoring and status communication.
- Staff access, vendor support, and change-control systems during an incident.
The June 12, 2025 Google Cloud incident affected a broad set of services after a globally replicated policy change caused failures in a shared API-management dependency. Google’s incident report also noted that some monitoring and status infrastructure was affected [19]. The lesson is not that public cloud is unsafe. The lesson is that region count alone does not protect an application from a correlated control-plane dependency.
Similarly, private infrastructure can fail through shared storage, stretched control planes, identity concentration, synchronized patching, facility loss, or unsupported manual changes. Resilience design should compare actual failure domains and tested recovery, not platform marketing categories.
Avoid multicloud theater. Running two independent production stacks can improve resilience only when data, identity, deployment, operations, and failover are engineered and tested across them. Otherwise, multicloud can double control planes while preserving the same application dependency.
GPU and AI Workloads Need Their Own Economic Model
GPU placement decisions are unusually sensitive to demand uncertainty, utilization, data locality, fabric design, and software lifecycle. A comparison based only on hourly accelerator rates is incomplete.
Track:
- Allocated GPU hours and actively used GPU hours.
- GPU memory allocation and utilization.
- Queue time and scheduling delay.
- Time to first token, tokens per second, and successful tokens per dollar.
- Training-job completion time and checkpoint overhead.
- Data staging, model loading, and storage throughput.
- CPU preprocessing, network, and orchestration bottlenecks.
- Power, cooling, rack density, and facility constraints.
- Driver, CUDA, framework, runtime, hypervisor, and Kubernetes compatibility.
- License and support requirements.
- Capacity fragmentation across whole GPUs, vGPU, MIG, and time-slicing.
FinOps guidance for AI emphasizes cost-per-token, volatile demand, GPU scarcity, quotas, tagging, and GPU-allocation optimization [16]. NVIDIA’s current enterprise AI factory design guidance emphasizes dense accelerator nodes, high GPU memory, low-latency 100 to 400 GbE or equivalent fabrics, high-throughput storage, and unusually high power and cooling requirements [17]. The GPU is one component in a co-designed system.
| AI workload pattern | Likely starting placement | Evidence that could change the answer |
|---|---|---|
| Early experiment with unknown demand | Public cloud or managed AI service | Stable demand, predictable architecture, data-transfer cost, sustained utilization |
| Bursty model training | Public cloud capacity or temporary hybrid capacity | Queue delay, quota limits, long-running commitments, data staging overhead |
| Sustained high-utilization training | Private cloud or bare metal may become attractive | Measured utilization, power and facility readiness, fabric and storage cost, staffing |
| Steady production inference | Compare cloud, VCF, Nutanix, Azure Local, and bare metal by unit cost and SLO | Token demand, p99 latency, model lifecycle, data location, scale pattern |
| Factory or branch inference | Azure Local, Nutanix edge, compact VCF edge pattern, or bare metal | WAN reliability, fleet-management labor, local capacity, physical integration |
| Regulated retrieval-augmented generation | Private or sovereign pattern may fit | Approved cloud controls, data classification, key custody, export and audit evidence |
Broadcom positions VCF 9.1 for mixed CPU and GPU production AI on a governed private-cloud platform [9]. Nutanix positions NKP and its broader platform across cloud, data center, edge, and bare metal [14]. Azure and Azure Local offer different combinations of managed AI, public-cloud capacity, edge execution, and local control. None of these claims replaces a workload-specific test.
Modernization and Placement Are Independent Decisions
A legacy application can run in public cloud. A modern application can run on private infrastructure. Repatriation can include refactoring, and cloud migration can remain a rehost. The architecture team should decide the modernization action separately.
| Modernization action | Purpose | Placement implication |
|---|---|---|
| Retain and optimize | Improve cost or operations without moving | Current placement remains a candidate |
| Rehost | Change infrastructure with minimal application change | Fastest move, but preserves most technical debt and dependencies |
| Replatform | Adopt a different runtime, database, or platform service | Can improve operations while increasing transition effort |
| Refactor | Change application architecture for scale, resilience, or delivery | May improve portability, but should be justified by product outcomes |
| Replace | Move to SaaS or a different product | Placement becomes a vendor and data-governance decision |
| Retire | Remove unused or redundant capability | Usually produces the strongest cost reduction |
Do not force containerization, microservices, or a new database into a placement program unless they solve a measured constraint. Microsoft assessment guidance similarly recommends avoiding unnecessary framework changes without a strong business justification [1].
Migration and Exit Costs Must Be Visible
Repatriation is not complete when a VM boots on the destination. Cloud migration is not complete when replication reaches 100 percent. The service must pass operational acceptance.
Include:
- Discovery and dependency validation.
- Application remediation and platform integration.
- Data transfer, synchronization, reconciliation, and final cutover.
- Network, identity, certificate, DNS, security, and observability changes.
- Backup and recovery onboarding.
- Performance, resilience, security, and user-acceptance testing.
- Dual-run infrastructure and software.
- Temporary licenses, migration tools, consultants, and training.
- Downtime, change windows, rollback capacity, and business coordination.
- Contract overlap, termination, egress, and decommissioning.
- Residual hardware, unused commitments, and stranded support.
- Post-cutover stabilization and operational handoff.
Use a transition equation:
Transition Cost =
discovery
+ remediation
+ migration tooling and data movement
+ dual run
+ testing and rollback capacity
+ training and process change
+ contract overlap or termination
+ decommissioning
+ business disruption allowanceA lower steady-state platform cost can be the wrong decision when the application will retire before transition cost is recovered. Calculate breakeven time and compare it with the workload’s expected life.
Every Stakeholder Sees a Different Risk
The placement engine works only when stakeholder perspectives are converted into criteria and evidence instead of competing vetoes.
| Stakeholder | Primary questions | Evidence they should own |
|---|---|---|
| CFO and FinOps | What is unit cost, cash-flow shape, commitment risk, breakeven, and downside exposure? | Cost baseline, rates, commitments, labor, sensitivity, residual value |
| Security, privacy, and legal | Who controls identities, keys, data, administrators, support, jurisdiction, logs, and incident evidence? | Control mapping, legal analysis, contracts, threat model, audit evidence |
| Enterprise architecture | Does the placement meet quality attributes, integration boundaries, standards, and future-state direction? | Dependency model, architecture decision, interoperability and exit design |
| Application owner | Does the option improve delivery speed, product capability, reliability, and supportability? | Roadmap, demand profile, user SLOs, release and incident data |
| Operations and SRE | Can the service be patched, observed, recovered, scaled, and supported with sustainable toil? | Runbooks, automation coverage, staffing, incidents, recovery tests |
| Data owner | Where is authoritative data, who can access it, and how is it retained, replicated, exported, and deleted? | Data-flow register, classification, retention, lineage, export test |
| Procurement and licensing | What terms, metrics, support, mobility, renewal, and exit obligations apply? | Contracts, entitlement position, quotes, negotiation plan |
The decision owner should be accountable for the complete service outcome. No single team should optimize its own metric by transferring hidden cost or risk to another team.
Sample Workload Assessments
The following scores are illustrative. They are not vendor benchmarks or universal rankings. They use the default weights, assume all hard constraints can be met unless stated, and demonstrate how workload characteristics change the result.
| Workload | Key assumptions | Azure | VCF 9.1 | Azure Local | Nutanix | Bare metal | Engine outcome |
|---|---|---|---|---|---|---|---|
| Seasonal digital-commerce API | Sevenfold seasonal peak, global users, strong managed-service dependency, small operations team | 84.8 | 62.6 | 56.6 | 69.6 | 59.0 | Azure is the preferred starting point; preserve tested exports and price managed-service dependency explicitly |
| Regional claims processing | Stable demand, 45 TB authoritative data, local integrations, tight latency, Microsoft licensing, mature private operations | 61.0 | 85.8 | 88.2 | 87.2 | 71.6 | Pilot Azure Local, Nutanix, and VCF because the top three are within 2.4 points |
| Factory vision inference | Local camera streams, sub-20 ms response, intermittent WAN, data retained on site, many small locations | 50.8 | 72.2 | 87.0 | 87.2 | 75.8 | Local data plane is required; select Azure Local or Nutanix by fleet operations, hardware, support, and licensing evidence |
| Exploratory GPU training | Demand unknown, model and runtime changing quickly, no committed facility capacity | 78.6 | 75.2 | 73.0 | 74.4 | 66.6 | Begin with a cloud pilot, then reassess when demand, data locality, and useful GPU utilization become predictable |
What the Sample Results Teach
The seasonal application favors Azure because elasticity, managed services, rapid capacity, and global delivery outweigh exit difficulty. Repatriating it solely because a stable month looks expensive would ignore its annual demand shape.
The claims workload produces a close private-platform result. The scorecard cannot select among VCF, Azure Local, and Nutanix without better evidence about existing skills, license position, hardware standards, application support, operational automation, and migration effort. A procurement preference should not break the tie before a pilot.
The factory workload has a local-processing hard constraint. Public cloud can still host fleet coordination, analytics, model distribution, or long-term storage, but the real-time data plane belongs at the site. The architecture is hybrid because the workload boundary is split by function, not because the organization adopted a hybrid slogan.
The GPU research workload begins in cloud because uncertainty has economic value. Once utilization, queueing, model lifecycle, data movement, and support requirements stabilize, a private or bare-metal option may win. The review trigger is evidence maturity, not a predetermined repatriation date.
Prevent Placement from Becoming Permanent Lock-In
Lock-in exists in every direction. Public cloud creates service, data, API, identity, and commercial dependencies. Private platforms create hardware, software, skills, facilities, license, and operating-model dependencies. Bare metal can create the deepest dependence on a small group of specialists.
Use an exit contract for every material placement decision.
| Exit control | Required decision |
|---|---|
| Decision expiration | Set a review date, usually aligned with annual planning, renewal, refresh, or product roadmap |
| Exit Time Objective | Maximum time allowed to move, replace, or restore the service elsewhere |
| Exit Data Objective | Which data, metadata, configurations, logs, keys, and audit records must be retrievable |
| Export proof | Frequency and success criteria for data and configuration export tests |
| Deployment portability | Which images, manifests, infrastructure definitions, policies, and scripts are retained outside the runtime |
| Identity portability | How users and workload identities are recreated without copying insecure credentials |
| Observability portability | Which logs, metrics, traces, dashboards, and alert definitions can be exported or rebuilt |
| Contract rights | Notice, assistance, data retrieval, deletion, termination, egress, support, and audit terms |
| Recovery independence | Location and control of backups, recovery credentials, catalogs, and runbooks |
| Capacity plan | Where destination capacity comes from during an exit or provider failure |
| Exit rehearsal | Scope and cadence for restore, redeploy, or partial-move tests |
| Trigger register | Events that force reassessment before the scheduled review |
Useful triggers include:
- Unit cost exceeds the approved range.
- Performance or reliability objectives are missed repeatedly.
- Data classification or jurisdiction changes.
- A major license, support, or product-lifecycle change occurs.
- Workload demand becomes materially more or less predictable.
- A managed-service dependency blocks a required product change.
- A hardware refresh or cloud commitment decision is approaching.
- Operational labor or skill risk exceeds the approved model.
- A new platform release changes a previously failed hard constraint.
Do not abstract every cloud or platform feature to achieve theoretical portability. Abstraction has cost, can suppress useful capabilities, and may create an internal platform that is harder to operate than the vendor service it replaces. Preserve portability where the exit risk justifies it, and accept deliberate dependency where the business value is higher.
The Decision Workflow
Use the following sequence as the governance process:
- Open an assessment only when a defined trigger exists.
- Assign one accountable decision owner and a cross-functional assessment team.
- Define the complete workload boundary and service objectives.
- Apply hard constraints to venue and runtime combinations.
- Collect measured evidence and grade its confidence.
- Model the current state and all realistic alternatives, including retain and optimize.
- Normalize economics across the same horizon, scope, and service outcomes.
- Score the candidates using approved weights.
- Run sensitivity analysis and identify the assumptions that change the winner.
- Pilot candidates when scores are close, confidence is weak, or transition is difficult to reverse.
- Test performance, failure, recovery, security, operations, data export, and rollback.
- Record the decision, rejected alternatives, mitigations, owners, evidence, and exit contract.
- Require operational acceptance before declaring the move complete.
- Reassess on schedule and when a registered trigger occurs.
The approval logic is compact:

Failure Modes That Corrupt Placement Decisions
| Failure mode | Why it fails | Corrective control |
|---|---|---|
| Platform-first scoring | Criteria are selected to justify a preferred vendor | Approve requirements and weights before naming candidates |
| Cloud invoice versus server quote | Scope and service outcomes are not equivalent | Use a full-stack, multi-year cost model |
| Average utilization sizing | Peaks, maintenance, failure reserve, and seasonality disappear | Use percentile demand and duration curves |
| Ignoring data movement | Application compute appears portable while data is not | Build a data-flow and change-rate model |
| Treating Kubernetes as portability | State, identity, network, and operations remain platform-specific | Score venue and runtime separately |
| Treating managed services as bad | Delivery value and reduced operations are ignored | Record managed dependency as purchased acceleration with an exit price |
| Treating private infrastructure as free | Facilities, labor, support, reserve, and refresh disappear | Include avoidable future cost and risk allowance |
| Treating public cloud as no-operations | Shared-responsibility labor and FinOps disappear | Measure customer-owned platform and application work |
| Multicloud for appearance | Multiple providers are present without tested failover or portable data | Require an explicit failure mode and recovery test |
| Whole-application placement | Components with different constraints are forced into one answer | Split the workload boundary by function and dependency |
| Migration without rollback | Transition risk is hidden until cutover | Fund dual-run, reconciliation, recovery, and rollback evidence |
| Permanent architecture decision | The original assumptions age without review | Add expiration date and reassessment triggers |
Conclusion
Cloud repatriation is not a strategy by itself. Public-cloud adoption is not a strategy by itself. Both are placement actions that can be right or wrong depending on the workload, business objective, operating model, and evidence.
The practical answer is a placement engine that starts with the complete service boundary, eliminates candidates that fail hard constraints, collects measured evidence, compares equivalent outcomes, and publishes both fit and confidence. Azure may win for elasticity, global delivery, managed services, and uncertain demand. VCF 9.1 may win for a large governed private-cloud estate. Azure Local or Nutanix may win at distributed sites and for local data processing. Bare metal may win for specialized, stable, high-utilization workloads. Kubernetes may improve runtime consistency across several options, but it does not decide the venue.
A good placement decision also contains its own expiration. It records the assumptions, economic threshold, exit time objective, data-export evidence, operational owner, and events that force reassessment. That is how an enterprise gains the benefits of platform commitment without turning commitment into permanent lock-in.
The goal is not to repatriate more workloads or move more workloads to cloud. The goal is to place each business service where it can deliver the required outcome with the best balance of performance, resilience, control, speed, cost, and reversibility.
External References
[1] Microsoft Learn: Assess your workloads for cloud migration
Canonical URL: https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/plan/assess-workloads-for-cloud-migration
[2] Microsoft Learn: Unified hybrid and multicloud operations
Canonical URL: https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/hybrid/strategy
[3] Microsoft Learn: Cost Optimization design principles
Canonical URL: https://learn.microsoft.com/en-us/azure/well-architected/cost-optimization/principles
[4] Microsoft Learn: Cost Optimization tradeoffs
Canonical URL: https://learn.microsoft.com/en-us/azure/well-architected/cost-optimization/tradeoffs
[5] FinOps Foundation: FinOps for Public Cloud
Canonical URL: https://www.finops.org/framework/technology-categories/public-cloud/
[6] Microsoft Learn: Azure Local billing and payment
Canonical URL: https://learn.microsoft.com/en-us/azure/azure-local/concepts/billing?view=azloc-2606
[7] Microsoft Learn: Disconnected operations for Azure Local
Canonical URL: https://learn.microsoft.com/en-us/azure/azure-local/manage/disconnected-operations-overview?view=azloc-2606
[8] Microsoft Learn: Azure Hybrid Benefit for Azure Local
Canonical URL: https://learn.microsoft.com/en-us/azure/azure-local/concepts/azure-hybrid-benefit?view=azloc-2607
[9] Broadcom: Broadcom Announces VMware Cloud Foundation 9.1, Enabling Secure and Cost-Effective Infrastructure for Production AI
Canonical URL: https://news.broadcom.com/releases/broadcom-announces-vmware-cloud-foundation-9-1
[10] VMware Cloud Foundation Blog: VCF 9.1 Licensing: Programmatic, Centralized, and Built to Scale
Canonical URL: https://blogs.vmware.com/cloud-foundation/2026/05/18/vcf-9-1-licensing-programmatic-centralized-and-built-to-scale/
[11] Broadcom TechDocs: Architectural Options in VMware Cloud Foundation
Canonical URL: https://techdocs.broadcom.com/us/en/vmware-cis/vcf/vcf-9-0-and-later/9-1/design/vmware-cloud-foundation-concepts.html
[12] Nutanix: Nutanix Licensing and Cloud Platform Software Options
Canonical URL: https://www.nutanix.com/products/cloud-platform/software-options
[13] Nutanix: Pricing and Licensing Options for Nutanix Cloud Clusters (NC2)
Canonical URL: https://www.nutanix.com/products/nutanix-cloud-clusters/pricing
[14] Nutanix: Nutanix Kubernetes Platform
Canonical URL: https://www.nutanix.com/products/kubernetes-management-platform
[15] Kubernetes: Overview
Canonical URL: https://kubernetes.io/docs/concepts/overview/
[16] FinOps Foundation: FinOps for AI Overview
Canonical URL: https://www.finops.org/wg/finops-for-ai-overview/
[17] NVIDIA: Enterprise AI Factory Overview
Canonical URL: https://docs.nvidia.com/ai-enterprise/planning-resource/ai-factory-white-paper/latest/ai-factory-overview.html
[18] European Union: Regulation (EU) 2023/2854 on harmonised rules on fair access to and use of data (Data Act)
Canonical URL: https://data.europa.eu/eli/reg/2023/2854/oj
[19] Google Cloud: Incident details – Multiple GCP products are experiencing service issues
Canonical URL: https://status.cloud.google.com/incidents/ow5i3PPK96RduMcb1SsW
[20] Hacker News: We moved from AWS to Hetzner, saved 90%, kept ISO 27001 with 3 people
Canonical URL: https://news.ycombinator.com/item?id=44335920
[21] Hacker News: It is no longer safe to move our governments and societies to US clouds
Canonical URL: https://news.ycombinator.com/item?id=43150085
[22] Hacker News: Ask HN: GCP Outage?
Canonical URL: https://news.ycombinator.com/item?id=44605732
TL;DR A reliable VMware NSX deployment on NVIDIA networking depends less on clicking through the NSX Manager wizard and more on getting…
The post Cloud Repatriation Without Religion: A Workload Placement Engine for Cloud, VCF, Azure Local, Nutanix, and Bare Metal appeared first on Digital Thought Disruption.

