Organizations -- and especially their IT departments -- all over the world are currently busy as bees trying to move some of their IT from their data centers to the cloud. There is a widespread belief that using SaaS (software-as-a-service), IaaS (infrastructure-as-a-service) and all other kinds of IT as a service (call it XaaS) is going to reduce cost, improve agility, improve performance, and so forth. In fact, there is so little attention for limitations, risks, and disadvantages that what we have here has all the hallmarks of a classic silver bullet.
By Gerben Wierda
A silver bullet, as defined by Frederick P. Brooks, is a bullet that magically slays the monster of 'essential complexity' in IT. And, as Brooks argued, it does not exist. He has been proven right ever since.
So, is cloud a real silver bullet or is it yet another dream? Let's investigate.
Suppose you are hosting a business application in your data center. This is a well-behaved three tier setup: a database, an application server, and a browser interface. The ideal Web-based user interface (that was part of the silver bullet collection 10 years ago). Now suppose you move that to the cloud.
Related: How Are Data Centers Changing?
Quiz question: Where does the business application run?
- In your data center
- In another company's data center
- In the cloud (i.e. somewhere else)
The answer is of course 2. It has moved from your data center to someone else's data center. In fact, the choices we have are:
In your data center
In another company's data center, also known as "the cloud"
There is no 3. Thus, the most concise definition of the cloud might be: other people's data centers.
Most larger organizations were already running in multiple data centers, e.g. for reasons of continuity, and because of latency (which affects performance, see Reverse Cloud for a potential interesting effect this will have on the cloud) these data centers are often not too far apart. Even funnier, and resembling the emperor's new clothes, the insides of those 'other' data centers consist of database servers, application servers, networking, security, monitoring, logging and everything else needed to host applications, all that old-fashioned stuff just as in your own data center. Which means that, on first sight, nothing much changes when you move IT to the cloud.
Is moving to other people's data centers a useless operation, then? Far from it, because all kinds of optimizations in and between all those data centers are possible. However, all kinds of extra complexities may also appear. The optimizations are obvious to most. Every SaaS provider can build a large, homogenous, scalable landscape for its application, and that results in an advantage of scale. Part of that advantage is passed on to the customer, part is profit for the cloud-provider.
But the extra complexities and suboptimalizations are largely ignored, and these are the issues that turn cloud into something more mundane and thus yet another not-a-silver-bullet. Latency is one such issue. The lower reliability of long distance connections with respect to short ones is another (and especially remaining robust under this). Cloud stacking (cloud providers using other cloud providers in the background) might become an issue. But also the imperfections of PaaS/SaaS-offerings when they have to be integrated with your other systems (or -- shudder -- with each other!). Every Tom, Dick, or Harry calls his offering a cloud service these days, even if they are just exposing a classic Windows application via some remote desktop protocol.
But the most important issue will be ownership. We need a change of perspective when thinking about our IT landscapes. Instead of thinking that our IT landscape consists of whatever is running on our infrastructure (our data centers), we must start to look at our IT landscape as all IT that supports our business.
This used to be a simple 1-to-1 mapping, and thus it was simply ignored. But with the cloud, our whole landscape will become much, much more distributed, and thus also fragmented. Not just physically, but also legally. All the different parties will be having complex relations with all the different parties. Everyone seems to assume these are all nicely independent relations. The same belief in the disappearance of essential complexity was part of the brave new world of service oriented architecture with an enterprise service bus to rule them all. But history has taught us already several times that these abstractions have a way to be interdependent in many subtle ways (e.g. read "Loosely Coupled Spaghetti," the freely downloadable introductory chapter of my book Chess and the Art of Enterprise Architecture).
The current widespread belief that the cloud is a silver bullet exists because our mind sets are still based on the myopic perspective of the local data center. It is that perspective that turns the cloud into a magical way to make complexity literally go away. In reality, our IT is not going away at all. Instead, the cloud is turning our infrastructure landscape from a simple (twin) data center into a much more complex Web of many data centers, owned by many parties and coupled in many different ways. Just another step in the continuous increase of complexity made possible by the continuous increase of the power of IT.
Thinking that IT goes away when it moves to the cloud, and that thus complexity will be reduced, therefore only shows myopia.