Does cloud computing eliminate complexity?

Some cloud computing vendors are selling the cloud as a way to eliminate complexity, but that's simply not true.

Today let's talk managing complexity. At a recent conference I heard an argument that boils up far too often:

"Manage it internally. It's the only way."
"No! Outsource it. More cost-effective."
"No, manage it internally. Otherwise you just end up managing the outsource partner."
"Outsource it!"
"Take care of it yourself!"
"Throw it over the wall!"

And then, fisticuffs ensue and eyeglasses and pocket protectors go flying. OK, not really, but wouldn't conferences be exponentially more interesting with IT death matches? Seriously, though, the folks who think outsourcing to the cloud will eliminate complexity puzzle me.

So I sat a couple of those folks down and quizzed them. I assumed that they meant to say that outsourcing to the cloud would eliminate or reduce internal complexity. I was shocked to discover that these two professionals, very well-versed in their craft, had been drinking the Kool-Aid. They'd been snowed by several cloud providers who convinced them that the infrastructure on the other side was more efficient and far less complex. Really? What magical aspect of the cloud eliminates the complexity inherent in a large-scale infrastructure?

There's not one. It's an optimistic assumption, and you know what happens when we assume.

Let's look at historical examples. Tivoli Systems didn't eliminate the complexity of the sneaker net. They simply transferred it to a larger software framework. Likewise, it could be argued that VMware didn't eliminate the complexity of x86 servers sprawling across a huge datacenter. They just transferred it to software, replacing server sprawl with "VM sprawl." Back in the day, server virtualization fans were rabid for VMware. A company with 20 physical servers might be able to reduce that number to 15 or even, gasp, 10! In almost every case that required an increase in the number of VMs per physical machine.

The same company might now have 50 VMs running on those 10 servers, a substantial increase in the number of operating systems and application components to manage. So was complexly eliminated? Decreased? Increased? The answer's subjective, but I think most pros would agree that some amount of management complexity is inherent with increased virtualization.

These are two quick examples of times where we celebrated a technology before we understood its repercussions. Now let's examine the cloud against this same Law of Unintended Consequences. Will moving components from your internal infrastructure to the cloud reduce complexity?

Probably not. It'll brush them under the rug, or draw the curtain and hide them from view, but they'll still be there in some form. "Out of sight, out of mind" sounds good until it's the foundation for your IT infrastructure. I know some of you are going to think I'm hashing on the cloud again, and I appreciate your opinions. I'm not saying the cloud is inherently bad or that people shouldn't use cloud resources. I'm just saying that every business case is different, and people should be given the facts when making their purchase. It may make things easier for you, but the cloud's IT staff faces your complexity multiplied by the number of customers they've sold.

So I'll end today with a taste of irony. I write most of these blogs in Google Docs. When I went to share this particular blog with my editor, I received the following error:


Somewhere behind that OK button, there's a member of Google's IT staff that knows exactly where the complexity went.