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.
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".