Software Stack Choices in Cloud Networking
The networking industry is changing rapidly with demand for more dynamic control of big data, and scale-out cloud applications. The inevitable shift to software-defined workloads and workflows is crystal clear. This calls for more “disaggregation” of software models for the network stack.
Should networking move to a more open standards-based approach or continue with legacy stacks? The answer is defined by considering the following three options for networking software stacks, and the actual choice depends on the factors as shown below in Figure 1.
1. Classic OS: The established network vendors tend to develop multi-million lines of complex software code with enterprise or service provider class features for LAN or WAN. This closed monolithic “Blob-OS” model can be based on modified and proprietary versions of a BSD or Linux Kernel. Traditional enterprise support is the hallmark of this model, but innovation is rarely evident. Claims of programmability usually include band-aid APIs, or guest virtual machine access. The classic OS addresses mature markets akin to a mainframe usually for customers with siloed IT stacks that support legacy applications.
2. Cloud OS: At Arista, our software engineers build based on an open Linux Kernel, providing programmable capabilities that legacy switch-based Blob-OSs do not. The beauty of this model is its flexibility to offer a universal architecture for cloud applications without compromising agility and openness. Arista offers at least six types of extensibility, bringing novel concepts to software-driven cloud networking as described below:
- Management plane extensibility via APIs, such as EOS API (eAPI) and SNMP.
- Control plane extensibility via advanced event management (AEM) to allow a set of pre-defined triggers.
- Data plane extensibility with in-line programmability to tune network performance and customize traffic flows.
- Virtual Machine extensibility provides customers the virtual machine flexibility for certification or development efforts.
- Application level extensibility for third-party development via SDK tool kits, scripting and APIs, as well as off-the-shelf integration with best-of-breed solutions.
- Open access to a Linux operating system for a direct set of Linux tools with full binary Fedora compatibility.
3. BYOS “Build Your Own Stack”: Examples in the past and present include Level 7, NextHop, IP Infusion, Aricent, Cumulus, and Facebook’s new FBOSS etc., for building the network stack and integrating with white box hardware. This approach is equivalent to Lego-based engineering to construct simple use cases for switches. Large cloud operators with engineering resources may desire to customize the network stack for their applications and could use this BYOS approach. This requires large levels of investment in support and engineering in the millions of dollars. Such strategies may not address the full set of requirements of cloud operator networks and thus may need to be augmented with classic or cloud stacks.
Figure 1: Contrasting Approaches to Network Software Stacks
Introducing EOS As A Subscription (EaaS)
Rather than endure the perils and high operational costs of a monolithic OS, Arista recognized the shift to an open, standards-based and programmable network stack, and pioneered the development of Arista EOS with a modern architecture. We build EOS to deliver self-healing resiliency, while supporting a publish and subscribe programming model with a centralized, shared-state system database (SYSDB), modern scripting, granular programming and open APIs. Our strategy is being validated by the industry. We have championed this for a decade and while legacy competitors may mimic Arista by using many of the same buzz-words, one must pay close attention to reality and the functional product and technology details that matter.
There is an inevitable fork in the road from closed enterprise IT stacks to cloud networking. EOS as a Subscription (EaaS) service is an alternative means for procuring integrated offerings. Within the current products, Arista hardware and software are integrated into a single bundle, mapping to Capex budget allocations for a perpetual licensing period. Our alternative, new software subscription-based licensing model offers customers flexibility for operational savings. At Arista, we choose to deliver our customers pragmatic solutions. Whether customers prefer integrated systems or disaggregated software models, we offer a choice. While it’s true that Arista EOS spans 3000+ customers and 3M+ ports, our journey has just begun! Welcome to the software driven world of cloud networking and EaaS. I welcome your thoughts at firstname.lastname@example.org