I’m excited to announce the general availability of the Azure Container Service; the simplest, most open and flexible way to run your container applications in the cloud.
But why a container service? Lately it seems like you can’t have a discussion about cloud computing without also talking about the benefit of container ecosystems for development agility and portability. Organizations are already experimenting with container technology in an effort to understand what they mean for applications in the cloud and on-premises, and how to best use them for their specific development and IT operations scenarios.
However, as organizations adopt containers and look to scale them in production, they discover that deploying and operating containerized application workloads is a non-trivial exercise. The complexity of tracking and managing high-density containers at scale grows at an exponential rate, making traditional, hands-on management approaches ineffective.
Azure Container Service addresses these challenges by providing simplified configurations of proven open source container orchestration technology, optimized to run in the cloud. With just a few clicks you can deploy your container-based applications on a framework designed to help manage the complexity of containers deployed at scale, in production.
We built Azure Container Service to be the fastest way to get the benefits of running containerized applications, using your choice of open source technology, tools and skills and with the support of a thriving community and ecosystem.
With Docker image support and our commitment to open source software in the orchestration layer, your application is fully portable across any cloud and on-premises. Unlike other container services, the Azure Container Service is built on 100% open source software to maximize portability of workloads and offers a choice among popular orchestration engines: DC/OS or Docker Swarm.
DC/OS, is a solution for orchestration of large scale enterprise applications, whether they run Docker images or other container formats. DC/OS technology is proven at scale in organizations including Twitter, Apple, Yelp and Verizon. Microsoft has worked closely with Mesosphere to bring DC/OS to Azure Container Service customers.
In fact, today Mesosphere joined forces with Microsoft and more than 50 partners to announce the formation of a new open source “Datacenter Operating System” project, or DC/OS combining the power of Apache Mesos with Mesosphere’s Marathon and many other important container management technologies.
Customers choosing the DC/OS version of Azure Container Service will gain access to a number of critical features for orchestrating your applications, including:
- High availability: Marathon runs as an active/passive cluster with leader election for maximum uptime
- Constraints based deployment: Powerful constraints definitions ensure your application is deployed where and how you want it
- Service discovery and load balancing: Flexible support for multiple service discovery approaches
- Health checks: define health checks for your individual services and monitor them through the web interface, REST API or command line
- Metrics: Detailed metrics can be pulled from the API in JSON format or pushed to systems such as graphite, statsd or Datadog
- Event subscription: Register an HTTP endpoint to receive event notifications from your scheduler
- Application groups and dependencies: Organize containers into “pods” of related components which can be managed as a single unit.
- Rolling upgrades for zero downtime: Marathon assists users in managing the roll out of upgrades to their applications and services through progressive rollouts, health checks, and rollbacks
- Simple but powerful UI: The Marathon user interface makes it easy to deploy, manage and scale your containers with a few clicks.
- Full featured REST API: Integrate into your existing systems using a powerful REST API
The Docker Swarm version of Azure Container Service uses the Docker stack, and therefore any Docker compliant tooling can also be used to manage applications on Azure Container Service. Through Docker Swarm, Azure Container Service provides a "Docker native" solution using the same open source technologies as Dockers Universal Control Plane, thus providing a natural upgrade path for customers who desire it. Docker Swarm on ACS provides the following capabilities:
- Full featured CLI: Docker CLI and Docker Compose provide full featured access to your cluster from the command line
- REST API: Docker Remote API provides access to third party tools
- Widely adopted API: The Docker Remote API is widely adopted, providing access to hundreds of third party tools including monitoring, logging etc.
- Self-contained application definitions: Docker Compose defines your entire application with all of its dependencies.
- High performance orchestration at scale: Swarm has been demonstrated to operate efficiently at scale
- Discovery Services: through a key/value abstraction layer users can adopt a number of underlying key/value stores for discovery
- Constraints based deployment: automated optimization for scheduling containers to specific nodes through labels and available drivers on nodes
With the general availability of the Azure Container Service, containers are ready for prime-time in the cloud, enabling organizations to transform the excitement and hype into concrete business value quickly and with confidence. Thousands of customers are already running containerized applications in Azure, converting the promise of agility and efficiency at cloud scale into business results. To get started with the Azure Container Service and learn more, start here.