Two weeks later, they had to do it all over again because something went wrong with the air conditioning and the servers got cooked.
I kept recommending going with AWS because of that... I no longer work there, but as far as I know they're still running their own servers.
If it really were like 'apt-get install redundancy' I'm pretty sure that AWS would have 1/10th the clients it has now.
$40 / month for 4gb of ram, 4tb of transfer, and two cores, is very cost effective. Linode is also very reasonable.
If all I need is that scale of computing, what should I use instead that makes sense other than cloud services? Setting up colo or a dedicated box for that would be more expensive and a much larger hassle.
They're also far cheaper than AWS, where you pay a premium for the elasticity and access to the ecosystem. If there's anything to compare AWS with, it would be Google Cloud Platform, Azure and maybe Rackspace.
Regarding hardware failures - it's not that hard to arrange proper redundancies in your systems, and it will certainly be cheaper than outsourcing it to Amazon. Cloud only becomes cost effective when your spikes are several times larger than your normal traffic, and you must maintain good QoS at all times.