The modern data center is the supercomputer re-invented. Some call it warehouse computing for the sheer scale of the systems. The system consists of fungible compute and storage nodes connected by a high capacity network that is quickly repurposable to the demands of the clustered applications running on them. The glue that allows this to happen is an open, extensible and stable operating system. In the data center, on the compute side that operating system today is Linux.
Compared to the speed, flexibility and manageability of the compute nodes, the network is a veritable dinosaur. It is expensive, hard to manage, slow and proprietary. We want to change that. Cumulus Networks has created the first true, full-featured Linux operating system for networking hardware – allowing data centers to break free from proprietary, vertically integrated networking gear.
For Linux to be a network operating system, it has to be responsible for not just the hardware resources but also the structures necessary for networking: route tables, ARP tables, ACLs, interface management, and a whole host of other system information such as power, fans and sensors. In such a world all applications interact with the operating system and its abstractions only, while the operating system manages the devices through device drivers.
It is this criterion which makes Cumulus Linux, Linux. Unlike many industry competitors, we are NOT a Linux-based OS, we ARE Linux. We offer the entirety of the Linux experience, as you understand it. The front panel ports of the switching fabric appear to the Linux kernel as if they are standard NICs. In other words, we accelerate the data path using the switching silicon while preserving the control and management abstractions of standard Linux. The simplicity and elegance of this model is clear when you consider the integration effort required to run well known networking applications as well as enabling new applications.
For example, control protocols such as routing protocols, spanning tree and LLDP are standard Linux user space applications that operate on native Linux constructs for routing and interface management. Some customers are using their own custom-built routing protocol suite.
As another example, networking and server management can be unified under a common tool chain. You can now use the well regarded and sophisticated tools such as puppet, chef, and CFEngine to configure networking equipment. Furthermore, customers with their own native automation tools can easily integrate with Cumulus Linux because we preserve the management abstractions of standard Linux.
Similarly, on the monitoring side of things, you can use a diverse set of tools such as collectd and Ganglia. Obviously, you can still use traditional network monitoring tools such as SNMP. Since the elements being monitored are always exposed via sysfs or procfs, the channels available for gathering and sending information are not restricted to the usual suspects. Scripts can grab all kinds of raw data and trivially send it for remote analysis without requiring proprietary libraries to be ported.
Finally, since Cumulus Linux is Linux, customers can write applications to run directly on our switches and implement any software agent that they desire. For example, we developed agents for well known network orchestration tools such as OpenStack and VMware NSX with the same ease and agility as developing them on a Linux server. In the case of the VMware NSX integration, our team simply worked very closely with the Linux community and VMware to translate the NSX schema into existing Linux kernel VXLAN datastructures. This ease of integration enables the overall experience of interacting with our systems customizable in each deployment.
To summarize, Linux is a natural fit as the network operating system for the data center. With Cumulus Linux, we provide an open, mature, flexible, and easy to manage network operating system for modern data center networks. With Cumulus Linux, we are bringing the Linux Revolution to Networking.