Microsoft has joined the Linux Foundation as a Platinum member. Google is joining not just the .NET foundation but the steering committee, alongside RedHat and Samsung, which is supporting .NET code on all of its Tizen devices, from smart TVs to wearables and IoT devices, running on ARM. The preview of SQL Server on Linux is ready for IT teams to try out and it has key security and data warehouse features, not just the basics. A version of Microsoft’s premier development tool, Visual Studio, has even come to Mac OS.
Surprised? You shouldn’t be. Microsoft has been moving to this cross-platform, collaborative, open source world for several years. In 2008, Microsoft started contributing to Hadoop. In 2012, Scott Guthrie (now the executive vice president of Microsoft’s Cloud and Enterprise group), announced what was then the new Windows Azure cloud by setting up Linux VMs from a Mac. And in 2014, Microsoft made .NET open source and cross platform. PowerShell followed in 2016. And for containers, one of the key emerging technologies for microservices, Microsoft chose to take a dependency on Docker, an open source project that started on Linux — not just for Azure but for Windows Server 2016 as well.
What does all this mean to you? Mitra Azizirad, corporate vice president for Microsoft’s developer and data division, says it’s about giving developers what they want on the platform of their choice. “We really are taking a big step forward in showing developers how we're really making it easier for them to build apps at unprecedented scale. Our mantra continues to be any developer, any app, any platform and we take it seriously to meet developers where they are,” she says.
Bringing a version of Visual Studio to the Mac (albeit based on Xamarin Studio rather than the same Visual Studio you have on Windows) is definitely about meeting developers where they are — in much the same way that the Windows Subsystem for Linux lets developers run Bash on Windows so they don’t have to pull out a Mac to easily work with Linux systems).
Visual Studio for Mac initially lets you do mobile, web and Universal Windows Platform (UWP) development — both client and back-end code — and it will soon let you create OS X applications using .NET Core.
“For us this is about continuing on the path of breaking through tooling and platform barriers. We want to make sure developers can develop in a platform of their choice,” Azizirad tells CIO.com.
Al Hilwa, Research Director for Software Development research at IDC, agrees: “The new partnerships and commitments allow Microsoft to meet developers where they are and multiply its reach and impact with mobile and cloud developers as well as become established in emerging areas such as IoT, data science and cognitive computing.”
As Hilwa tells CIO.com, this isn’t just about dev tools; it’s about wider technology choices for the business.
“Developers are using more and more diverse technologies and if a vendor is trying to support any developer organization today with a rich set of tools, they have to cross the ecosystems that were established 15 or 20 years ago. In the age of microservices, where teams work independently on specific functionality and have significant autonomy to select their tools, a tool vendor has to work harder to reach a large cross-section of developers. I think Microsoft realizes that its tools are key assets and is trying to make them attractive to as broad an audience as possible. This is inline with the Azure strategy, which is also reaching out to developers of all types.”
More on Azure…
Azure has indeed been one of the big drivers behind Microsoft’s cross-platform moves, and in a way that means a lot more than 'you can run Linux in a VM on Azure.'
For one thing, Microsoft is adding support for more platforms across the full range of its own services. Take Azure App Service, which lets you create mobile and web applications: now the web applications you make will run on Linux, with native support for Node.js and PHP. This means life just got easier for all the digital marketing teams that use WordPress, Drupal and Joomla on Linux and are big App Service customers. App Service also now supports Docker container deployments and updates, so you can use it for microservices.
Visual Studio Team Services, the developer collaboration cloud service, now has build support for Linux and Docker containers, so you can create a continuous integration pipeline that runs from your code all the way to the registry that lets you manage the containers you deploy that code in. It supports familiar Linux package managers like NuGet and npm, with Maven support in development.
Microsoft has also been working with potential rivals to bring their tools and platforms to Azure. Its most recent collaboration is with Pivotal to support Cloud Foundry. Again, that's more than 'you can set up a group of Linux virtual machines and use them to run Cloud Foundry.’
You can use the Pivotal Cloud Foundry Ops Manager to deploy Cloud Foundry on Azure (along with third-party services like RabbitMQ and GemFire), use the Azure Service Broker to integrate Azure services like Storage, SQL Database, Service Bus, DocumentDB and Redis Cache in the apps you build on Cloud Foundry's PaaS — and submit support requests though the Azure portal that go to Pivotal as well as Microsoft.
There is a way to write those applications in .NET if you prefer that to the Java tools Spring and Spring Boot that are common on Cloud Foundry (and supported on Azure). But it's not a .NET tool that Microsoft wrote; it's an open source project called Steeltoe that integrates with the open source Netflix Eureka registry for microservices.
Integrating Cloud Foundry isn't likely to lose Microsoft many Azure Stack sales. What it does do is give Microsoft the opportunity to sell Azure services that integrate with Cloud Foundry and it's doubtless one of the reasons that GE brought its Predix platform (which is based on Cloud Foundry) to Azure.
The Linux Foundation is more than Linux
Linux, in short, has become a key part of Microsoft’s strategy, so it’s not surprising that Microsoft has gone from contributing to the Linux kernel and collaborating on projects under the umbrella of the Linux Foundation to joining the foundation.
Those projects are a reminder that the importance of Linux to the industry goes well beyond using it as a server operating system. They include obvious areas of interest to Microsoft like the Open Container Initiative, the Node.js Foundation and the R Consortium. But there are also key industry collaborations like the OpenDaylight project to create an open source software-defined networking platform, the Open API Initiative to create a common API description format (based on Swagger) and the Core Infrastructure Initiative that gives support and resources to key open source projects (like OpenSSL that the entire industry depends on) but that have often been run by small teams on shoestring budgets, leading to security problems like Heartbleed. The Linux Foundation has become a key player in these areas, and Microsoft’s membership signals its commitment not just to Linux as an OS but to the wider ecosystem.
As Azizirad puts it, “we know community engagement through the open source foundations is key for us to be advancing and nurturing the innovation that provides the flexibility we know is so important.”
The news that Google is joining the technical steering committee of the .NET Foundation and Samsung is bringing .NET to ARM devices like its smart TVs and wearables means that Microsoft’s openness is a two-way street. .NET isn’t just cross platform; it’s now a cross-industry standard. (Google is also involved in the C# standards committee at ECMA).
Azizirad gets a lot of questions about why Microsoft open sourced .NET and why rivals like Google and Samsung are getting involved. While there are certainly more people working to advance .NET than Microsoft could ever have managed (there are now 18,000 contributors to .NET and two thirds of those are from outside Microsoft). But there’s more to it.
“We not only want people contributing to .NET; we also want to contribute to the community,” Azizirad says. “This two-way ecosystem is incredibly important from that partnership perspective. We see folks like Samsung and Google bring to .NET what they always wanted to see in .NET. With this diverse ecosystem, we’re removing barriers. And when you think about Google and Samsung, they also want to tap into this broader ecosystem as well. It really allows it to happen both ways.”
“The Google announcements highlight an improving and more pragmatic relationship between the two, as each wants what the other has,” Hilwa points out. “Microsoft wants to win startups and other emerging workloads, which Google technologies like Kubernetes typically attract, and Google wants to make progress in the enterprise where Microsoft technologies are quite entrenched.”
For CIOs and IT teams, all this means that you get a lot more choice. In particular, you can choose what your application stack looks like and optimize it for your workloads with far fewer restrictions based on what platforms you’ve already invested in. You get a wider hiring pool for technical staff, and a wider choice of cloud vendors to choose from. Or you can standardize on one cloud like Azure and take advantage of the integration options (and the efficiency of getting a standard bill) because it supports such heterogeneous workloads.
And most important for keeping Microsoft relevant in the enterprise, you can be far more confident that as new technologies come along — in the Linux, mobile or cloud world — Microsoft tools and technologies will support them.