In Defence of Cloud: A Response to the Repatriation Narrative
There's a growing narrative that cloud is too expensive and everyone should repatriate. The poster child is usually a company that lifted and shifted a thousand VMs to Azure without right-sizing, without reservations, without cost governance, then acted surprised when the bill was high.
That's not a cloud problem. That's an operations problem.
The real cost of on-prem
On-prem infrastructure has costs that don't show up on the cloud comparison spreadsheet. Power, cooling, physical space. Hardware refresh cycles every 3-5 years. Staff to manage hypervisors, storage arrays, and networking gear. The opportunity cost of capacity planning — buying hardware for peak load that sits idle 80% of the time. DR site costs. Redundant circuits. The time you spend driving to the data centre when something breaks.
When you account for all of it, cloud is competitive for most workloads. Not all workloads. But most.
Where cloud clearly wins
For small and medium businesses where the data centre is not the core business — which is most businesses — cloud is the obvious choice. You don't want to be in the data centre business. You want to be in your own business. Let Microsoft run the servers. You run your company.
Here's a reality I've seen in virtually every environment I've assessed: the majority of what enterprises call "production servers" spend maybe 20% of their time anywhere near 50% resource utilisation. The rest of the time they're idling. Not idle — idling. Drawing power, consuming rack space, counting against your hardware refresh budget, and doing almost nothing. A SQL Server cluster running ERP during business hours is one thing — that's a genuine production workload. But the dozens of application servers, middleware boxes, reporting servers, and miscellaneous VMs that someone provisioned at 8 cores "just to be safe" and that cruise at 12% CPU? That's not production. That's waste. You're paying for peak capacity 24/7 on hardware you'll replace in four years, for workloads that need it a few hours a day at most.
Cloud exposes this immediately. In Azure, that over-provisioned VM shows up on the cost dashboard as a line item, every month, until you right-size it or shut it down during off-hours. On-prem, it's invisible — buried in the capital budget, amortised across the hardware refresh cycle, nobody's problem. Cloud makes waste visible. That's a feature, not a bug.
For variable workloads, cloud pricing is unbeatable. Dev/test environments that only run during business hours. Batch processing that runs weekly. Burst capacity for seasonal demand. You can't do this on-prem without buying hardware that sits idle.
For managed services, the operational savings are enormous. Azure SQL instead of managing SQL Server patching yourself. Entra ID instead of running domain controllers. Exchange Online instead of maintaining on-prem Exchange. Each managed service eliminates a category of operational work.
The cost argument is real — and solvable
Cloud sticker shock is usually a governance failure, not a pricing failure. Every environment I've seen with out-of-control cloud costs had the same problems: no right-sizing, no reservations, no tagging, no budget alerts, orphaned resources everywhere. Fix the governance, and the costs come down by 30-50% without touching the architecture.
Reserved Instances alone cover the premium for steady-state workloads. A VM that looks expensive on pay-as-you-go drops by 30-40% with a one-year commitment. That's not optimisation. That's just not leaving money on the table.
Where on-prem still makes sense
I'm not saying everything belongs in the cloud. Compute-intensive, always-on workloads with predictable utilisation — think ERP systems, manufacturing systems, high-throughput data processing — these can be cheaper on-prem when you run the full TCO. The math isn't ideological. It's arithmetic.
But even then, the question isn't "cloud or on-prem." It's "how much of each." Hybrid is the reality for most enterprises, and the hybrid tooling has gotten genuinely good. Azure Arc brings cloud management to on-prem servers. Stack HCI brings Azure services to your data centre. Azure AD Connect bridges identity. You don't have to choose one or the other. You can choose both, where each makes sense.
The real issue is operations maturity
The companies that succeed in the cloud aren't the ones with the best architecture. They're the ones with the best operational discipline. They tag everything. They right-size relentlessly. They use reservations. They set budget alerts and act on them. They treat cloud cost management as an ongoing practice, not a one-time project.
The companies that fail in the cloud lift and shift, don't right-size, don't reserve, and then write a blog post about how cloud is a scam. The problem wasn't the cloud. It was the operations.
Cloud is not a magic cost reduction machine. It's an infrastructure platform that rewards operational maturity and punishes neglect. Same as on-prem, but faster and more visibly.