Don't get me wrong, I get the platform - as a software engineer. As a business owner - I even get all the benefits - elasticity, reliability, scalability, flexibility and all the other
See, a regular VPS also runs "virtually" - just like the cloud. It's isolated from the host-machine failures - just like the cloud. The latest VPS-software (say, vSphere) can even do load-balancing, shadowing and real-time switching between physical hosts in case of a hardware failure - just like the cloud.
So, what's the difference then?
Actually with a VPS you might end up paying for unused CPU-cycles, unused hard-disk operations and unused extra RAM. But that's fine with me. As long as it's cheaper.
No cloud for "fat" servers
Let's have a look at one of our virtual servers - it runs a couple of static websites and two huge ASP.NET SaaS-applications along with their databases. It has an 80 gig hard-drive and 4 gigs of memory. Every month it eats up 500 gigs of traffic. And the monthly price is under $100. Now, according to Amazon's Pricing Calculator setting up a similar server in the cloud would cost around $500 a month. Seems expensive?
That's not how you estimate the cloud
Recently, while doing a project for our hosted help desk app, I realized that's not how you estimate the cloud. While VPS'es are fine for heavy & continuous work, the cloud can be great for occasional stuff, when buying a separate server would be ridiculous.
Real-life example: virtual emails for the helpdesk app
We figured we need a new feature for our helpdesk app. We wanted to provide our customers with free temporary email-addresses. And not just random addresses, but the ones that use the same subdomain as the SaaS web-application.
I mean, if "Acme Motorcycles" runs their SaaS-helpdesk at "acme.jitbit.com" I want to give them the "email@example.com" address. So they can start using it right away, without configuring POP3/IMAP interfaces, or any other complicated stuff.
To make this work I needed a "catch-all" email setup that will intercept all emails like
*@*.jitbit.com. And the only way I found I could do this (aside from writing lots of code and setting up a weird DNS configuration) was to set up a Linux machine running Postfix agent.
I couldn't use my existing servers cause they're Windows-based. I did not want to rent a $20 linux box just for that... And then I realized that the cloud could be the ideal solution.
I'll save the step-by-step instructions for another post, let me just concentrate on the price here.
It turned out an Amazon server doing this kind of mail routing for us would cost... Around 35 cents a month.
35 cents a month. It even has a 10 GB drive (9.5 GB of which is obviously a free space) and runs 24/7. Which means, if I lower the disk space and set up a script that schedules this server to start/stop every 10 minutes (enough for email routing) it'd be even less. But I won't even bother. Cause - did I mention - Amazon's micro instances stay free for the first year.
I'm a cloud fanboy now.