Cloud Repatriation: When Moving Back On-Premises Actually Makes Sense
An honest analysis of cloud repatriation — when moving workloads back on-premises is rational, when it is emotional, and how to build a total cost framework for the decision.
Cloud repatriation has become a polarising topic. On one side, vendors and cloud advocates dismiss it as regression. On the other, disillusioned CTOs share stories of cloud bills that tripled overnight and performance that worsened after migration. The truth, as usual, is more nuanced.
Some workloads genuinely belong on-premises. Some never should have been migrated to the cloud in the first place. And some organisations are considering repatriation for the wrong reasons — reacting to sticker shock without first optimising their cloud spend. This guide provides a framework for making the decision rationally.
When Repatriation Is Rational
1. Predictable, steady-state workloads at scale
The cloud's value proposition is elasticity: pay for what you use, scale up and down on demand. For workloads that run at constant high utilisation 24/7/365, that elasticity is not valuable — you are paying a premium for flexibility you never use.
Example: A large database server running at 70–80 % CPU utilisation around the clock. On Azure, a D64s_v5 VM with 64 vCPUs and 256 GB RAM costs approximately EUR 2,800/month (3-year reserved). On-premises, equivalent hardware (Dell PowerEdge R760 or similar) costs approximately EUR 25,000 with a 5-year lifecycle — roughly EUR 420/month in hardware cost alone.
Even adding co-location, power, networking, and staff time, the on-premises cost for this specific workload pattern is 40–60 % less over five years.
Key qualifier: This only works at scale. If you have one or two servers, the operational overhead of maintaining physical infrastructure eliminates the savings.
2. Data gravity
When you have petabytes of data on-premises and the processing happens near that data, moving the data to the cloud may cost more than it saves. Cloud egress charges compound the problem — every GB leaving Azure costs EUR 0.05–0.087.
Example: A manufacturing company with 5 PB of sensor data in an on-premises data lake. Processing this data in Azure would require:
- Data transfer: 5 PB at EUR 0.05/GB = EUR 250,000 one-time (and ongoing for new data)
- Storage: 5 PB on Azure Blob (hot tier) = approximately EUR 100,000/month
- Compute: Processing clusters = approximately EUR 30,000/month
On-premises, the same storage on commodity hardware costs a fraction, and there are no egress fees for internal analytics.
3. Regulatory constraints that cloud cannot satisfy
Some regulations genuinely require on-premises processing. Examples:
- Certain defence and classified government workloads
- Healthcare systems in jurisdictions that have not approved cloud providers
- Financial trading systems subject to exchange co-location requirements
- Research institutions with data sovereignty requirements that exceed what sovereign cloud offerings can provide
Note: This category is narrower than many organisations believe. GDPR does not require on-premises — it requires appropriate controls, which cloud can provide. Always verify the actual regulatory text, not the interpreted version.
4. Latency-critical workloads
Workloads requiring sub-millisecond latency between components — high-frequency trading, real-time manufacturing control, certain medical devices — may not tolerate cloud network latency. Even with ExpressRoute, you are adding 1–5 ms of latency that does not exist in a local data centre.
When Repatriation Is Emotional
Cloud sticker shock without optimisation
The most common repatriation trigger is a monthly bill that shocks the CFO. Before repatriating, ask: have we actually optimised our cloud spend?
Most enterprises waste 25–35 % of their cloud budget. Common culprits:
- Over-provisioned VMs: D16s_v5 running at 15 % CPU — right-size to D4s_v5
- No reserved instances: Paying on-demand rates for predictable workloads
- Orphaned resources: Disks, public IPs, and snapshots attached to nothing
- Dev/test environments running 24/7: Should run 10 hours/day, 5 days/week
- No Azure Hybrid Benefit: Not applying existing Windows/SQL licenses
A structured FinOps program typically reduces cloud spend by 30–45 % within 90 days. This often eliminates the cost advantage of repatriation entirely.
"We can run it cheaper ourselves"
This claim usually underestimates on-premises costs. The comparison must include:
- Staff: 2–3 infrastructure engineers at EUR 80,000–120,000/year each
- Hardware refresh: Every 5 years, plus unplanned failures
- Data centre costs: Power, cooling, physical security, connectivity
- Software licensing: VMware, backup, monitoring, security tools
- Opportunity cost: Engineers maintaining hardware instead of building products
- Risk: Single points of failure, no geographic redundancy without additional investment
"The cloud is too complex"
Complexity is not a cloud problem — it is a skills and architecture problem. Repatriating a poorly architected application to on-premises does not make it simpler. It makes it a poorly architected application that you now also have to host.
Total Cost Analysis Framework
Use this framework to make an honest comparison. All costs should be calculated over a five-year horizon.
Cloud cost (annual)
On-premises cost (annual)
Decision threshold
If on-premises is at least 30 % cheaper over five years, repatriation may be justified. Less than 30 % savings does not justify the migration risk, disruption, and loss of cloud-native capabilities.
If the costs are within 15 % of each other, the answer is almost always hybrid — keep some workloads in the cloud and move only the most obviously on-premises-suited workloads back.
The Hybrid Middle Ground
For most enterprises, the answer is not "cloud or on-premises" — it is hybrid. The question is which workloads belong where.
Workload placement decision tree
Azure Arc: Unified management for hybrid
Azure Arc is the technology that makes hybrid operationally viable. Without it, you manage two separate worlds with different tools, different policies, and different monitoring.
# Onboard an on-premises server to Azure Arc
azcmagent connect \
--resource-group "rg-hybrid-management" \
--location "westeurope" \
--tenant-id "${TENANT_ID}" \
--subscription-id "${SUBSCRIPTION_ID}" \
--tags "Environment=Production,Location=OnPremises,CostCenter=IT"
# Apply Azure Policy to Arc-enabled servers
az policy assignment create \
--name "monitor-arc-servers" \
--policy-set-definition "55f3eceb-5573-4f18-9695-226972c6d74a" \
--scope "/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/rg-hybrid-management"With Arc, your on-premises servers appear in the Azure portal alongside cloud resources. You can:
- Apply Azure Policy for compliance enforcement
- Use Azure Monitor for unified observability
- Deploy Azure Defender for Cloud for security posture management
- Run Azure SQL Managed Instance on-premises via Arc-enabled SQL
- Manage Kubernetes clusters through Arc-enabled Kubernetes
Case Study Scenarios
Scenario A: The media company with storage costs
Situation: A media company storing 2 PB of video assets in Azure Blob Storage. Monthly cost: EUR 40,000 for storage plus EUR 15,000 for egress (content delivery to editors). Total: EUR 55,000/month, EUR 660,000/year.
Analysis: Content is accessed irregularly. No elastic compute requirements for storage. Editors work from a central office.
Decision: Repatriate storage to on-premises NAS with Azure Arc management. On-premises cost: EUR 180,000/year (hardware amortised + staff + power). Savings: EUR 480,000/year. Keep compute workloads (transcoding, AI analysis) in Azure, accessing on-premises storage via ExpressRoute.
Scenario B: The SaaS company with "high cloud bills"
Situation: SaaS company spending EUR 120,000/month on Azure. CFO demands repatriation.
Analysis: Audit reveals: EUR 35,000/month in over-provisioned VMs, EUR 18,000/month on dev environments running 24/7, EUR 12,000/month on orphaned resources. No reserved instances despite predictable base load.
Decision: Do not repatriate. Implement FinOps program. Optimised cloud spend: EUR 65,000/month (46 % reduction). On-premises alternative would cost EUR 55,000/month but lose auto-scaling, managed services, and geographic redundancy. The EUR 10,000/month difference does not justify the migration risk and lost capabilities.
Scenario C: The manufacturing company with data gravity
Situation: 500 on-premises servers running MES (Manufacturing Execution System), 3 PB of sensor data, real-time control loops requiring < 2 ms latency.
Analysis: Control systems cannot tolerate cloud latency. Data gravity makes full migration impractical. But analytics, reporting, and AI/ML workloads benefit from cloud.
Decision: Hybrid. Keep control systems and raw data on-premises. Arc-enable all servers. Stream aggregated data to Azure for analytics and ML training. Use Azure IoT Hub as the bridge between factory floor and cloud analytics.
Migration Planning for Repatriation
If you decide to repatriate, treat it with the same rigour as a cloud migration:
- Procurement (weeks 1–4): Hardware specification, vendor selection, order placement. Lead times for enterprise servers are typically 4–8 weeks.
- Infrastructure build (weeks 5–8): Rack and stack, network configuration, hypervisor deployment, storage configuration.
- Application migration (weeks 9–14): Deploy applications, migrate data, configure monitoring.
- Parallel run (weeks 15–18): Run both environments simultaneously. Validate performance, reliability, and functionality.
- Cutover (week 19): Switch DNS, decommission cloud resources.
- Optimisation (weeks 20–24): Fine-tune performance, resolve issues discovered in production.
Total timeline: 6 months minimum. Do not underestimate this. Repatriation is not "just moving VMs back" — it is building and operating a data centre.
Honest Conclusions
Cloud repatriation is sometimes the right decision. But it is the right decision far less often than the current hype cycle suggests. Before repatriating:
- Optimise your cloud spend first (30–45 % savings are common)
- Calculate the true total cost of on-premises, including staff and opportunity cost
- Consider hybrid as the default, not all-or-nothing
- Repatriate only workloads that meet clear criteria: predictable, high-utilisation, data-heavy, or genuinely constrained by regulation
If you need help evaluating whether repatriation makes sense for specific workloads or building a hybrid strategy with Azure Arc, contact us at mbrahim@conceptualise.de. We will give you an honest assessment — including telling you when repatriation is not the answer.
Topics