What is the distinction between a Cloud based host and a VPS? I talked to a Rackspace Cloud sales person for around 45 minutes and never came to a real conclusion on this. So, to elaborate on my question a bit -- what benefits might a "cloud" server provide me versus a VPS provider such as Linode and vice versa -- what benefits would a VPS provide over a cloud provider?
From what I've been able to ascertain, when you host on a cloud (with Rackspace Cloud) you get a instance of Linux in which you install software and such (a LAMP, for instance). From what I can figure, if the instance is running, I am charged and the pricing on Rackspace (according to what I understood from the sales rep) comes out to about $20 a month.... I was thinking a cloud customer pays per processing hours -- so if your app just sits there, no charges are incurred. Does one not pay of the cloud instance is shut down, perhaps?
A similar questions to what I'm asking but not exactly it:
I wrote this answer to a similar question. That was about defining some of the buzzwords around cloud services.
With those definitions in place, you can say that IaaS is exactly like a VPS; except that typical 'cloud' vendors let you start and stop as many instances as you want, and charge after the fact, while typical VPS vendors make you sign a contract for a fixed service with a flat fee, any change has to be asked and typically has a setup fee.
It's a difference of abstraction, conceptually, but it boils down to being able to light up "instances" on-demand and having infrastructure on-tap if you will.
As for billing, yes, you generally only pay (with most of them anyways) for the time that your instance is online and functioning, so if you're planning on hosting a few fairly low traffic websites, I'd stick to shared hosting. If you just launched a big marketing campaign for your Web application, I'd much rather have at my disposal instantaneous machine instances ready-to-go, scaling up as you need it.
Personally I have a failover mail server instance on EC2 with S3 shared storage that's mounted on my real mail server -- if it goes down, I know I can light up that mail server instance within seconds to failover if necessary. I also have another instance with just FreeBSD and Nessus on it to do network scanning on various hosts when I need it; last month I think I spent ~10 bucks all told on Amazon for several GBs of persistent storage, a few instance hours, and a bit of bandwidth.
Realize the cloud means writing to the specs of the cloud - a VPS is JUST a server - Nothing else. The cloud, to scale like the marketing teams say, is going to require your code to deal with sessions / load balancing - overly simplified it's going to need ANY server to be able to handle EVERY request - i.e. not a sticky session - If you can do that then scaling, cloud or multiple VPS, is basically the same (perhaps cloud offerings have a load balancer in front available).
I find most customers come to us needing help with the coding to be ready for the cloud / scaling - those seeking cloud because they saw a marketing term don't understand the difference - That's the fault of the marketers.
To conclude, the differences between the two types of the virtual servers depend more one the provider than on the technologies used. Like if the vps are said to be over-sold, same can be true for cloud servers as well, similarly the availability of un-allocated resources would greatly effect the performance of the servers in both cloud and vps environment. So I think at the end of the day, practically you should take your decision about the provider first, technology later.