It’s easy to think that the least expensive way to spin up cloud servers is to use a service such as Amazon Web Services. After all, you don’t need to buy hardware or electricity, or even hire people to manage it, right? Well … not so fast. It’s not as simple as that. While there are lots of situations in which AWS is the least expensive, there are times when it’s less costly to bring your workloads on-prem with an OpenStack deployment.
Here at Mirantis, we’ve created a Total Cost of Ownership calculator that compares the two. For example, if you have 300 virtual machines, AWS can be more cost-effective, but once you get to 400, OpenStack is the way to go. But before relying on any TCO calculator, it’s important to know the assumptions behind it so that you can understand how those determinations are made.
In this article, we’ll explain how the TCO calculator comes to its conclusions, and you can feel free to download the full spreadsheet yourself to take a look at how it all fits together.
Whether you’re using AWS or OpenStack, there are certain things you need to take into consideration. For example, just because you’re using a cloud doesn’t mean that you don’t need staff, and it doesn’t mean that VMs will always be 100% occupied — and all of that will impact your costs.
In our case, we’re making the following general assumptions:
- Average data-out from the cloud per VM is 1 TB/month, or 385,802 bytes/sec
- Each compute node hosts an average of 28 VMs
- Each VM needs an average of 20 GB of block storage (or 560 GB per server)
- Storage is provided with a ratio of raw:usable space of 3.3, allowing for redundancy, and so on
It’s important to understand that whether you run in the private cloud/on-prem or in the public cloud, there is going to be some level of inefficiency. For example, we’re assuming that at any given time, only 60% of your OpenStack cloud hardware is in use, but because it’s private cloud/on-premise, you’re still paying for it.
You don’t have this problem with AWS, because you can always just stop instances you’re not using, but that doesn’t mean you will always run at 100% efficiency. The TCO calculator assumes 80% efficiency for AWS instances, taking into account that there will be times instances are simply too big for the workloads running on them (but you still pay full price for the VM).
Staffing may not seem like an issue common to both on- and off-prem clouds, but it is.
For OpenStack clouds, we’re assuming that you will need an OpenStack admin team with a minimum of two persons, because your cloud has to be up 24/7. We’re also assuming that one admin can handle up to 50 individual servers. Once you get over 200 servers, we’re assuming that allowing for “fractional” staff is acceptable.
For AWS, you’ll still need at least one AWS internal administrator to support users who are in the cloud.
We’re assuming a full-time admin costs $140,000/year. Now let’s look at some assumptions that are specific to each platform.
Let’s start with OpenStack. If you’re running an on-prem OpenStack cloud, you’ll have expenses that won’t exist for the public cloud, such as hardware and electricity.
Hardware and software:
The TCO calculator assumes that each physical server consists of:
- System: Intel 2U R2312WT Wildcat-pass Server System
- Dual Intel® Xeon® E5-2690v4 14 Core 2.60GHz 35MB Cache
- 256GB LRDIMM DDR4 2400
- 2.5TB SSD (5 x Micron M600 512GB SATA 2.5″ SSD)
- 2 x GE
- 3-year warranty
For storage we’re assuming each server consists of the following:
- SuperStorage Server 6028R-E1CR12L
- Single Intel® Xeon® processor E5-2620 v3, 6-Core 2.4G 20M 8GT/s QPI
- 64GB RAM
- Storage: Chipset 12x 3.5″ 6TB SATA3 HDDs + 1x 800GB NVMe SSD (in rear 2.5″ Hot-swap OS drives (mirrored 80GB SSD))
- Dual-port 10G SFP+ via AOC-STGN-I2S
- 2U w/ redundant Hot-swap 920W power supplies
- 3-year warranty
We’re also assuming a 30% discount off hardware list prices. We’ll depreciate the hardware over 3 years, and assume it needs to be replaced after 4 years.
We also need to take into consideration a number of other factors, including:
|Bandwidth costs in and out of the datacenter||$19.00 per Mbps/year|
|H/W & bandwidth price degradation/decline year over year||10%|
|Admin cost reduction due to automation year over year||5%|
|Ratio of compute nodes to OpenStack Controller nodes||25|
|Power cost ($/kWh)||$0.10|
|Networking overhead (End of Row switches, WAN connectivity) as a % of server hardware acquisition cost||10%|
|Networking annual maintenance/support as a % of network hardware and software costs||15%|
|Networking admin cost as a % of total IT admin effort||8%|
|Rack annual maintenance/support as % of Rack costs||15%|
|Average power/rack||10.0 kW|
|2 x 10 GB Top of the Rack(ToR) switches + 2 x power distribution unit (PDU) + Rack chassis + 6 x fiber optic cables + 42 x Cat5 cables
(https://www.fs.com/c/10g-switches-3256 has cheaper switches)
|Monthly cost to operate a rack||$1,500|
|Install cost per rack||$2,000|
|Lab overhead per node (for testing/staging) / year||$50|
|Storage server raw storage||72,000 GB => (12 x 6 TB)|
Similarly, there are costs that are specific to an AWS implementation. Some, such as Enterprise Support, have corresponding costs on the OpenStack side. Others, such as cost differentials for reserved instances, are specific to AWS. The TOC calculator assumes the following:
|AWS machine selected (2 vCPU, 8 GB memory)||m4.large|
|AWS price & inter-datacenter pipe costs degradation/decline year over year||3%|
|Number of LBaaS||1|
|% of AWS VMs using reserved instances||30%|
|% Discount on reserved instances (Typical range [31 – 60]%)||47%|
|Direct links to AWS||$24,000 per year|
|Inter-region data transfer/month in terms of the data xfer out||1|
|Enterprise support as a % of spend on AWS services||4%|
|AWS support team (internal)||1.00 Full-Time Equivalent|
|AWS Discount Tier||14%|
So what’s best?
OK, so what does the TCO analysis tell us? Which is a better choice from a financial standpoint? As with so many things, it depends on your situation. For example, AWS is generally less expensive if you need multiple data centers — unless you have a large number of VMs, in which case OpenStack is less expensive. So do yourself a favor and plug your information into the TCO calculator and find out. Please let us know what you find!