“It won’t scale.”
These words have become an almost reflexive habit, haven’t they? Particularly in relation to SDNs, “it won’t scale,” is the mantra of an entire industry.
I have a problem with this assessment, though. There are a number of problems confronting SDNS on the scaling front. There are limitations on the number of flows that can be controlled by any particular switch, or in forwarding hardware. There are problems with an off box controller monitoring the local state of network devices —can the control path keep up with state changes, and what happens when it can’t?
But before we rush to judgment, let’s look at the other side of the scale. SDNs can’t be compared to the perfect network, they must be compared to the networks we actually have and use.
Do the networks we’re building today actually scale?
Let’s consider the data center environment. Some vendors are now building data centers with 250,000 physical devices, designed to support millions of individual customers. For each customer, there must be a separate virtual network. Each of these virtual networks must handle each flow with care, making certain to get quality of service and delivery right. Do millions of VLANs really scale? Can we really manage millions of VLANs well, can we understand the traffic flow in the network, can we understand the quality of service on a per flow basis well enough to really build a network that works well for every one of a million customers?
What about wide area internetworks? Routing exceptions are legion, security checkpoints abound, and manual tweaking of routing metrics beset our lives. WAN optimizers and edge opitmizers and flow optimizers and metric optimizers and…
The question isn’t whether or not SDNs will be complex. The question isn’t whether or not SDNs will scale infinitely. The question is will they scale enough to work in the real world, and will they simplify or complicate real world networks?
The answer to that question is the answer to Don Slice’s famous question about the number of EIGRP neighbors a router can handle, “How many balloons fit in a bag?”
In some situations, SDNs are going to make life much simpler. In others, they’re going to make the network harder to run. The quicker we come to see SDNs as another tool in our box, the sooner we’ll be able to realistically evaluate where they’re useful, and where they’re not.
But comparing an SDN to a simple spanning tree network without the complexities of thousands (or millions!) of VLANs, or a simple OSPF network without the complexities of redistribution, optimization, tuned timers, and all the rest, simply isn’t going to lead us to an honest evaluation of the technology, nor to a good understanding of where and how they can be used.
A simple rule of thumb is this: Before you say, “it won’t scale,” ask, “compared to what?”