A cloud migration TCO (Total Cost of Ownership) model is the most important document in any migration project. Get it wrong and you'll overspend on your cloud deployment or — worse — underestimate costs and lose executive confidence mid-project. This guide shows you how to build an accurate one.
What Is a Cloud TCO Model?
A TCO model compares the true 5-year cost of your current environment (on-premises or existing cloud) with your target cloud environment. It must include every cost component — not just compute — to be credible to a CFO.
The 8 Cost Components You Must Include
1. Compute: EC2/VMs at reserved pricing (never on-demand for TCO). Include right-sized instances based on actual utilisation, not current overprovisioned specs.
2. Storage: Object storage (S3/Blob), block storage (EBS/Premium SSD), and archive (Glacier/Cool). Apply realistic lifecycle policies — not everything stays in hot storage.
3. Network: Egress fees are often the most underestimated line item. Calculate data transfer out to internet, cross-region and inter-AZ separately. AWS charges $0.09/GB egress — model this carefully for data-heavy applications.
4. Managed Services: RDS/Cloud SQL for databases, EKS/AKS for Kubernetes, ElastiCache for caching. These replace on-premises software costs and operational overhead.
5. Support: AWS Business Support is 10% of monthly spend (minimum $100). Enterprise Support is 3-10%. Azure and GCP have similar tiers. Budget this from day one.
6. Licences: Windows Server, SQL Server, Oracle Database. Cloud doesn't eliminate licencing — it changes how you pay. AWS Licence Manager and Azure Hybrid Benefit can reduce this significantly.
7. Migration Costs (one-time): Assessment tools, migration tooling, consulting fees, parallel running period (typically 3-6 months of paying both old and new environments).
8. Operational Costs: Cloud reduces but doesn't eliminate operational overhead. Budget for cloud engineers, FinOps tooling and ongoing optimisation.
The Most Common TCO Mistakes
- Using on-demand pricing: Nobody runs production workloads on-demand for 3+ years. Use 1-year reserved pricing for steady-state workloads in your model.
- Forgetting egress: A media company with 100TB/month egress pays $9,000/month on AWS. This changes the entire TCO calculation.
- Ignoring migration costs: A typical 100-server migration costs $150,000-300,000 including parallel running. Excluding it makes year 1 look artificially good.
- Using current server specs: Most on-premises servers run at 10-20% CPU utilisation. Migrate to right-sized cloud instances, not 1:1 replacements.
- Not comparing all clouds: If you only model AWS, you might miss that OCI is 60-80% cheaper for your specific workload type.
A Real TCO Example — 100 Servers
For a mid-size company migrating 100 mixed Linux/Windows servers from co-location to cloud:
- On-premises 5-year cost: $3,640,000 (hardware, DC, staff, licences)
- AWS optimised 5-year cost: $1,530,000
- Azure with Hybrid Benefit: $1,140,000
- OCI 5-year cost: $940,000
The choice of cloud matters as much as the decision to migrate. OCI saves $590,000 more than AWS over 5 years for this workload.
How to Build Your TCO in 60 Seconds
Instead of building a TCO spreadsheet from scratch, upload your infrastructure inventory or cloud billing export to TCOIQ's free TCO Calculator. The AI reads your data, right-sizes the instances, applies reserved pricing, and compares all 5 clouds in under 60 seconds — giving you a complete 5-year model ready to present to your CFO.
Supported Input Formats
- AWS Cost Explorer CSV export
- Azure billing export (CSV or JSON)
- GCP billing export
- RVTools Excel export (on-premises)
- Azure Migrate assessment JSON
- Your own infrastructure spreadsheet