Microsoft Corp. is stepping up its commitment to the open-source software movement. It’s doing so amid an evolving information technology landscape that’s becoming increasingly reliant on the idea of distributed applications that run on multiple computing platforms.
Enterprises today employ a mix of different clouds and runtime systems and use a variety of provisioning tools such as software containers, virtual machines and serverless infrastructure. IT is becoming much more complicated as it evolves, and Microsoft believes all this has reached a point where developers need an easier and more general way to package and run their distributed apps on a variety of computing platforms.
To that end, today Microsoft said it has teamed up with container software company Docker Inc. on a new “Cloud Native Application Bundle” that it hopes will become the de facto specification for packaging and running distributed apps. The bundle is compatible with everything from Microsoft’s Azure cloud and the Docker Engine to open-source platforms such as Kubernetes and OpenStack. With it, developers can more easily define which application resources need to be deployed to different runtimes, including public and private clouds, workstations, air-gapped networks and “internet of things” environments.
The specification, announced at Microsoft’s Connect(); 2018 developer conference today, comes with an open source reference implementation called Duffle that’s used to install, upgrade and uninstall CNAB bundles. There’s also a new Visual Studio Code extension that makes it easy to build and host new bundles, plus an Electron Installer for simple installation.
Docker has already implemented CNAB for containerized applications and will expand the specification across its platforms to support new app development. The plan is to integrate CNAB with the Docker App tool so bundles can be packaged as Docker images. This will enable app development lifecycles to be managed using Docker Hub or Docker Enterprise, the companies said.
Open source is one of Microsoft’s central themes at this year’s Connect(); the event as the company accelerates its transformation from arch-enemy to one of the leading proponents of free software. As well as releasing the CNAB specification, Microsoft also announced it’s making three popular Windows UX frameworks available for free on GitHub, the open-source code repository platform it acquired earlier this year. These include Windows Presentation Foundation, Windows Forms, and the Windows UI XAML Library.
Elsewhere, Microsoft said it’s expanding its .NET Foundation membership model, enabling anyone in the open-source community to participate in its governance and have a say in the future direction of its main developer platform.
“This means that, going forward, members of the community will directly guide foundation operations,” Microsoft said. “This new structure will help the .NET Foundation scale to meet the needs of the growing .NET open source ecosystem.”
Microsoft is also releasing some important new tools to a couple of prominent open-source foundations. These include Virtual Kubelet, which is being donated to the Cloud Native Computing Foundation that governs projects such as Kubernetes. Virtual Kubelet enables developers to easily connect Kubernetes nodes with other services like Azure Container Instances, AWS Fargate and Azure IoT Edge, making it easier to scale clusters in cloud environments.
The Open Neural Network Exchange is another beneficiary, with a new runtime being made available to the open-source community through GitHub from today. ONNX, as it’s called, is a format for deep learning models that allows interoperability between different open-source AI frameworks. Microsoft said the ONNX Runtime will help developers customize and integrate the ONNX inference engine into their existing infrastructure directly from the source code.