Microsoft Azure is a collection of cloud services -- often referred to as platform or infrastructure as a service (PaaS or IaaS). Such PaaS solutions are designed to allow customers to quickly build, deploy, and manage cloud applications and to integrate those applications with their existing IT environment. Microsoft Azure is one of the biggest players in this space, along with Amazon AWS, Google, and IBM.
Azure also increasingly supports Linux, with features including a command-line interface, MySQL clustering, LAMP stack, and Docker containers. Azure supports Linux distributions including Ubuntu, SUSE, openSUSE, CoreOS, FreeBSD, and most recently Red Hat. This support for Linux, by providing greater choice and flexibility, has opened up Microsoft Azure to developers and administrators who use Linux and is especially useful to those who use both Windows and Linux.
In a recent blog post, Nicole Herskowitz, Director of Product Marketing, Cloud Platform, said, “At Microsoft, our vision for Azure is to enable every developer to be able to create, deploy and manage any application in the cloud, regardless of the tools, technology, architecture or platform they prefer.”
How to Get Started with Linux on Azure
Microsoft Azure is a complex collection of tools and services that can be overwhelming to those new to PaaS or just getting started with Azure. To help, Microsoft offers documentation and tutorials on its website, as well as training and certification. The Introduction to Linux on Azure page, for example, “provides an overview of some aspects of using Linux virtual machines in the Azure cloud.” According to the website, “deploying a Linux virtual machine is a straightforward process using an image from the gallery.” To get started, check out the tutorial for creating a virtual machine.
You can deploy many open source and community-driven software solutions on Azure. For example, you can choose from Linux distros like Ubuntu and SUSE and automation tools like Chef and Puppet. Azure also lets you build apps with Python, PHP, Java, and Node.js and run Linux containers with Docker integration.
Additionally, Azure offers services including analytics, computing, database, mobile, networking, storage, and web. It provides automatic patching and updates, includes built-in load balancing, and lets you scale applications and provision resources quickly so you can shrink or expand your resources as needed.
Using Docker on Linux for Azure
In an interview with ZDNet, Azure CTO Mark Russinovich said, "The container revolution -- this microservices delivery of software inside containers for reliable execution of software moving from a dev-test environment to a production environment, where you get high density and high utilisation out of compute -- is one that for sure is the trend for platform as a service and compute in general."
Docker lets you package an application with all of its dependencies into a standardized unit so that it will run the same, regardless of environment. The Azure documentation says, “Docker is one of the most popular virtualization approaches that uses Linux containers rather than virtual machines as a way of isolating data and computing on shared resources...”
According to the Azure website, “you can deploy a full Docker host on a virtual machine in minutes.” For example, you can create an Ubuntu server virtual machine in Microsoft Azure and then install a Docker Engine via a VM Extension using images from the Azure Marketplace or by using the Azure command-line interface. For more information, check out the Docker Virtual Machine Extension for Linux on Azure.
More Linux Resources for Azure
The Azure Marketplace offers a wide range of Azure-endorsed Linux distributions -- including Ubuntu, SUSE, openSUSE, CentOS, and CoreOS. There, you can download preconfigured software images for Linux or Windows server VMs. If you don’t find what you’re looking for, VMDepot -- a community managed repository of Linux and FreeBSD virtual machines -- offers many more images, or you can use your own custom Linux distro by following these guidelines.
Additionally, the new Azure DevTest Labs provides resources for DevOps teams wanting to develop, deploy, and test software. According to the Getting Started page, DevTest Labs lets you easily create development and test environments with reusable templates to facilitate continuous integration and delivery: “In few clicks, you can create the environments where the last good build of your application is already installed and get working right away…”
Microsoft Azure offers a powerful array of services with which to deploy and manage applications in the cloud and, with its growing support for Linux, provides increased choice and flexibility.
If you want to learn more and expand your skills, you can now become certified in Microsoft Azure on Linux through the brand-new Microsoft Certified Solutions Associate (MCSA) Linux on Azure certification. This certification will be awarded to individuals who pass both the Microsoft 70-533 exam (Implementing Microsoft Azure Infrastructure Solutions) and the Linux Foundation Certified System Administrator (LFCS) exam. These exams combine Linux administration and Microsoft Azure skills and will help you demonstrate your ability to build and manage complex cloud solutions.