Recently I was visiting with a customer for a pre-sales activity. They are new to Azure, but have a few years under their belt with AWS. During the discussion, they mentioned that they had few .NET applications that could take advantage of Azure. This is not the first time I have heard this statement, that Azure is only open to the Microsoft technology ecosystem. I spent about 10 minutes explaining that Azure accepts most Open Source technologies as well as Microsoft technologies. After the meeting, I decided this would be a good subject for a blog post.
Let’s start by talking about Azure in general. Most people are aware of the pillars of cloud computing (IaaS, PaaS and SaaS), but that is about as deep a newcomer’s knowledge is. I still occasionally run into customers that are not aware that there are several flavors of Linux VM’s that can be stood up in Azure. In addition, there are many open source languages and DevOps tools that are first class citizens in Azure.
Open Source O/S in Azure (Linux)
Linux has been available for VM’s in Azure for several years. There are many versions of each distribution available in the Azure Portal. Check the latest Microsoft documentation to see what versions are available currently in Azure. The following distributions of Linux are officially supported in Azure:
Any language that can be used in building applications for Linux and Windows Server are supported in Azure. The major difference is whether the language is supported for PaaS services (App Services). App Service has first class support for C#, Node.js, Java, PHP and Python. The following are a sampling of programming languages that are being used to build Azure applications (both IaaS and PaaS):
DevOps/Continuous Integration Tools
While Microsoft provides a rich DevOps/CI system in Team Foundation Server and Visual Studio Team System, there is also support in Azure for many non-Microsoft DevOps/CI technologies. The following are a sampling of DevOps and continuous integration tools supported in Azure:
Containers and microservices are becoming a valuable tool for architects, developers and DevOps personnel. Microsoft provides a rich ecosystem for microservices with Azure Service Fabric. If you are a .NET shop, this technology should be how you would implement a microservices solution in Azure. But for non-Microsoft technology solutions, many open source container technologies are supported in Azure. As with everything in Azure, changes are constant. See the Azure web site for updates on supported technologies. The following are supported open source containerization solutions:
Big Data is another problem set that is handled well running in a cloud environment. Of course, Microsoft has provided PaaS services to help the data scientist solve hard problems. HDInsight, R Server and AzureML (Machine Learning) are just two of these services. But Azure allows customers to bring their ready made big data applications to Azure. Here are some supported open source big data technologies:
Over the past few years Microsoft has become one of the largest contributors to open source projects. In fact, Microsoft has open sourced much of the .NET framework. Entity Framework, ASP.NET MVC, Compilers (C#, Visual Basic, F#). This allows developers to create cross platform applications that run across desktop, mobile and cloud using the same code base.
While this blog is not a comprehensive list of Open Source technologies that are supported in Azure, it should give you the idea that no matter what technology you use to build your application it can run in Azure. For the latest information on Open Source in Azure please go to http://open.microsoft.com. Hanu Software Solutions has architects and developers ready to help your enterprise migrate your existing applications to Azure. And to help you architect and build your green field applications using open source tools and technologies.