Plain question and plain answer make the shortest road out of most perplexities.
- Mark Twain, Life on the Mississippi
Progress in the IT universe traditionally required new layers of complexity for every corresponding iota of capability (at least until some intrepid soul braved a new approach to remove the hassle). The movement from mainframe to client-server unleashed an innovation explosion, but also created fragmentation at the computing infrastructure level, resulting in a splintering of IT technical and organizational silos for decades.
After spending last week on the road with customers, I developed a sense that the core underpinning of cloud is not cost efficiency, but rather, a reintegration of an open and rich computing stack with an eye toward service velocity. Architects and service delivery folks want to expose and use the full capabilities of compute infrastructure (server, storage, memory, network, etc.) while firewalling off the gorp of managing all the elements. This new operational model of course was writ large in the growth of server virtualization.
Most folks are familiar with the concept of “Occam’s Razor,” an adage that argues (very roughly) for choosing the simplest available hypothesis. Network virtualization is “Nicira’s Razor.”
Abstracting rich networking capabilities in programmable software removes friction from service delivery by reducing much of the human intervention between applications and networking infrastructure. This saves time, money, errors and potential security holes. Further, cloud operating systems like OpenStack are focused on making all the computing elements a few mouse clicks from service delivery, including networking. Cloud frameworks accomplish this through abstractions (e.g., plug-ins).
Abstractions are the key to simplicity. Abstractions sit at the heart of distributed systems design. Nicira is delivering network virtualization because it creates an abstraction layer. Yes, you cannot “turn every knob.” But do you need to?
This is a hard thing to get right. You cannot get to this kind of operational state through simply adding a new label on to an old system. How many technology providers rush to self-associate with Apple by presenting iPhone analogies? But there is only one Apple. Beware of the ocean of complexity sitting below the tranquil false-surface of simplicity.
Networking has been complex because it’s traditionally managed in layers versus a cohesive system. Each layer has its own complexity and managing across them ratcheted the systems problem up a notch. My colleague Bruce Davie covered this in an earlier blog http://nicira.com/blog/systems-approach. This encourages you to think about one layer at a time, frequently at the expense of other layers. If you can mask these layers and serve up the rich capabilities, you can begin to optimize the system over the components. This is how big players like Google and Facebook today scale.
In the road to virtualization, networking has been the long pole in the tent. Networking still requires significant human intervention for even the most mundane tasks. If network virtualization arose as a response to server virtualization (now cloud), the ultimate benefit is rendered to the users of computing services. Once the complexity of the network is removed by virtualization, all elements of the infrastructure can be self-provisioned.
So back to my trip report. The thread I observed across Nicira’s customers is an acute focus on speed as well as having access to the full suite of enterprise networking at their fingertips whether in public or corporate data centers. Computing resources are critical to business processes and removing the network friction from delivering them can mean the difference between winning and losing in the business environment.
While this is pretty new stuff for many folks, in the cloud world, it’s old hat. Like DevOps for software, this is a way to build cloud networks that are easy to provision that scale, and are robust. Network virtualization is Nicira’s Razor.