Building on its existing support for containerized applications on its Azure cloud, Microsoft on Tuesday announced the Azure Container Service, a new environment for running cloudy container workloads based on Docker and Apache Mesos.
"After speaking with many enterprise customers who have turned to Mesos to address challenges with container-based applications, it was clear that Mesos should be our first supported orchestrator," the Azure team's Jazon Zander said in a blog post.
The new offering draws on a number of open source projects, including Docker, Mesos, and components of Mesosphere's Data Center Operating System (DCOS).
We first heard rumblings about Microsoft's partnership with Mesosphere at the software giant's Build developer conference in April, where Azure CTO Mark Russinovich demoed launching 2,000 Docker containers on Azure using DCOS tools.
The new offering is a managed Azure service backed by Microsoft's operations and support teams that pulls together Docker, Mesos, and Mesosphere-built tools including the Marathon initialization and launch system, the Mesos-DNS service discovery system, and the Chronos scheduler.
Docker needn't get jealous, though. Zander said the Azure Container Service will also support deploying and orchestrating containers using Docker Swarm, as Russinovich demoed at this year's DockerCon in San Francisco.
With the new service, Microsoft is running slightly behind its cloud archrival, Amazon Web Services, which announced support for DCOS in June.
You can't use Azure Container Service today, either – at least, not exactly. Zander said Microsoft will launch a preview of the new offering by the end of the calendar year. In the meantime, Redmond has made available an Azure Quickstart template that approximates what Azure Container Service will have to offer when it eventually launches.
"The first goal of the Azure Container Service is to simplify the creation and configuration of a cluster," Microsoft's Ross Gardler explained in a tutorial blog post. "The default configuration of this cluster includes Docker and Docker Swarm for code portability and Marathon, Chronos and Apache Mesos to ensure that these applications can be scaled to thousands, even tens of thousands of containers."
It's not exactly easy to set up, though. "At present this configuration requires thousands of lines of code, not to mention a deep understanding of the technologies involved," Gardler said.
In future, he said, Microsoft plans to make available an Azure Container Service Resource Provider for Azure Resource Manager that will abstract away much of the tedious grunt work. The plan is to also integrate the Container Service with another new service called Virtual Machine Scale Sets (VMSS), which will allow you to spin up and manage a set of multiple virtual machines with a single API call.
And in case you are wondering, yes, this is about Linux containers for now, but Redmond also plans to fully integrate the Azure Container Service with Windows Server containers when they're ready to roll. The idea is that you'll eventually be able to manage containers on whichever operating system you choose.
You needn't wait for the Azure Container Service to go live to use containers in Microsoft's cloud, though. Redmond has been going container crazy since it first announced its partnership with Docker in October 2014, and it already offers a number of tools for working with Docker containers, including integrated support in Visual Studio. ®