One of my readers asked me a question that came up in his business strategy class:
Why did routers and switches end up being vertically integrated (the same person makes the hardware and the software)? Why didn't they go down the same horizontal path as compute (with Intel making chips, OEMs making systems and Microsoft providing the OS)? Why did this resemble the pre-Intel model of IBM, DEC, Sun…?
Simple answer: because nobody was interested in disaggregating them.
A bit of history first
A few decades ago every server vendor had its own Unix-like operating system closely tied to its hardware platform. Application development in those days was a pure nightmare – you had to test your application on all possible platforms, or decide to support only one (resulting in unhappy customers that just bought a humongous server from another vendor).
In the meantime, Windows became mature enough to be considered a reasonably-safe server operating system, giving the end-users an alternative. Do keep in mind that it took Microsoft around a decade to get there (depending on what your definition of “mature enough” is ;).
With everyone buying Windows server licenses, it became in the best interest of the hardware vendors to invest into a free (as in puppy) alternative, so IBM and a few others became major Linux contributors, giving the customer an option of running Linux on their hardware and thus spending more money on hardware instead of buying Windows licenses.
Why didn’t it happen in networking?
I can see at least a few reasons:
- High-speed packet forwarding was always a bleeding-edge technology. Merchant silicon became a good-enough alternative only a few years ago.
- Networking (and distributed systems in general) is complex. It’s also a market that’s at least an order of magnitude smaller than the server market. Very few companies want to make a significant investment in trying to disrupt that market.
Disagree? To get a market size guestimate think about how many servers are connected to a ToR switch ;)
- There’s no Microsoft (an independent software company with strong networking operating system). There might be one in a decade.
- Nobody is interested in investing into open-source alternative because there is no brand-name hardware-only vendor and no Microsoft. The only exceptions I see at the moment are Dell and HP offering britebox switches (but not exactly wholeheartedly), and Cumulus Networks investing into open-source software.
You might point out that Facebook is also doing that. Do read this blog post before writing a comment ;)
- Every software vendor has to deal with Broadcom (and most everyone else) hiding crucial information and using binary drivers containing ASIC vendor’s SDK. Compare that to Intel always publishing the complete information on their chips and IBM publishing not only the API but the source code of the IBM PC BIOS (in 1980s).
Vertical integration is also the only way to push things (including merchant silicon) to their maximum capacity instead of diluting them to the least common denominator as Big Switch Networks discovered after trying to write a controller supporting multi-vendor switching environment for years.
Finally, there’s the question of support and single throat to choke. Even environments using open-source software to develop their applications prefer spending money on F5/A10/Citrix/whatever load balancer instead of using open-source alternatives.
An Alternate Perspective
At the risk of being branded Cumulus shill by an anonymous disgruntled employee working for $SomeOtherVendor, here’s what Dinesh Dutt sent me on this topic a long while ago when he was still working at Cumulus Networks:
Historically, things have always begun as specialized plays that have later spread to being much more commoditized. Networking is no different. When TCP/IP was duking it out with IPX and DECnet, or Ethernet was duking it out with Token Ring, SONET and ATM, commoditization was hard.
Once the dust settled on the technology, and knowledge was no longer controlled by the high priests, merchant silicon could start trickling out. On the compute side, before the advent of 80386, Linux wasn't even possible. Sparc, MIPS and their siblings ruled the world along with the Unix-like OSes.
Finally, people's mindsets had to change. Any specific proprietary OS/CPU had, for a while, some engineering advantage over Linux/x86. The inexorable progress of Lintel finally began to convert sysadmins and application developers to accept "good enough" as a mantra. Only then did the death of Solaris, IRIX and their cousins begin, and over time "good enough" covered more and more of the cases.
Agree? Disagree? Contact me.
If you want to know what could be done with whitebox switches today, watch the excellent Open Networing webinar featuring Russ White and Shawn Zandi, and if you’re interested in what Cumulus is doing, I prepared a free overview of how you can use Cumulus Linux to build a data center fabric.
Finally, if you’re interested in trying to understand behind-the-scenes dynamics of what you’re seeing in IT, you might find these articles interesting: