Microsoft Creates Own Version of Linux

Linux, which was created in the early 1990s by incredibly the influential Linus Torvalds and a team of dedicated open-source developers, never managed the level of dominance that Microsoft Windows has seen on the desktop. This week Microsoft unveiled Azure Cloud Switch, a product that is probably only interesting to developers and IT professionals, but uses Linux as the core ingredient.

The Azure Cloud Switch (ACS) is our foray into building our own software for running network devices like switches. It is a cross-platform modular operating system for data center networking built on Linux. ACS allows us to debug, fix, and test software bugs much faster. It also allows us the flexibility to scale down the software and develop features that are required for our datacenter and our networking needs.

ACS also allows us to share the same software stack across hardware from multiple switch vendors. This is done via the Switch Abstraction Interface (SAI) specification, the first open-standard C API for programming network switching ASICs, of the Open Compute Project (OCP). Microsoft was a founding member of the SAI effort and remains a leading contributor to the project as we view SAI as an instrumental piece to make the ACS a success.

While the ACS respects and learns from the experiences of years of quality switch software stacks, it deviates in many aspects from conventional switch software stack to achieve some of the objectives just highlighted.

Traditional switch software is built for several customers with several scenarios and feature requests. Since the ACS focuses on feature development based on Microsoft priorities, it has a Lean Stack. The thin software stack focuses on software needed for our Datacenter Networks and strives to fix, test and remediate network device software bugs faster than the current run rate. The ACS is also a Modular Stack as opposed to one monolithic image. The advantages of a lean and modular stack are plenty. It makes validation easier with less probability for hidden, high priority bugs and reduces new feature request time lag.