I had an interesting time at the spring meeting of the Open Networking User Group (@ONUG_) this past week. There were lots of discussions about networking, DevOps, and other assorted topics. One that caught me by surprise was some of the talk around openness. These tweets from Lisa Caywood (@RealLisaC) were especially telling:
After some discussion with other attendees, I think I’ve figured it out. People don’t want an open network. They want choice.
Flexible? Or Predictable?
Traditional networking marries software and hardware together. You want a Cisco switch? It runs IOS or NX-OS. Running Juniper? You can have any flavor of OS you want…as long as it’s Junos. That has been the accepted order of things for decades. Flexibility is traded for predictability. Traditional networking vendors give you many of the tools you need. If you need something different, you have to find the right mix of platform and software to get your goal accomplished. Mixing and matching is almost impossible.
This sounds an awful lot like the old IBM PC days. The same environment that gave rise to whitebox computers. We have a whitebox switching movement today as well for almost the same reasons – being able to run a different OS on cheaper hardware to the same end as the traditional integrated system. In return, you gain back that flexibility that you lost. There are some tradeoffs, however.
In theory, a whitebox switch is marginally harder to troubleshoot than a traditional platform. Which combiantion of OS and hardware are you running? How do those things interact to create bugs? Anyone that has ever tried to install USB device drivers on Windows knows that kind of pain. Getting everything to work right can be rough.
In practice, the support difference is negligible. Traditional vendors have a limited list of hardware, but the numerous versions of software (including engineering special code) interacting with those platforms can cause unforseen consequences. Likewise, most third party switch OS vendors have a tight hardware compatibility list (HCL) to ensure that everything works well together.
People do like flexibility. Giving them options means they can build systems to their liking. But that’s only a part of the puzzle.
The Problem Is Choice
Many of the ONUG attendees I talked to liked the idea of whitebox switching. They weren’t entirely enamoured, however. When I pressed a bit deeper, a pattern started to emerge. It sounded an awful lot like this:
I don’t want to run Vendor X Linux on my switch. I want to run my Linux on a switch!
That issue highlighted the real issue. Open networking proponents don’t want systems that offer open source networking enhancing the work of all. What they want is a flexible network that is capable of letting them run what they want on things.
The people that attend conferences like ONUG don’t like rigid choice options. Telling them they can run IOS or Junos is like picking the lesser of two evils. These people want to have a custom OS with the bare minimum needed to support a role in the network. They are used to solving problems outside the normal support chain. They chafe at the idea of being forced into a binary decision.
That goes back to Lisa’s tweets. People don’t want a totally open network running Quagga and other open source solutions. They want an open architecture that lets them rip and replace solutions based on who is cheaper that week or who upset them at the last account team meeting. They want the freedom to use their network as leverage to get better deals.
It’s a whole lot easier to get a better discount when you can legitimately threaten to have the incumbent thrown out and replaced relatively easily. Even if you have no intentions of doing so. Likewise, new advances in whitebox switching give you leverage to replace sections of the network and have feature parity with traditional vendors in all but a few corner cases. It seems to be yet another redefinition of open.
Maybe I’m just a cynic. I support development of software that makes the whole world better. My idea of open involves people working together to make everything better. It’s not about using strategies to make just my life easier. Enterprises are big consumers of open technologies with very little reciprocity outside of a few forward thinkers.
Maybe the problem is that we’ve overloaded open to mean so many other things that we have congnitive dissonance when we try to marry the various open ideas together? Open network architecture is easy as long as you stick to OSPF and other “standard” protocols. Perhaps the problem of choice is being shortsighted enough to make the wrong one.
“Those who do not remember history are doomed to repeat it.”
What is described here is the transition of the server business from its state in the 1960s and 1970s (proprietary operating system on proprietary hardware), to the many Unixes model of the 1980s and 1990s (every vendor did its own proprietary port of Unix to its’ proprietary hardware), to the disaggregated model we see today (Windows Server and Linux running on x86).
I would note however, that Microsoft put well over a billion dollars of venture capital on the table (and brought in a lot of seasoned talent from VMS and other teams) to make WIndows NT happen and evolve it into a seasoned OS suited to the server space. Had Microsoft not done this, I doubt the Linux community would have come together at the speed it did. Oh, and just putting a billion dollars on the table isn’t enough: look at IBM OS/2.
Disaggregated server hardware languished for something like a decade from the early days of the 80286 until the disaggregated operating systems became available, and for years after that as they hardened and gained traction in the marketplace. (Places “you are here” arrow on historical timeline.)
This is not fundamentally a hardware problem. It’s that these > ten million lines of code class software systems are what economists would call a “natural monopoly”. Divide a couple of hundred million dollars a year (the rough engineering cost of maintaining and evolving such a software system) by 10,000 units per year and the unit cost is high. Divide it by 10,000,000 units a year and the unit cost is low. It’s math. Oh, and kudos to the Linux community and intellectual property model.
Pingback: Open Choices In Networking - Tech Field Day