The Software Choices for Cloud Networking

Jayshree Ullal

These days there is much discussion on “disaggregation” of switches or routers – the splitting of the hardware from the software, the control plane from the data plane. Should they be built with proprietary and monolithic decades-old software, such as the Cisco IOS or NXOS, or leverage a more open standards-based Linux OS, and be SDN-ready? At one level, my initial reaction is “Hmm, does the customer care?” After all, networking vendors have spent the last few decades making their IP routing and switching code mature and feature-rich as well as proving interoperability and survivable designs.

Yet, there is a fork in the road for system vendors. The traditional customer for network vendors was an enterprise with their applications hosted across their entire network. We are witnessing a mass migration of these enterprise applications from enterprise desktops and closets to private, public and hybrid clouds in well-controlled data center facilities. I do wonder why anybody starting today would consciously deploy yesteryear software architectures. Are these being prolonged due to legacy installations that take a life of their own? IS the market ready to translate the SDN hype into reality?

What is clear is that networking software is segmenting into a handful of models and the choice depends on the following factors and considerations:

1. Monolithic OS Solution: The established network vendors tend to develop ambitious, complex software with enterprise class features akin to a mainframe. This gives enterprises the features their various applications need, while giving their CIOs one neck to choke. Traditional enterprise support is the hallmark of this model, but due to the “closed” nature, it doesn’t lend itself to innovation. The Enterprise and data center markets combined are over $10 billion, and are dominated by established leaders like Cisco. Typical price per port is $400-1,000/10GbE port.

2. Programmable Open OS for Cloud Stack: At Arista, we built our network stack (Arista EOS) on top of the open-source Fedora Linux OS with extensive programmability options (APIs). EOS offers the agility, self-healing and scripting capabilities needed to build your own best of breed stack. In fact, a little known secret is that Arista EOS was intended to run on third-party hardware. The Arista vEOS control plane provides the ability to run as a VM inside any virtualization environment. At any given time, Arista EOS could be defined to operate on third-party hardware or run on Arista platforms. The beauty of this model is its flexibility as a universal architecture for many cloud applications without compromising agility and openness. Typical price per port is $200-300/10GbE port.

3.“Bare Metal” Software Stack: This model is meant for engineers who want to experiment with their own network stack or at least major components of it. This model was previously attempted by Level 7, Nexthop, IP Infusion and Aricent, and is currently being offered by the likes of Cumulus and Vyatta. This is almost a Lego-based engineering approach to constructing a switch. The customer will have to be savvy on hardware, firmware, boot and driver oriented engineering. Just as we have VMware’s OpenStack’s and KVM’s virtualization software coexist, the goal is to offer engineering-centric customers the option of using standard ODM hardware. Large cloud operators with engineering resources (like Google and Amazon) may prefer to customize their applications and use this approach. Typical price per 10GbE port is $50/port for software only, but as you add the costs of hardware and engineering as shown in the table below, it can increase to $150-200/10GbE port.

JU-July-Blog

The Era for Modern Networking Software

The networking market is changing rapidly with customers wanting higher feature velocity, more software control of their networks and system programmability for big data, cloud and high performance applications. The use of an internally developed monolithic OS was a wise decision for mature enterprises and carriers, but is not suitable for dynamic cloud-scale customers with modern data center applications. These days classic enterprise switching and routing features are mature and well-defined and need to be locked down like mainframes. The market is shifting towards software-defined, simpler, scalable and low-latency cloud designs. Often, these data centers don’t even need many of the classic enterprise features; thus reducing the relevance of the mainframe-esque Network OS approach.

Arista pioneered EOS in 2004 and launched it in 2008, delivering a self-healing, multi-process state-sharing architecture that consists of multiple processes interacting with a central shared state repository called Sysdb (system database). EOS features modern scripting, event driven programming and open and published APIs, enabling customers to programmatically control their networks to reduce operational costs and improve application performance and reliability. Rather than imposing the poor resiliency, rigidity and high operational costs of a monolithic OS, we chose to deliver our customers a pragmatic cloud solution. We have invested nine years and counting with over 5,000 man-years of experience in building the best networking software in the industry. Our journey has just begun! Welcome to the modern SDN world of Cloud Networking and 10/40/100GbE. I welcome your thoughts at feedback@arista.com

References