Everyone seems to be talking about software-defined networking (SDN), which makes it all the more remarkable that nobody can agree on what it means. When elder statesmen like Bob Metcalfe (who co-invented Ethernet) admit that they don’t know exactly what SDN means, you know there’s a lot of hype around this technology. SDN can be confusing because it’s used to create workload aware networks, so it has different implications depending on whether you’re running a Fortune 500 enterprise data center, a telecom carrier network, or some other application. Also SDN creates a set of abstractions for programming a data network, which can be subtle concepts. For instance, I could describe it like this:
SDN is fundamentally distinguished from other networking technologies because it abstracts the underlying hardware complexity, separating the management and control planes from the data plane. Some consequences of this abstraction include more centralized management, perhaps through cloud middleware or NaaS such as the Quantum interface for OpenStack, with clustered controllers that achieve eventual state consistency according to Brewer’s Theorem. The SDN configuration can be derived from the global state of the network, and we can dynamically replace physical devices with their functional equivalents.
While this is technically correct, it doesn’t tell me what problems SDN will solve, or how to transition from my current network to something that behaves like SDN. I can’t say that your network will run better if you add a pound of abstraction, or a liter of centralized management. So I’d like to step away from the abstractions and propose a more practical approach.
A meaningful definition of SDN should be derived from the requirements of a data center network. We don’t need to reinvent all the functions of an existing network, but if SDN allows us to perform some functions better, faster, or more efficiently, then it has tangible value. It’s even better if SDN allows us to do something innovative, something that wasn’t economically practical or technologically feasible until now. With that in mind, let’s count down my top five reasons why SDN matters:
5) SDN Creates New Revenue Streams
I was tempted to just call this one “makes more money”, but it’s actually more complicated than that. SDN reduces both capital and operating expense by simplifying and automating management, avoiding over-provisioning, and reducing human error, (which is the most common cause of network configuration failures). Further, it allows you to offer new features and functions that would be very difficult or prohibitively expensive on your current data center network. A good example was given at the Open Ethernet Forum, when Verizon described how they plan to use SDN for better quality downloads of streaming video. Since SDN controllers potentially have access to resources outside the network, such as the type of encoding used on a video file, they can adjust the network provisioning to accommodate a 3D high definition video vs a home movie of your cat, dynamically giving each one the appropriate amount of network resources. The result is a better viewing experience than you’d get over someone else’s network.
4) SDN Guarantees Better Quality of Service
This is a consequence of centralized, programmable management; SDN can view the entire network topology, not just the next hop as in conventional networks. Also, today’s network treats switches and routers as if they were a “one size fits all” appliance. It’s up to a highly skilled network administrator to translate application requirements into terms the network operating system can implement. Often these translations are approximations at best, resulting in poor utilization of network resources. By creating the equivalent of a single operating system for the entire network, SDN changes the game, allowing us to program network configurations. And if we can program something, we can automate it and eventually optimize it. We can dynamically create service chains, or virtual paths through the network which interconnect firewalls, load balancers, and other functions. That’s what we mean by an application aware network. For example, SDN adopters such as Tervela (who does global financial trading and risk analysis) and Selerity (who provides ultra low latency transaction processing) require high availability disjoint paths through their network and consistently low latency. SDN allows them to program alternate end-to-end paths in advance; if a network link fails, the recovery time is over ten times faster than conventional Ethernet.
3) SDN Provides Faster Time to Value
This is a result of SDN making updates in software, rather than hardware. You wouldn’t virtualize your servers or storage if it meant sending a technician with a screwdriver to reconfigure circuit boards every day. And yet, during a presentation at the 2013 OFC/NFOEC conference, a Cisco Senior VP said that it currently takes 5 days to fully bring a multi-tier workload online, including configuring network appliances, storage, and more. SDN allows you to create, modify, and remove virtual network configurations in minutes, not days; with overlays like DOVE, you never have to touch the underlying IP switches. We can better integrate networking with servers and storage to create rapidly deployable, turnkey solutions (like IBM PureSystems). The same holds true for interconnecting multiple data centers. Reprovisioning the WAN currently takes days or weeks, but it’s possible to orchestrate the networks within and between data centers from a common controller, reducing this time to minutes (some of IBM’s work in this area will be published this summer, in collaboration with the New York State Center for Cloud Computing & Analytics).
2) SDN Provides Better Security
This is a bit more subtle, but makes sense when you think about it. SDN protocols such as OpenFlow can be used as policy-based packet filters, diverting traffic from know “black lists” of suspect data sources. SDN overlays like DOVE (an IETF industry standard, now available as part of the IBM Software Defined Network for Virtual Environments) allow you to create huge amounts of VLANs, and scale them to large networks with a network connectivity service. Combined with virtual hypervisor switches like the IBM 5000v you can drive isolated multi-tenancy all the way back into the server hypervisor. Further, a centralized SDN controller cluster is easier to defend than a network with thousands of switches running their own independent operating system. SDN should make it easier to pass security compliance audits, since the entire network policy is contained in one place. Virtual security appliances can quickly be provisioned as waypoints on a DOVE overlay network.
1) SDN Provides an Open, Standards-Based Environment
There are many benefits from using open source Linux server operating systems. Through the Linux Foundation, SDN is building the equivalent of Linux for the data network, with the same expected benefits. The recently announced OpenDaylight project, the largest open source effort in history, provides an open source community to accelerate SDN adoption. IBM is a long standing supporter of open standards, from our early efforts with Linux on the mainframe to the Open Data Center Interoperable Network (ODIN), and we’ve published extensive interop testing with other vendor’s networking products. As a founding member of OpenDaylight, we’re pleased to bring this same approach to data center networking. This ecosystem creates a wider variety of new features for your network faster than ever before (analogous to the app store for your smart phone).
These are only a few concrete examples of how SDN is making a difference today, using existing, off the shelf building blocks including OpenFlow switches and controllers, DOVE overlays, virtual hypervisor switches, and more. Early adopters have demonstrated faster network provisioning and reconfiguration, consistently low latency, reduced capital and operating expenses, and the benefits of multi-vendor environments recommended by Gartner Group and others.
So what are you waiting for? There are lots of concrete ways to start working with SDN today, just tell us what problems you’re trying to solve. Still have questions? Give me a tweet (@Dr_Casimer) or comment below and I’ll be happy to follow up with you.
To effectively compete in today’s changing world, it is essential that companies leverage innovative technology to differentiate from competitors. Learn how you can do that and more in the Smarter Computing Analyst Paper from Hurwitz and Associates.