Maybe I’m a little biased because I’ll be working for them soon, but I think Amazon’s new web services are really cool. Basically, they offer a really reliable computing infrastructure for developers with a pay-as-you-go pricing structure. You only pay for what you use, and the interfaces are dead simple. They offer both SOAP and REST style web service interfaces.
For 10 cents per hour per CPU, you can rent as many or as few CPUs as you want. And, this can all be controlled automatically via their web service API. You pick the linux distribution, software, and data you want the machine to boot with. This pay-as-you-go computing is called the Elastic Compute Cloud, or EC2.
For 15 cents per GB per month, you can store as much or as little data as you want with the Simple Storage Service, or S3. Each file in S3 can be anywhere from 1 byte to 5 GB large. Because of the way REST works, public files can be downloaded directly from the browser, so they can be embeded in or linkable from web pages.
Another service that I just started playing with is called the Simple Queue Service or SQS. At first, it didn’t seem all that useful to me, but I think it will become useful for messaging between unreliable or not on 24/7 systems. My planned use of EC2 doesn’t require my server to be running 24/7, so I’m going to use a queue to accumulate jobs to be processed once the server boots up. As soon as all the jobs in the queue are processed, the EC2 server will shut itself down, saving money in the process.
UPDATE: You can hear a lot more practical usage of Amazon’s web services in this podcast from IT Conversations.