In a blog post last month, Yousef Khalidi, corporate vice president for Azure networking announced SONiC. It is an open source software based on the Linux platform. It runs on networking switches and lets public cloud provider have more hardware tools across scales. “SONiC is built on the Switch Abstraction Interface (SAI), which defines a standardized API. Network hardware vendors can use it to develop innovative hardware platforms that can achieve great speeds while keeping the programming interface to ASIC (application-specific integrated circuit) consistent.” Alibaba will become a major user of the platform. The Chinese company is the largest online retailer in Asia and the biggest cloud provider in China. Alibaba will use SONiC and help towards its future development. Created for public cloud, the open source documentation is available on GitHub. This allows any users to experiment and develop the software. In the introduction to the platform, Khalidi said the software helps large scale apps recover quickly from downtime. The software uses fine-grained recovery from failure, which can help towards no downtime. SONiC uses Switch State Service (SWSS), which uses open source solution to switch requirements and drives towards goal state.
Building SONiC for OCP
Microsoft created the solution as a member of the Open Compute Project (OCP), which was founded by Facebook in 2011. Microsoft joined in 2014 and helps towards publishes open source solutions to expand datacenter technology and make storage more affordable. For SONiC, the company says there were several reasons why the solution was needed:
Use best-of-breed switching hardware for the various tiers of the network. Deploy new features without impacting end users. Roll out updates securely and reliably across the fleet in hours instead of weeks. Utilize cloud-scale deep telemetry and fully automated failure mitigation. Enable our Software-Defined Networking software to easily control all hardware elements in the network using a unified structure to eliminate duplication and reduce failures.