Spotlight on open source project SONiC for Microsoft cloud networking

With Microsoft’s foray into the cloud, it was imperative for the company to learn how to manage a global-reaching product that is highly reliable, available, secure, and scalable. It’s not an easy task, requring hundreds of datacenters, tens of thousands of switches, and who knows how many nodes themselves. To ensure constant reliability, Microsoft was forced to use best in class switching hardware that allows for new features and secure updates to be seamlessly deployed quickly without impacting users. It also requires using cloud-scale deep telemetry and automated failure mitigation as well as software-defined networking to control hardware in the network to help reduce failures and eliminate duplication.

Enter SONiC

With all the elements required to create Microsoft’s highly complex server architecture, SONIC — Software for Open Networking in the Cloud — was created top help network administrators easily manage the vast technology. Better yet, it’s an open source project, with a GitHub repository so others can benefit from Microsoft’s takeaways during this process.

At present, SONiC has already launched with a plethora of hardware and software partners, and is extensible for others to collaborate.

Here’s a quick look about the best in class SONiC has to offer.

SONiC architecture

SONiC is built on the Switch Abstraction Interface (SAI), its own standardized API, which has been open source itself since 2015. Using this allows network vendors to develop hardware platforms that can achieve high speeds while maintaining consistent ASIC (application-specific integrated circuits).

SONiC is the first solution of its kind that breaks monolithic switch software into multiple containerized components. This helps with zero downtime upgrades and unnoticeable failure recovery. Together with SWSS (Switch State Service), SONiC takes advantage of open source key-value pair stores to manage switch state requirements and drives the switch toward a goal state. There’s no need to replace the switch image for a bugfix; now, the flawed container can just be upgraded with new code without downtime. This is a core benefit of the platform and is the only platform doing so.

With containers, SONiC is extensible, and is why SONiC is aimed at cloud network infrastructures. Simply plug in new components, be it third party, proprietary, or open source software, and tailor SONiC to your needs.

SONiC core architecture

This also meets SONiC’s goals of automation to avoid failures, faults, and ensure recovery without human intervention. Some technologies supported by this include Netbouncer and Everflow.

A rapid evolution

  • SONiC is growing in industry support alongside SAI. It has support from Barefoot Networks, Broadcom Limited, Cavium, Centec Networks, Mellanox Technologies, Marvell Technology Group, and Nephos, among others.
  • Broadcom, Marvell, Barefoot, and Microsoft are working together for advanced monitoring and telemetry in SAI for deep visibility into ASIC with powerful analytics.
  • Mellanox, Cavium, Dell, and Centec are building upon protocol support to SAI (MPLS, Enhanced ACL model, bridge model, L2/L3 multicast, segment routing, and 802.1BR).
  • Dell and Metaswitch are working with Microsoft to bring failure resiliency and performance to SAI by adding L3 for fast rerouting and BFD protocols.
  • Mellanox and Broadcom are working on a pipeline model with Dell to enrich the SAI infrastructure and network stack.
  • 100-gigabit switches are already supporting SONiC, including Arista Networks 7050 and 7060, Centec Networks E580 and E582, Dell S6000 ON, S6100-ON, and Z9100-ON, Edge-core networks AS7512 and Wedge-100b, Facebook Wedge-100, Ingrasys Technology S9100, Marvell Technology RD-BC3-4825G6CG-A4 and RD-ARM-48xG6CG-A4, and Mellanox SN2700.
  • Arista is offering ontainerized EOS components to run on top of SONiC.
  • Canonical enabled SONiC is a snap for Ubuntu, enabling MAAS to deploy SONiC to switches and servers.
  • Docker-enabled Swarm is being used to manage SONiC containers. Swarm can manage and updcate SONiC at scale.
  • Mellanox is also using SONiC to unleash hardware-based packet generation capabilities in the Spectrum ASIC, which will help with troubleshooting and diagnostics.

The future is looking promising with SONiC — in a few years’ time, we’ll wonder if we are running any technology without it.

Photo Credit: Shutterstock, Microsoft

About The Author

Leave a Comment

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Scroll to Top