What is Network Virtualization?

Data centers exist for the sole purpose to deploy applications. Applications that automate business processes, serve customers better, enter new markets … you get the idea. It’s all about the Apps.

Server Virtualization

Applications are composed with both Compute and Network resources. It doesn’t make sense to have one without the other; a symbiotic relationship. And for the last decade, one half of that relationship (Compute) has been light years ahead of the other (Network). Compute and Network is a symbiotic relationship lacking any symmetry.

For example, it’s possible to deploy (virtual servers) the Compute of an application within seconds, through powerful automation enabled by software on general purpose hardware — Server Virtualization. The virtual network, on the other hand, is still provisioned manually, on specialized hardware, with keyboards and CLIs. Meanwhile the application deployment drags on for days, weeks, or longer, until the network is finally ready.

Server virtualization also enabled Compute with awesomeness like mobility, snapshots, and push button disaster recovery — to name a few. The network, on the other hand, doesn’t have the same capabilities. There is no mobility – the network configuration is anchored to hardware. Snapshots of the application’s network architecture is next to impossible because the network configuration state is spread across a multitude of disparate network devices (physical and virtual). And recreating the application’s network architecture at a second data center (disaster recovery) is a house of cards (at best), if not impossible, without the same automation, untethered mobility, and snapshots. The Compute portion of the application, with all of its virtualization capabilities, is held back from reaching its full potential, anchored to the non-virtualized network.

Network Virtualization is a solution with products that bring symmetry to the symbiotic relationship of Compute & Network. With network virtualization, the application’s virtual Network is provisioned in lock step with virtual Compute, with the same level of speed, automation, and mobility. With compute and network working in symmetry, through Server & Network Virtualization, compute and network are deployed together – rather than one waiting for the other. Applications are fully decoupled, with fully automated provisioning, and truly mobile.

What is Virtualization?

Virtualization is the basic act of decoupling an infrastructure service from the physical assets on which that service operates. The service we want to consume (such as Compute, or Network) is not described on, identified by, or strictly associated to any physical asset. Instead, the service is described in a data structure, and exists entirely in a software abstraction layer reproducing the service on any physical resource running the virtualization software. The lifecycle, identity, location, and configuration attributes of the service exists in software with API interfaces, thereby unlocking the full potential of automated provisioning.

The canonical example is Server Virtualization, where the familiar attributes of a physical server are decoupled and reproduced in virtualization software (hypervisor) as vCPU, vRAM, vNIC, etc., and assembled in any arbitrary combination producing a unique virtual server in seconds.

The same type of decoupling and automation enabled by server virtualization is made available to the virtual network with Network Virtualization.

What is the Network?

Virtual machines supporting the application often require network connectivity (switching and routing) to other virtual machines and the outside word (WAN/Internet) with security and load balancing. The first network device virtual machines are attached to is a software virtual switch on the hypervisor. The “network” we want to virtualize is the complete L2-L7 services viewed by the virtual machines, and all of the network configuration state necessary to deploy the application’s network architecture (n-tier, etc). The network relevant to the virtual machines is sometimes more specifically referred to as the virtual network.

Virtual servers have been fully decoupled from physical servers by server virtualization. The virtual network, on the other hand, has not been fully decoupled from the physical network. Because of this, the configuration necessary to provision an application’s virtual network must be carefully engineered across many physical and virtual switches, and L4-L7 service appliances. Despite the best efforts of server virtualization, the *application* is still coupled to hardware.

With Network Virtualization, the goal is to take all of the network services, features, and configuration necessary to provision the application’s virtual network (VLANs, VRFs, Firewall rules, Load Balancer pools & VIPs, IPAM, Routing, isolation, multi-tenancy, etc.) – take all of those features, decouple it from the physical network, and move it into a virtualization software layer for the express purpose of automation.

With the virtual network fully decoupled, the physical network configuration is simplified to provide packet forwarding service from one hypervisor to the next. The implementation details of physical packet forwarding are separated from, and not complicated by, the virtual network. Both the virtual and physical network can evolve independently. The virtual network features and capabilities evolve at software release cycle speeds (months). The physical network packet forwarding evolves at hardware release cycle speeds (years).

Packet forwarding is not the point of friction in provisioning applications. Current generation physical switches do this quite well with dense line-rate 10/40/100G silicon and standard IP protocols (OSPF, BGP). Packet forwarding is not the problem. The problem addressed by network virtualization is the manual deployment of network policy, features, and services constructing the network architecture viewed by application’s compute resources (virtual machines).

Network Virtualization

Network Virtualization reproduces the L2-L7 network services necessary to deploy the application’s virtual network at the same software virtualization layer hosting the application’s virtual machines – the hypervisor kernel and its programmable virtual switch. Similar to how server virtualization reproduces vCPU, vRAM, and vNIC – Network Virtualization software reproduces Logical switches, Logical routers (L2-L3), Logical Load Balancers, Logical Firewalls (L4-L7), and more, assembled in any arbitrary topology, thereby presenting the virtual compute a complete L2-L7 virtual network topology.

All of the feature configuration necessary to provision the application’s virtual network can now be provisioned at the software virtual switch layer through APIs. No CLI configuration per application is necessary in the physical network. The physical network provides the common packet forwarding substrate. The programmable software virtual switch layer provides the complete virtual network feature set for each application, with isolation and multi-tenancy.

Server & Network Virtualization

With Network Virtualization the virtual network is entirely provisioned in software, by software, with APIs, at the same speed and agility and in lock step with server virtualization. The same software tools already provisioning the application’s virtual machines can simultaneously provision both compute and network together (with templates), and subsequently validate the complete application architecture — compute and network together.

Next, rather than just taking snapshots of virtual machines, take a snapshot of the complete application architecture (compute and network) and ship a copy off to a disaster recovery site – on standby for push button recovery. The application’s network is finally equally mobile and running as fast as the compute.

Network Virtualization makes sense because of Server Virtualization. Compute and Network, a symbiotic relationship deployed in synchronization, with symmetry.

It’s a no-brainer.

Cheers,
Brad

Reporting from the front lines of network transformation

It’s been a while So what gives? Well, I’ve been spending most of my time on the front lines: meeting with customers, breaking the ice, laying out the fundamental case for Network Virtualization, face to face, heart to heart. Just a whiteboard, rolled up sleves, and a room full of intelligent IT converstationalists. This is, [...]

Continue reading...

On “VMware’s SDN Dilemma: VXLAN or Nicira?”

Some commentary on a blog published by Networking Computing titled “VMware’s SDN Dilemma: VXLAN or Nicira?” VMware has a technology problem: it’s backing two competing standards for overlay networks: Nicira’s STT and the IETF draft standard VXLAN Nonsense.  As of right now, STT tunneling provides the best performance for network virtualization (wire speed).  If and [...]

Continue reading...

Network Virtualization: a next generation modular platform for the data center virtual network

“What will my next generation data center networking platform look like?” “How do I describe this platform to IT managers and begin to wrap my arms around it?” This post attempts to provide a framework for that discussion, in which I’ll argue that the platform for the next generation data center network has already taken [...]

Continue reading...

The start of an epic adventure with VMware, advancing the software defined virtual network

Today I am excited to write that a page has turned, starting a new chapter in my career, and life.  I’ve concluded an excellent year of service with Dell as “Networking Enterprise Technologist” where we grew DELL networking revenues by 40% Y/Y.  We launched cool networking software products like Dell Fabric Manager (fabric automation) and [...]

Continue reading...

A better fabric with VMware NSXi for your network switch

I’m chewing on a few thoughts today I wanted to jot down here and marinate on for a while.  I’ll use VMware as the straw man for the sake of discussion, simply because — like it or not — they are the household name in virtualization.  Disclaimer: The illustrations here are purely of my own imagination and [...]

Continue reading...

Data center network fabric auto deployed in 30 minutes with Dell Fabric Manager

This is a basic video demonstration I put together showing how Dell Fabric Manager 1.0 can be used to auto deploy a Leaf/Spine data center networking fabric based on standard Layer 3 routing protocols. In the video you will see the fabric auto designed, auto configured, auto documented, and auto validated — from scratch — starting with [...]

Continue reading...

Video: Basic introduction to Network Virtualization, Nicira, and VMware

This video is a snippet from a presentation I made which includes a quick and very basic introduction to Network Virtualization; virtual Layer 2; why VMware acquired Nicira; and how this changes the way we can design and deploy data center networks. Enjoy! Cheers, Brad

Continue reading...

Video: Basic introduction to the Leaf/Spine data center networking fabric design

This video is a snippet from a presentation I gave to a Dell audience covering a basic introduction to the Leaf/Spine Layer 3 data center networking fabric design with a Dell Networking point of view. Enjoy! Cheers, Brad

Continue reading...

Mind blowing L2-L4 Network Virtualization by Midokura MidoNet

Today there seems to be no shortage of SDN start-ups, chasing the OpenFlow hype in one way or another aiming to re-invent the physical network — SDpN (software defined physical network).  And then there’s a rare breed out there.  Those solving cloud networking problems entirely with software at the virtual network layer (hypervisor vswitch) — [...]

Continue reading...