Azure Cost Optimisation: A Pragmatic Guide for EU Companies

AzureCloud CostsFinOps

Azure Cost Optimisation: A Pragmatic Guide for EU Companies

I've audited dozens of Azure environments for various companies. The pattern is almost always the same: costs growing between 15-25% annually while actual utilisation hovers around 15-20%. The waste is staggering, but the good news is that most of it is fixable.

Here's the pragmatic framework I use with clients.

Phase 1: Quick Wins (Week 1-2)

These are the changes that produce immediate savings with minimal risk.

Kill Zombie Resources

Every Azure subscription has them: VMs that nobody uses, storage accounts from abandoned experiments, public IPs attached to nothing. A typical audit finds 15-25% of resources generating zero useful traffic.

  • Run Azure Advisor and review all "cost" recommendations
  • Check for VMs with less than 5% CPU utilisation over 30 days
  • Identify unattached managed disks and unused public IPs
  • Review App Service Plans with no active deployments
  • Look for private endpoints that are not attached to any resource or which have been abandoned

Right-Size Over-Provisioned VMs

The second-biggest source of waste. Engineers and managers alike have tendency to provision for peak load and never revisit. A D16s_v5 running a service that needs a D4s_v5 is burning money every hour.

  • Use Azure Monitor metrics to identify right-sizing opportunities
  • Look for VMs where P95 CPU is below 30%
  • Consider B-series burstable VMs for development and staging

Reserved Instance Optimisation

If you're running predictable workloads on pay-as-you-go pricing, you're overpaying by 30-60%. Reserved Instances provide significant discounts for 1-year or 3-year commitments.

  • Identify workloads running 24/7 for the past 3+ months
  • Start with 1-year reservations for lower commitment risk
  • Use Azure's reservation recommendations as a starting point

Phase 2: Architectural Optimisation (Month 1-3)

These require more planning but deliver larger, sustained savings.

Container and Kubernetes Right-Sizing

AKS clusters are often over-provisioned at the node pool level. I regularly find clusters with 60-70% of allocated resources unused.

  • Implement Vertical Pod Autoscaler (VPA) for right-sizing recommendations
  • Use Cluster Autoscaler to scale node pools based on actual demand
  • Consider spot node pools for fault-tolerant workloads (60-90% savings)
  • Review and set appropriate resource requests and limits
  • Consider Azure Container Apps with scaling set to zero for development and user accepted testing environments

Storage Tier Optimisation

Data accumulates in hot storage long after it's needed. Azure's storage tiering can dramatically reduce costs for data that's rarely accessed.

  • Implement lifecycle management policies to auto-tier old data
  • Move infrequently accessed blobs to Cool or Archive storage
  • Review Cosmos DB RU provisioning — most deployments are over-provisioned

Phase 3: The Repatriation Question

This is where the conversation gets interesting. For many companies, the most impactful cost optimisation isn't optimising a hypervisor (e.g. Azure / AWS / GCP ) — it's migrating some workloads off entirely.

When Repatriation Makes Sense

  • Predictable, steady-state workloads that don't benefit from cloud elasticity
  • Data-heavy applications where egress costs are significant
  • Data residency requirements where you need guaranteed sovereignty
  • Compute-intensive workloads where bare metal is 5-10x cheaper

The focused provider versus a hypervisior

For EU-based companies, Hetzner offers extremely attractive prices. A dedicated server with 128GB RAM and fast NVMe storage costs roughly €80-120/month — the equivalent hypervisior VM would be approx. €800-1,200/month. That's a 90% cost reduction for suitable workloads.

Of course, you trade managed services for operational responsibility. The key is choosing the right workloads for repatriation:

  • CI/CD runners and build infrastructure
  • Internal tools and admin dashboards
  • Data processing pipelines
  • Development and staging environments

Hybrid Approach

The pragmatic answer is usually hybrid. Depending on your specific use case and your specific application or service sometime keeping the customer-facing workloads on a hypervisor (AWS, Azure, GCP etc) which has the elasticity and where managed services add real value. Move predictable, internal workloads to dedicated infrastructure where the economics are dramatically better.

Building a FinOps Culture

Cost optimisation isn't a one-time project — it's a cultural shift. Without ongoing governance, costs creep back within months.

  • Assign cost ownership to engineering teams, not just finance
  • Set up budget alerts with automated notifications at 80% and 100% thresholds
  • Review costs monthly as part of engineering team standups
  • Tag everything with team, project, and environment labels
  • Make costs visible through dashboards accessible to all engineers

Start With an Audit

The first step is understanding where you actually stand. CloudNua's cloud cost audit delivers a line-by-line analysis of your hypervisior environment with a prioritised savings roadmap — typically identifying 40-60% in potential savings.

Book your cloud cost audit →

AvatarEnda Kelly

© 2026 Enda Kelly, trading as CloudNua. All rights reserved.

Ireland