Last October at BarCamp DC 2 I ran a session called “To Cloud or Not? AWS, EC2, S3 or build your own“. Unfortunately the barcamp wiki died and my notes are gone but at the time it seemed that everyone loved Amazon's services. I tried using EC2 in April and while the ablity to select from several pre-configured AMIs was nice, building your own AMI should have been easier. I wanted to configure my machine and then push a button to have my image created. With Amazon you needed to install tools and go through several steps to create an image.
Then I found Slicehost. It was owned by Rackspace and had servers for as little as $20/month (for a 256MB instance). A few weeks later I stumbled on Mosso, also owned by Rackspace and it had servers for about $11/month (plus bandwidth). Since my applications were using very little bandwidth, I moved to Mosso which is now called The Rackspace Cloud. With the Rackspace offerings you install your operating system image, configure it and then, from their control panel you can then back it up with 1 click. You can also schedule backups. This was so much easier than EC2.
Then there is the pricing. Amazon's small instance is a big vitrual machine and at $0.10/hour it runs around $70/month (i think it was 0.12/hour when I 1st started using it). This is probably a good price if you need that much horsepower. What could you possibly run from a 256MB instance anyway? Here's what I am running.
- A full rails app using Apache/Passenger and MySql (I had to remove several unused modules from apache config and my database is small at the moment)
- Apache PHP -- I don't have a database here but I suspect there is room
I suspect a 512MB instance a safe bet for most applications and I will lilely upgrade as my traffic and database size increases. Depending on the situation, I may just spin up more instances of the same server as redunancy is a good thing. Sure I could run everything on 1 AWS instance but if it dies I'm really SOL.
If you ever need a bigger slice you can upgrade in the control panel with 1 click. All your configurations and IP address are kept the same. I usually make a backup (1 click) before doing this just in case something bad happens.
Rackspace is still making improvements to their APIs and Image Management so while they don't offer as many services as Amazon, they have offered all important features to make developer's lives easier, IMO.
For the record, I actually backup my Rackspace Databases to Amazon's S3, I feel better knowing my backups are in a different datacenter. :-)
If you sign up (and found this post helpful) please use my referral code when creating your account. It is REF-TONYCODE