Archive for April, 2011
The bigger they are, the harder they fall
I see that a lot of people just don’t get it when they start talking about high availability, redundancy, failover, etc. This is probably not going to change, but maybe I can try anyway.
Let’s think about how you can survive a massive Amazon AWS failure. You build your application to automatically move services to another part of the infrastructure that’s still up. Great! Now assume that everyone else is smart, too. Their applications move, too. What happens next?
The whole AWS cloud melts to the ground. Have you never seen this happen, where one instance of something fails and others pick up the load and fail in turn? I have. OK, so let’s say that you’re really smart, and you also have the ability to move to an entirely different provider. Now suppose that other people are smart too. Next stop — Rackspace Cloud is down, and so is Joyent, and so on.
You can’t just pretend that “the cloud” is infinite. It isn’t. Stop trying! In “the cloud,” you still have to do capacity planning, even though it’s hard or impossible, and you still have to think about the possibility that the resources you assume are there aren’t. Let’s think about cloud computing’s older name — utility computing. Can you think of any utilities that have had capacity shortages, brownouts, or even cascading failures? I worked a bunch of case studies on them in my engineering classes, but I also lived through some of them myself.
This is why some old-fashioned, stupid, clueless people still own their own hardware. Those dumb clod-jumpers aren’t hip enough to move into the cloud where everything is magical. I bet they have kerosene lanterns for when the lights go out, too.
With economies of scale come failures at scale. You can’t have it both ways.
Risks of running in the cloud
I think we’re beginning to see cloud computing mature a little bit. There is a long ways to go, but I am detecting more sober thinking on a wider scale. The events of last week, where many people were affected by Amazon’s outages, are helping clues sink in a little bit.
There are a lot of risks that don’t go away when you use cloud platforms. There are a lot of new risks that you’ll encounter. And yes, some problems are outsourced. But clear-headed thinking on “what is cloud computing about and what is it good for?” is still largely nonexistent on a broad scale. The din of the hype machine has most IT folks’s heads ringing and they can’t think straight.
Is that an over-generalization? I don’t think so. Go look at Twitter and I think you’ll see a pretty good representation of the general state of people’s thought processes around cloud computing. You can look at the four-page special advertising spreads and pull-out sections in the Wall Street Journal for the source of the confusion. A recent pull-out section told me that cloud computing is going to revolutionize even the nursery — who wants a baby monitor when you could have a laptop sitting in your nursery with a webcam watching the babies? That was over the top, but not too far. Most of what’s written about “cloud computing” is both ridiculously hyped and completely off-topic; writers will slap “cloud” on anything tech-related to get eyeballs on it. And that’s causing a general muddiness of the waters.
But this week, I heard some people thinking about questions like “if I rely on an external services provider for something, and there is an emergency that affects a lot of their customers, will I have to wait in line to get help for my own systems?” That’s sober thinking. We need more of that. A monoculture of any type is a problem. If I were building something on a cloud platform, I’d ensure that it was diversified not just across availability zones, but across completely different providers.
This is one reason why we need standardized APIs for managing cloud resources, but that’s a digression.
The drawbacks of shortlinks
These days it seems that people would rather generate a shortlink than use a real link, even when it’s not much shorter. It’s hip, after all. (Peter actually caught me doing this. It was for a link that used to be long but was shortened recently so a shortlink isn’t needed anymore. I did it to continue a habit, not for hipness.)
I’ve begun to see an increasing number of drawbacks to short link services. Here are a few I can think of: 1) if the service is down, the link is broken; this just happened to me. 2) I can’t see where it’s headed, so I don’t know if I’ve already read it. 3) I don’t know what I’m about to click through to, so I’m less likely to trust and click. 4) I’m much more interested in the content if I know what it is. Some of these problems are helped by links that are chosen not to be a random hash, but not all.
I’m starting to feel that it’s bad netiquette to use shortlinks unless they are really needed. And I’m a little troubled by what happens if tinyurl and bit.ly go bankrupt — half the Internet will be full of broken links. Oh wait, that will mostly affect Twitter… maybe it’s not so bad after all.





