This decoupling of client connections from a specific storage controller at the end of the wire solves an immediate scalability problem that until now has needed either interface changes on the client (NFSv4 delegation or PNFS) or complex administration (carefully splitting a namespace across several controllers). It also allows us to treat stored data as a completely fluid resource: as client connections can be moved in response to load and access pattern, so can the underlying data. As a result, OpenFlow provides the flexibility to dynamically adapt and scale the system over time.
Problem 2: High-performance multitenant isolation. I worked with one of my co-founders, Keir Fraser, to develop the Xen virtual machine monitor when we were graduate students at the University of Cambridge. When we were working on Xen, we spent a lot of time focused on the fact that a hypervisor really had a single job: isolated sharing. The hypervisor needed to take a server that was over-resourced for any single application and allow it to be safely shared among many concurrent tenants.
SDN is extending this isolated sharing for virtual machines out to the network. It's allowing the isolated sharing of network resources, as well as entire distributed systems of VMs to be provisioned and managed as a unit. In this regard, the VMs involved are actually just a resource above the virtual network that connects them. By the same measure, storage resources and data itself can be another such isolated resource.
By virtualizing network-attached flash resources to isolated networks — be they OpenFlow-defined, NSX-based end-system tunnels, or even (gulp) VLANs — we benefit from the ability to take expensive and high-performance storage resources and map them directly to the systems that consume them. In storage, sharing resources this way has always required some form of central mediator, with the side effect of always inherently having a bottleneck in performance.
As an example, binding virtualized networks to virtualized flash means that alongside a reliable and scalable NFS instance, an alternate tenant can have direct access to virtual flash resources and integrate directly into their application stack. Isolation in this manner lets us deploy a storage system that both supports legacy protocols and allows new, more efficient presentations of data to be developed along side, all on the same hardware.
How will SDN and applications evolve?
I think we all expect SDN to result in significant change from an application perspective in data center networks. However, there seems to be an idea floating around that this will surface as some sort of SDN "app store," where you download and install exciting new types of functionality for your network. As we start to see customer networks adopt and deploy SDN, our products will be able to more broadly integrate and achieve higher degrees of data-center-wide performance management.
Sign up for CIO Asia eNewsletters.