Such idiots for paying rent, even though building SkyScrapers isn't their core business.
This is an excellent metaphor.
Note that I've written "relying", as in "depending on the cloud without any alternative backup". Depending on the cloud means depending on something you cannot influence.
How I was supposed to get ' "relying", as in "depending on the cloud without any alternative backup" ' from what your originally wrote, I don't know.
I'll try to elaborate: yes, there are of course certain things that you cannot avoid. That's why I meant you should not "rely"/"depend on the cloud without any alternative backup" on the cloud being available. Redundancy, if your service is crucial!
If you're a small company, and cannot go to your building for a day, well then I hope you're not that important so no big damage (financial or otherwise) is caused. Just enjoy your free day ;-) But if there's a bomb threat in, for example, a hospital, I surely hope they have some kind of backup plan!
Cloud as an alternative mechanism, or maybe even the primary resource for your site -- great, why not! But please don't just throw everything into "the cloud" trusting on the belief that the cloud's operator is impossible to fail.
You raise perfectly valid and interesting points. It's just a shame they're not the parent comment because then they would have invoked some thoughtful discussion.
The back analogy works too. If you're an oil company, Goldman Sachs, AT&T or something similar, you have the bucks to pay someone for an empty emergency office complex for critical staff.
If you're anyone else, you're screwed when the elevators break/street floods/bridge falls down. That doesn't mean that buying a building or building a dam is a viable business continuity strategy.
A better analogy would be setting up a retail shop on a busy street where every now and then, the police completely close off the street, and when you ask them why they've done it, they tell you that it's none of your concern.
Yet, people still continue to open shops on this street, that is, until the customers start going somewhere else.
My point is: things go wrong. Blaming this on the cloud is silly.
But relying on the cloud means that you're giving up control.
Power outage in your data center? Buy diesel generators next time! Faulty network card? Put in two redundant ones!
AWS down? Wait and pray!
But, outsourced or not, critical things should be as redundant as needed, and not relying on a single point of failure.
If in a hospital a life-keeping machine depends on electricity, I hope they have diesel generators available even if their outsourced power supply fails.
Having a critical service supplied by someone does not necessarily mean there's a single point of failure, because that someone might be working to make sure there is no single point of failure.
The best analogy I can make is it's like a telemarketing company. Their core business is not building/owning/maintaining PBXs, it's calling you and trying to sell you crap at diner time. However, because they cannot deliver their core product reliably without a PBX, they tend to own/maintain their phone switches. They don't order 300 simple phone lines from the local telco, they order a couple of trunks, and manage phones and call routing to fulfill their core business needs.
It's not a perfect analogy, I know, there are cost factors unaddressed, but it's the best I can come up with right now.
I'm personally a fan of cloud services for elasticity, and early stage launching. I'm not a big fan for day to day operation of a site. The model I haven't seen worked up yet, it what does this REALLY cost a site like reedit or 4sq in relation to owning/controlling more of their own infrastructure? It's quite possible the best overall business decision is to take the risk and deal with the unpredictable inevitable outages and just hope they don't last too long.
Executing well in operating a facility with significant scale means that you need to have folks working for you who have a clue about operating a datacenter. That's not cheap.
IMO, the real question is whether or not you should be running your core business on a genericized "public cloud" like Amazon or if you should be using a traditional server hosting outfit, a managed service provider like Verizon/AT&T or a colo. There's a value calculation that you have to compute to figure out what's right for you.
I worked for a company that ran call centers and had a significant commerce site (whose growth exploded beyond expectations) back in the early 2000's. Our offices were a converted school and the datacenter was a classroom with a roof A/C unit. We knew it sucked and suffered through downtime and failures, but the company wasn't big enough to do things the "right" way. So we had to do things the "wrong" way, because the alternative was to go out of business. If that were today, we would almost certainly have had 80% of our systems at Amazon/Rackspace facilities.
> AWS down? Wait and pray!
Wouldn't you be waiting and praying if your datacenter lost power and didn't have diesel generators, too?
Amazon can't do that to your application that runs on a handful of systems.