At the core of Arista cloud networking solutions is EOS, which is purpose-built to be fully programmable and highly modular. Arista EOS provides a rich set of APIs that use standard and well-known management protocols. It is programmable at all layers-- Linux kernel, hardware forwarding tables, switch configuration and CLI, switch control plane as well as management layer. This programmability of EOS enables rapid integration with a wide range of third-party applications for virtualization, management, automation, orchestration and network services.
Standard, unmodified Linux is the underlying operating system of EOS, providing customers with access to all Linux operating system facilities. EOS can be extended with off-the-shelf Linux applications and a growing number of open source management tools to meet the needs of network engineering and operations.
Extensibility and Programmability
EOS offers the ability to write scripts and load applications directly onto the Linux operating system and to run these applications as guest VMs. Features of EOS extensibility include:
EOS provides a rich set of standards-based, well known programmable interfaces including:
Arista EOS supports OpenFlow 1.0 controlled by OpenFlow controllers for filtering and redirecting traffic. Arista EOS also supports a controller-less mode relying on Arista DirectFlow to direct traffic to the SDN applications (for example, TAP aggregators).
With EOS Software Development Kit (SDK), customers can develop their own customized EOS applications in C++, Python, Ruby or Go – applications that are first-class citizens of EOS along with other EOS agents. The SDK provides programming language bindings to software abstractions available in Arista EOS, so 3rd Party agents can access switch state and react to network events. These applications can, for example, manage interfaces, IP and MPLS routes, Access Control Lists (ACLs), as well as use a range of APIs to communicate between the switch and monitoring or network controllers.