>
I am not paying for AWS because I am dumb...and the people who criticize AWS aren't dumb, either. AWS brings a lot to the table, and also takes a few things off the table. AWS's scaling and combo of services are both wonderful, but they come at the cost of performance and price.
Most companies don't need "click of a button"-type scaling of instances. And most people don't need all of AWS' services; replacing them with good, stable open-source software alternatives (eg., RabbitMQ for SQS, Riak for Dynamo, Postgres for RDS), while incurring a higher admin cost, is not non-trivial.
My company replaced all of our AWS instances with co-located servers a couple of years ago. Our servers were basically static; we did not rely on any dynamic scaling of instances, and since we are in Europe, we couldn't rely on datacenter distribution, either. The performance difference was extreme. The servers were cheap, but they still blew Amazon out of the water. We could easily afford two 32-core database servers within our budget, and their performance translates to a whole bunch of Amazon's fastest instances.
The up-front hardware costs were less than what we were paying per year to Amazon. We have an entire rack now, and I think we are paying something like $1,500/mo for the entire hosting package. (It may be a little more, but not much.)
Hardware maintenance costs have been negligible so far, and the redundancy built into our infrastructure and stack means we don't have to rush out the door if a box dies on us.