Here's something interesting about the pricing structure: if you get a spot instance, and bid like $5/hr max for it, you won't get overbid for it, and your hourly cost is going to be far less than outright buying the reserve instance itself if you need it longterm.
... unless the people who bought reserved instances for disaster recovery decide to start using them. If one company's disaster recovery plans kick in, it's quite likely that many other companies' disaster recovery plans will kick in at the same time -- and spot instances will suddenly become very scarce as they are reallocated to the people who paid to reserve them.
I realize that many here need to plan for extremely bursty or massively scalable setups, but for 99% of applications AWS seems lousy in terms of SLA and overpriced for what you get.
You can get premium colocation for a 1U or 2U server for $200 a month, ie. $2400 per year.
This premium colocation comes with phone and email support for most basic Linux and networking tasks, 100% network and power uptime guarantees, etc.
AWS does not offer much support unless you pay more, and as we have seen in the past, they do have outages.
A server from Aberdeeninc.com (price for 1 server without negotiation or shopping around), far superior to an xlarge, is about $3100 including shipping (Stirling 169 1U, 2x 5504 CPUs (8 cores), 24GB RAM, 2x 500GB Seagate 32MB cache).
Meanwhile an xlarge RS will cost almost $4k per year.
I would be very interested in hearing real-world testing results of what an AWS compute unit actually ends up being comparable to vs. a relatively modern CPU like the quad core Opterons and Xeons.
The colo setup requires an up front cost and a commitment to the hardware. With AWS it's less about finding an exact hardware match and more about managing resources.
There are pros and cons to each. I've worked in the hosting/colo space for many years. I think there's a time in a companies infrastructure and scaling needs where being able to customize your hardware and software is the right decision. I see a hybrid future, actually it's already here.
AWS Pros:
I can fail over to another datacenter pretty quickly (depends on how you manage your infrastructure). With colo, that's not possible without more cost.
I can quickly spin up or down instances as needed (based on traffic patterns). To have a standby server or servers at a colo = $$$ , or maybe have the dedicated server provider boot up a few of their dedicated servers ?
s3 (tons of storage) - If you've built-out clustered storage systems, you know how expensive (hardware/management) that can be.
Ping,Pipe,Power - They've been managing data centers for many years and have the experience to keep the lights on.
AWS Cons:
Needs better support.
Price: They're priced above a usual VPS, but you need to consider the flexibility they provide.(API,ZONES)
I think for startups aws/slicehost/linode can work.