Table of Contents
– Evolution of Arista EOS
– cEOS Essentials
– The Many Uses of cEOS
– Arista's Containerization
IntroductionThe growth of cloud-based services continues to push the limits of cloud architecture and infrastructure. To operate at cloud scale, software principles are applied to not just the applications, but to the infrastructure components as well. Server environments are built with a uniform hardware and software stack to enable the continuous development model and as a means of more efficient orchestration of that infrastructure. Applications reside in lightweight and efficient Linux containers to help maintain that uniformity and portability during the ongoing continuous development cycle.
Figure 1: Large Clouds Derive Value Through Automation
There can be hundreds of thousands of servers in a large cloud datacenter, so the need for uniformity is critical for automation. Accordingly, there can be thousands of top-of-rack (ToR) switches in these same cloud datacenters. Customers are interested in maintaining that uniform software stack across the ToR switches that share the same rack with those servers. In doing so, they gain deeper control of the infrastructure by extending the same software orchestration model and tools that they use for their servers to include these ToR switching devices.
Uniformity provides workflow consistency across compute and network. This can mean the servers and the switches need to share the same software stack, meaning a common base OS, Linux distribution, container architecture and management tools. This intent, however, can be limited by dated network software architectures. Those architectures are often monolithic and brittle, preventing a cloud from employing modern DevOps principles and common operations across compute and the ToR switches.
Figure 2: Network Operating System (NOS) Evolution
Networking vendors have to address this gap. Software technologies that run on servers are also needed on switches in order to provide uniformity. The challenge is that, at their core, current network operating system environments are highly modified by the vendor. They do not have the open uniformity and standard APIs and do not support the common container model.
Continuing Evolution of Arista EOSArista Extensible Operating System (EOS) was developed to address the needs of the largest cloud networks. These software driven cloud networks require software that allows for flexible software control, unified network and server management and advanced networking features.
With the advent of server virtualization in the early 2000’s, developers could package software as hardware-independent images, which could migrate from one hardware platform to another under the management of an orchestration framework. Arista leveraged this trend for network switches by delivering vEOS. Arista vEOS is the same single EOS binary image that runs on all Arista switches with virtual machine packaging, taking a step in the direction of disaggregation for new use cases.
The industry continues its quest for more software efficiency on each server, accelerating the pace of deploying cloud-native applications and networking them more efficiently. Containers are a preferred method in large cloud networks for software packaging. Containers provide rapid deployment of applications, more efficient server utilization and more agility within datacenters. To bring the container benefits to network infrastructure, Arista offers the same proven EOS software value common to its platforms in a new container packaging option called Containerized EOS (cEOS™).
cEOS EssentialsArista cEOS is the same EOS binary image , used in all Arista platforms, packaged as a containerized application. For the cloud provider, a Top of Rack (ToR) switch can be provisioned with a container runtime environment, and cEOS can be one of many such containerized applications that can be hosted on it. Arista cEOS continues to control the network switch hardware and the switching silicon directly.
Figure 3: Arista cEOS Provides a Common Software Infrastructure Across Compute and Network
As shown in Figure 3, cEOS is deployed as a container on a container runtime engine, such as Docker. Linux provides the native OS for the switching platform. Arista cEOS is architected using the same state sharing architecture at its core. It retains advanced EOS features such as deep levels of programmability, a rich routing / switching feature set and telemetry and visibility tools.
With cEOS, the EOS software stack runs in an individual container. Customer applications, like their infrastructure management agents, can run as other containers on the same base Linux operating system. With containers running on the switch, the operational model is now the same on both the server and the switch. Customers can develop and test their own applications in a familiar containerized environment and then deploy it on the switches, using the same orchestration methods. Containerization and automation help those customers further embrace the continuous development model and gain further software control of their infrastructure.
The Many Uses of cEOSThe Arista cEOS value-proposition brings more software control to the network infrastructure. With that intent, cEOS enables the following use-cases:
- Integration into systems management approaches leveraging containers as a DevOps tool. Customers can develop and test their own applications in containers and then run those same applications in a common container environment on the switches.
- Customers can simulate large networks by running many instances of cEOS in a containerized server or cloud environment. The insights gained from this simulation lead to both the development of containerized agents and preparing for the deployment of the actual network in a fast and cost-effective manner. Because containers are relatively lightweight compared to VMs, these simulations can be enabled quickly and efficiently at massive scales.
- Flexible platform support. With cEOS running on top of a container runtime environment, the customer now has the flexibility to chose the underlying platform infrastructure, including their own Linux distribution and hardware platforms from third parties.
- Joint development integration. Many open networking environments rely on containers, and they can benefit from the advanced features of cEOS. For example, Microsoft’s SONiC project leverages cEOS as a way to integrate EOS features into the SONiC stack.
Arista’s ContainerizationArista has an ongoing collaboration with Docker, the leader in container technology. In 2016, Arista introduced new capabilities in EOS that enabled better containerized networking. First, EOS has the ability to support containers on the base EOS itself. This allows for customers to run their own applications on an EOS-based platform within the EOS environment. Second, Arista developed Container Tracer, a technology enabling network administrators to locate and monitor various containerized workloads on their network by integrating with container orchestration tools such as Docker Swarm.
Now with containerized EOS, customers can leverage the container packaging option for deploying EOS natively as a container and with the added flexibility in software and hardware platform choice.