In preparation of a cloud presentation to a customer, I looked at the pricing of IaaS services with cloud providers. I had in mind the often quoted Amazon cost of 8 US$ cents per hour. Well, what I found reminded me of the low cost airlines, at least in Europe.
Let me explain what I mean. I just tried booking a Brussels-Geneva trip on June 1st, and found one for 4 Euros. Well, by the time I am getting to payment, the 4 euro have become 71 euro. Indeed, there are 25.06 Euro airport taxes, 37 euro airline costs, whatever this means and then an additional 5 euro as I pay per credit card. This means a 1775% price increase, not bad isn’t it?
Well, what I found regarding the public cloud is very much along the same lines. Let me illustrate what I means with a couple examples.
Let me start with Amazon. Let assume we go for a small on-demand instance. This actually means 1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit) with 1.7GB memory (which is not a lot these days), 160GB instant storage and moderate I/O performance, what-ever this means. All of that is on a 32 bit platform. If I decide to run Linux or Unix, this will cost you $0.095 per hour. The timing is not related to actual CPU usage, but rather to the time you reserve the instance. On top of that, a started hour is started at full hourly rate. If you want to run Windows, the price is $0.12 per hour.
We all know memory is often a bottleneck. So, what if we try getting larger memory. Then you require to move to the high-memory instances, which give you a jump in both memory and CPU power. Indeed, the smallest one has 17.1GB of memory and 6.5 EC2 Compute Units. Now the cost is suddenly $0.57 per hour on Linux/Unix and $0.62 on Windows. This is an increase of 600%. You also get additional disk space for that price.
Let’s now look at data transfer. Till June 30th, 2010 data transfer in is free. Data transfer out costs $0.15 per GB up to 10TB per month. Let’s assume all our outputs correspond to 5TB/month, well it is going to cost you $750 per month for your I/O. If I need a public IP, it will cost me an extra 1$cent per GB.
So, if I assume I need a windows server with reasonable memory and disk space for 1 month and I have 5TB data output from my Amazon based activities. The cost will be in the area of $1200 per month. This is far away from the $0.08 per hour that is always quoted.
Now, I don’t want to beat upon Amazon, as the others aren’t any different. Let’s look at VMWare’s Vcloud pricing. A reasonable configuration (4VPU’s and 16GB memory) would cost $1.446 per hour. System storage is priced $0.25/month per GB. Additional storage is also charged at $0.25/month and a public IP address at 0.01$/hour. Bandwidth is charged at 0.17$/GB.
So, if we take the same example as above, CPU/Memory for a windows server would cost $1055 per month, 1TB storage, which is roughly the equivalent as in the previous example, would come at $250/month, and 5TB I/O would cost $1250/month. This brings the total above $2000/month.
Bluelock Vcloud, does the same for $840 (Server) + $219 (Windows + SQL) + 350 (1TB storage) + 850 (5TB bandwith), or $2200/month.
Windows Azure has yet another approach, making comparisons difficult. To stay in line with the above, let’s take an extra large instance (8 CPU’s, 14GB memory, 2TB storage). That one comes at $0.96 per hour. Data transfer in is $0.10/GB, out is $0.15/GB. So, sticking to our example, the cost would be in the area of $691 for Server/storage and $625 for I/O.
It looks like the large players are less expensive than the small ones. But I have no guarantee that my calculations are correct. The only thing I can say, it’s far from transparent. So from a cloud perspective, the www in front looks like the wild wild west.