Sunday, August 14, 2011

There isn't a "Cloud Layer" ... Oh wait, maybe there is?

We're all familiar with the 9-layer OSI model - 7 layers of technology + Politics and Religions. This is the stack that makes up the Internet. Cloud Computing uses the same underlying technologies, but is often discussed in the context of the IaaS, PaaS and SaaS stacks.

Nowhere in the OSI stack do you see a "cloud layer". As my colleague and noted cloud computing expert James Urquhart likes to say (paraphrased), "There is no cloud layer (in a technology sense), it's all about new operational models."

For a while I accepted that statement without giving it much thought or rebuttal. But some activities over the last couple months have gotten me thinking that maybe this isn't actually true. Let me try and explain.

One could argue that the OSI model (the technical stuff, Layers 1-7) defines all the layers that make up the Internet. But as we all know, the Internet evolved in ways that the DARPA's founding fathers never intended or envisioned back in the 1960s. Things like NATs, or VPNs, or L3-over-L2 technologies, 4-to-6 tunnels, or other overlays like MPLS. Those technologies use the layers of the OSI model, but in reality they add new "layers" to the Internet stack to deal with either legacy designs or new usage models. Sometimes they solved problems and other times they created new problems and added more additional layers (eg. NAT traversal technologies for multi-media)

All of those "additional layers" of the Internet were focused on new ways to route packets, address or hide networks, manage legacy network transitions. Very network-centric issues.

In cloud computing, the more central issues are focused on APIs, mobility of workloads (or VMs), obfuscating layers of complexity, making workloads "dynamic" in scale or availability, and transitioning from legacy architectures to new architectures. Some of these involve new operational models (DevOps, "built to fail", etc.) as James Urquhart pointed out. But within that context, we're already starting to see some new layers emerge to be able to actually make the technology more useable or provide greater levels of flexibility. Let's take a look at a few examples:

  • Wrapping layers around Cloud APIs - George Reese talks about how the AWS EC2 API is not as standardized as many people believe and it may require additional wrappers to allow multiple clouds to federate with AWS or manage AWS resources.
  • A hypervisor of hypervisors - Start-up Hotlink introduced the concept of a hypervisor abstraction layer to be able to simplify how IT organizations could manage multiple hypervisors.
  • What to look for in a Cloud Gateway - Companies like Cloudswitch have begun introducing gateway products that create a layer of security and obfuscation to help legacy applications interact with public cloud infrastructures.  
  • AWS add "Elasticache" service - Using cache technologies to improve application performance isn't new, but having someone else manage "the muck" is somewhat new. AWS is simplifying a layer of the cloud.
It's not yet clear if these are just examples of products/features that are short-lived or if they are the beginning of actual layers being added in order to make cloud computing fully functional for a broader set of use cases. Maybe we're way too early in the lifecycle of cloud computing to make any judgements. And maybe these early "layers" are just band-aids until the next generation of cloud applications are more widely used by a broad range of companies.

Either way, I suspect that history will show us that it's very difficult to build a global system for the masses that doesn't require some additional layers to be added along the way.

NOTE/UPDATE: During a Twitter conversation I was having today with Rodrigo Flores (@rfflores), he mentioned "the cloud layer" and they pointed me to this video. It highlights how a Cloud Self-Service Portal can also surface functionality (eg. storage deduplication) within the infrastructure (or "below the cloud layer", as Rodrigo points out). Just another example of someone putting a perspective on "the cloud layer".


  1. Cloud is one of the tremendous technology that any company in this world would rely on(cloud computing training institutes in chennai). Using this technology many tough tasks can be accomplished easily in no time. Your content are also explaining the same(Cloud computing training). Thanks for sharing this in here. You are running a great blog, keep up this good work.

  2. I like this a lot. Thank you for sharing. I'm always looking for upcycles like this. In the end, you don't know it was a shipping pallet to begin with!
    Kings XI Punjab Team Squad Captain Name
    Vivo IPL 2016 Schedule pdf download
    Mumbai Indians Jersey and Logo Images

  3. Hello, I just loved reading your article. Also vist my blog for IPL 2016 Schedule, Fixtures, Matches timings .cheers.