The Cloud … what is it, what does it mean? Is cloud computing some new, alien concept? Is it a new architecture that requires a major shift in the way we think about technology? Or is it just a marketing term used to describe the inevitable evolution of data delivery?
In short it’s a sham! But to really answer these questions let’s examine the basic cloud architecture concepts. In trying to summarize the essence of cloud computing I found a nice definition on Wikipedia:
“Cloud computing is the delivery of computing as a service rather than a product, whereby shared resources, software, and information are provided to computers and other devices as a utility (like the electricity grid) over a network (typically the Internet).”
In terms of networking, cloud computing is simply a series of application and system efficiency mechanisms (such as virtualization) delivered via current network architectures (IE enterprise networks or the internet). Many believe that in order to take full advantage of these new mechanisms, network architectures often times need to be modified to make more efficient routing decisions based on applications performance mechanisms.
Traditional dynamic routing protocols make routing decisions based on very flat decision points. Generally arbitrary metrics are used by a router to identify which direction (interface) traffic should be sent. This, at times, can lead to great inefficiency in data delivery. In an attempt to rectify this situation many vendors have been hard at work developing mechanisms that can study application performance across a network and then make intelligent routing decisions based on the multitude of metrics identified.
One such technology that I have studied in depth is Cisco’s PfR (Performance Routing, formerly known as OER – Optimized Edge Routing):
The issue that I am currently grappling with is complexity vs efficiency. I find that many of these network application performance efficiency mechanisms are very complicated and add a great deal of complexity in the network. Are the performance benefits worth the complexity?
I tend to gravitate towards the thinking that it is not. History has taught us to err on the side of simplicity. Is this thinking valid? After all this isn’t a simple problem … or is it?
I believe it is a simple problem with a simple solution. Like most situations we find ourselves as technologists, we tend to over think the problem. I believe this is becoming the case with cloud computing and mobility architectures. This is actually a huge problem in my opinion IT in general. We are so convinced that technology is a complicated subject that requires a complicated solution that common sense rarely finds its way into the conversation.
I propose a new architectural model … Common Sense Architecture (CSAr). This will be the subject for another day and that I will explain in a subsequent blog. In short, I propose that we as Enterprise Network Architects first look for a simple, common sense end state architecture.
In the case of cloud computing I propose that we first understand that this model is not a new alien architecture. It is very similar to other very well understood models such as the electric grid. It is a simple evolution of the original computing model, the mainframe and terminal. Rather than providing connectivity on a dedicated line, we are providing connectivity via a network cloud thus breaking physical location dependency and providing for greater flexibly in services and mobility.
Common sense would dictate that we design our networks with simplicity route efficiency built in. Common sense dictates that we use a single, straightforward approach to providing connectivity. Common sense would dictate that we use as few hardware vendors as necessary and that we would utilize only the essential features to their fullest potential.
This brings up another point “advanced features” provided by different vendors. It has been my experience that 90% of the “advanced features” that have been developed as major selling points from various vendors are simply mechanisms built to overcome bad architecture.
Again this is another topic for another blog but I think it’s very important for us to examine why certain features were developed, where would you use them and most importantly how can you design a network that obsoletes them? With CSAr you will find that most of these features are simply obsolete. For example, an appropriate three tier, defense in depth security, linear data flow model obfuscates the need for many complex security ‘solutions’. That is not to say that you cannot subsidize the security of this model by leveraging certain features, you certainly can. It simply means that reliance on any individual device and/or feature is greatly reduced.
If your are interested in some further research into the basic components of cloud architecturs I came across a nice article which breaks down some technical and business fundamentals:
Stay tuned … we will later discuss CSAr in more detail as well as the myth of advanced features.