Over the last half-decade or so, the open-source networking operating system SONiC (Software for Open Networking in the Cloud), has been ramping up massive interest.
Created by Microsoft for its Azure data centers, it runs on over 100 different switches from multiple vendors and ASICs. With most vendors on the official SONiC hardware compatibility list, it’s no surprise that the biggest names such as Dell, NVIDIA, Cisco, Arista, and others are either investing in or supporting the NOS, even providing commercial distribution in some cases.
Thanks to this explosive growth, there is a very real possibility that, in the next three to six years, SONiC will become in NOS terms what Linux is in server OS, thus helping enterprises standardize their systems that are supported with a wide berth of hardware vendors. Gartner certainly thinks so as it predicts that by 2025, 40% of organizations that operate large data center networks (more than 200 switches) will run SONiC.
This creates an opportunity for innovation where SONiC can be applied in various scenarios.
Adding programmability with PINS
Almost every business network broadly falls either under a centralized or distributed management model, with each having clear advantages (and disadvantages) over the other.
In the centralized network, there is a single central server, which makes it quick and easy to deploy as there is only one configuration to manage without the need for load balancing. A dedicated external control system configures the arrangement with which computer systems or network devices are connected to each other, then programs directly onto switch nodes in the network. The result is a network behavior that is easy to debug, deterministic, and facilitates optimal traffic engineering.
By contrast, distributed models are more reliable as there are multiple points of failure with the option to add more servers to the cluster if needed. Here, each switch can discover neighbors, generate the routing table, and respond to changes in the topology. A distributed network is more scalable with lower latency and can self-repair in case of failure.
The idea of combining SONiC and PINS (P4 Integrated Network Stack) is to create an SDN that will be controlled centrally with SONiC switches. This would allow various options and directions when building a network with a sizable hardware ecosystem, complete with more L2/L3 functionalities down the road as the ideation stage progresses.
Dual ToR support through smart cable
If there’s one thing that network engineers constantly work on to achieve, it’s high availability. Unfortunately for them, failures abound on the packet delivery route. Each switch has an approximately 2% chance of suffering a failure within three months of deployments, while almost a third of failures happen due to hardware faults and 27% to unplanned interruptions of electrical power.
The SONiC-centric approach avoids the traditional remedy of adding redundancy and utilizing multi-chassis link aggregation to circumvent hardware faults. Instead, it focuses on a new smart cable containing a microcontroller and a hitless MUX to provide dual Top of Rack connectivity to customer VMs. SONiC ToR switches control the MUX inside the smart cable, regulate the server’s traffic path, and swiftly manage failover. As a result, this provides a failover time of under 1µs.
Limitless networking through DASH
DASH or Disaggregated APIs for SONiC Hosts is a new way to harness the output levels and customizability of the programmable hardware ecosystem. This transformational change in computer architecture has been rapidly expanding and the idea for SONiC is to take it a step further and enhance the L4 performance and connection scale anywhere between 10 and 100 times over software implementation solutions.
DASH uses modern high-speed SmartNIC assets to accelerate the flow processing, flipping the script on the conventional use of the SDN’s (Software Defined Network) data plane. It standardizes APIs through SAI (Switch Abstraction Interface) to guarantee interoperability across different programmable equipment, which means it obtains reliability, diagnostics, and extensive monitoring directly from SONiC.
As such, there is no shortage of use cases where DASH can have a significant impact, including service tunnels and private links, VNETs, encryption gateways, and more. Due to SONiC’s open-source nature, there’s more than enough flexibility to adapt it for an individual use case.
These are just a few examples of ideas and contributions from the broader SONiC community. As different stakeholders in the ecosystem, even enterprises, seek to deploy SONIC in and outside the data center, expect to see more SONiC-driven developments.