Cloud computing: a rather expensive alternative
I was always convinced that buying own servers is the most stupid thing a company can do at the era of cloud computing. If I deal with servers, it is exclusively because:
I love dealing with servers. This alone is enough.
There are a lot of things to learn in this domain, and I'm loving it.
So despite the amount of money one have to pay for server hardware and the risk of fire hazard, loss of internet connectivity, etc., I still prefer having my own servers instead of using cloud services.
But then, I was reading the ServerFault blog and it appeared to me that Stack Exchange is an actual company which should be motivated by profit, rather than a deep love towards the hosting of servers. So what are they thinking about, I asked myself? And then, I started to compare the prices.
Comparing prices
The primary server I have has 12 cores and 96 GB of RAM, a 240 GB SSD performing at 500 MB/s and 2 TB RAID 1 performing at 100 MB/s. It costed approximately $2 600, given that each part was bought separately. This means that when the server will start to age, I'll simply replace the components, and some, such as the chassis, will serve for decades.
Now let's search for a similar machine on Microsoft Azure. At the moment of writing, their calculator lists D-Series, A-Series and G-Series machines. The A-Series look close enough to what I have, given that I'm somewhere between A-10 and A-11.
Let's make things easier and consider only the A-10 one (and we'll also forget about the SSD). At the moment of writing, the machine costs $863.04 per month ($1.16/hour). Wait, whaaat?! That's a third of what I paid for my server!
Agreed, I maliciously avoided talking about my electricity bills (although it's difficult to measure, I imagine that the server costs less than $10/month), my internet bills ($40/month for an asymmetric 90 Mbps/70 Mbps connection), about the money I paid for the UPS units, the switch and the rack cabinet, and about the additional costs Microsoft has to pay, such as the cost of the data center itself, the cooling, the security, the maintenance, etc.
But still, one third of the cost of the server?
I can also purchase separate instances for all the virtual machines I host. At the moment of writing, the least expensive machine on Microsoft Azure costs $13.40/month. I currently host 40 machines, and the server may easily host twice as much, which means $1 072/month. I don't freaking believe it!
Amazon EC2 looks slightly cheaper, but not that much. Their m4.4xlarge is at $1.008/hour, which is still a lot.
Actually, i'm not sure what to think. I always thought that cloud computing is the solution, and one would be smarter to purchase his own servers only in a few rare cases. Looking at the prices, it appears that cloud computing is more for very specific cases where scalability is a requirement, and one would be crazy to use it for anything else. That's very different from what the ads tell us about the cloud!
I imagine that it may be interesting for some startups which expect to grow very fast, but what about the medium or large size companies? Are they really ready to pay such high price only to get the excellent reliability of Amazon's and Microsoft's cloud solutions?
In all cases, I can hardly see myself purchasing virtual machines at Microsoft Azure or getting one at Amazon AWS.
Of course, storage is a different subject. Amazon S3 has its obvious value, especially for any data which requires to be stored reliably.