News

Microsoft's Solution Will Allow Developers To Extend Datacenter Switches

SONiC is the company's open source framework that will allow application developers to extend network switches to work across disparate hardware platforms.

Microsoft aims to more flexibility to datacenter hardware switches through a proposed open source contribution to the Open Compute Project. The solution, called Software for Open Networking in the Cloud (SONiC), is a set of software components that run on top of Linux.

In a keynote talk at the OCP Summit event in San Jose, Calif., Microsoft CTO Mark Russinovich said that SONic uses the open source Redis cache to store routing information. He explained that the aim of SONiC is to add flexibility and choice when using hardware switches in service provider datacenters, while also permitting hardware switch vendors to deliver their own product values. Microsoft collaborated with companies such as Arista, Broadcom, Dell and Mellanox to create SONiC.

SONiC also is described as an open source framework for application developers to target network switches across multiple hardware platforms. It can be extended using "open source, third party or proprietary software components," according to a blog post by Russinovich.

SONiC is considered to be a "major step in Microsoft's open source journey," according to Russinovich. Currently, the specification is at the initial proposal stage. SONiC isn't accepted yet by the OCP. It builds on Microsoft's earlier OCP contributions, such as the Switch Abstraction Interface (SAI), which the OCP accepted in July. The SAI specification abstracts application programming interfaces (APIs) used for communicating switching functionality, Russinovich explained.

Microsoft similarly built its Azure Cloud Switch solution, announced back in September, using SAI and Linux.

Microsoft collaborated with Barefoot Networks, Broadcom, Cavium, Centec, Dell, Mellanox and Metaswitch on the SAI spec, according to a blog post by Kamala Subramaniam, a principal architect for Azure Networking at Microsoft.

SONiC may be at the initial proposal stage at the OCP, but it's also currently in use, too.

"SONiC is not just prototyped software but deployed today and planned to run at scale in the future," Subramaniam stated.

SONiC is part of Microsoft's software-defined networking efforts centered on its Azure datacenters, which has requirements for scalability, speed and reliability that need to exceed legacy hardware designs, Subramaniam explained. She noted that it's currently "challenging to integrate the different software running on each different type of switch into a cloud-wide network management platform," but that SONiC lets Microsoft share the same software stack across different switch vendor hardware products.

Microsoft's SONiC platform provides APIs in the C language that can be used to program the application-specific integrated circuits (ASICs) in switch products. SONiC comes with drivers for switches that enable it to serve as "a fully functional Layer2/Layer3 switch," Subramaniam added. Future Linux distributions could also provide "support for SONiC and SAI through kernel modules," she added.

Microsoft also previously contributed its Open CloudServer (OCS) specification to the OCP. Russinovich described OCS as "the very same server and datacenter designs that power our own Azure hyper-scale cloud" in his blog post. During the talk, Russinovich said that Microsoft has been collaborating on open source software projects for about 10 years, supporting more than 1,900 projects. Microsoft currently operates more than one million servers around the globe and 90 percent of its servers are OCS servers, he added.

Microsoft had announced its membership in the OCP back in January 2014. The OCP originally was initially started by Facebook engineers to share datacenter knowledge but it later was formed into an organization by Facebook to create open datacenter specifications. The OCP drew initial support from Intel and Rackspace. Later, companies such as Canonical, Cloudscaling, Hewlett-Packard and VMware, among others, joined the OCP effort.

About the Author

Kurt Mackie is senior news producer for 1105 Media's Converge360 group.

comments powered by Disqus

Featured

  • AI for GitHub Collaboration? Maybe Not So Much

    No doubt GitHub Copilot has been a boon for developers, but AI might not be the best tool for collaboration, according to developers weighing in on a recent social media post from the GitHub team.

  • Visual Studio 2022 Getting VS Code 'Command Palette' Equivalent

    As any Visual Studio Code user knows, the editor's command palette is a powerful tool for getting things done quickly, without having to navigate through menus and dialogs. Now, we learn how an equivalent is coming for Microsoft's flagship Visual Studio IDE, invoked by the same familiar Ctrl+Shift+P keyboard shortcut.

  • .NET 9 Preview 3: 'I've Been Waiting 9 Years for This API!'

    Microsoft's third preview of .NET 9 sees a lot of minor tweaks and fixes with no earth-shaking new functionality, but little things can be important to individual developers.

  • Data Anomaly Detection Using a Neural Autoencoder with C#

    Dr. James McCaffrey of Microsoft Research tackles the process of examining a set of source data to find data items that are different in some way from the majority of the source items.

  • What's New for Python, Java in Visual Studio Code

    Microsoft announced March 2024 updates to its Python and Java extensions for Visual Studio Code, the open source-based, cross-platform code editor that has repeatedly been named the No. 1 tool in major development surveys.

Subscribe on YouTube