We have been doing some work with Amazon Web Services, particularly the Elastic Computing Cloud (EC2) services. I'm quite impressed, and excited about what types of innovations cloud computing will bring us in the coming years.
When we first started using EC2, all it really seemed like was a glorified co-located server. You could log in, set up Apache, run a web site, etc. In fact, it was kid of hard, because you had do manage keys, ids, secret keys, keypairs, etc., etc. The cost in time to get going was rather high. The cost in dollars isn't really cheap either. It certainly costs more to use EC2 than it does to get a cheap but dedicated server at a second-tier co-lo provider too.
The real fun starts when you get everything setup. There is so much flexibility! Need another webserver or 10? Easy! Need 500GB of space? Done! Need a few terabytes? Three clicks! Are you doing a major upgrade? Back everything up. Save the virtual machines off to an image. Do you upgrade fearlessly. Finished with all of that CPU and drive space? Release it and stop paying for it.
This is what we gain with Amazon Web Services / EC2. Flexibility and options. A dramatic move from fixed costs to variable costs. These options cost money, but if you need this type of flexibility, it is very cost effective.
Amazon's services are different than Google, salesforce.com, or Microsoft's Azure. Amazon provides drive space and virtual machines. This gives you flexibility, but you still have to manage a lot of the stack. Google's App Engine essentially gives you a Python runtime machine to run your applications in. salesforce.com positions itself as an entire programming platform in the cloud. Azure is a collection of highly-leveragable web services. I'll comment more on them in the coming weeks.