Introduction

The world is fast moving towards containers as best as they can. The advantages they provide has made the decision makers rethink before they go with the same traditional approaches again and again. Azure has come up with as well as opened the doors for many ways for the container options to come up with. If we navigate to our Azure portal and search with the keyword “container”, we can find plenty of container options as well as different apps that support managing containers. In this article, we will explore the options available for containers within Azure and how exciting they are.

Azure Container Services (ACS)
NOTE : In 2017, we introduced Azure Kubernetes Service (AKS) for simplifying Kubernetes management, deployment, and operations. Because it fully replaces Azure Container Service (ACS) capabilities for Kubernetes, ACS will be retired as a standalone service on January 31, 2020.

Azure Container Services (ACS) simplifies the interactions around the cluster of Virtual machines that run preconfigured applications. The containers are built with Docker images so that they are portable and compatible for a higher extent. It also allows the choice of Kubernetes and Docker swarm to make the apps scalable without much of a hassle.  

The main highlight of Azure Container Services is the integration of some enterprise-grade Azure services. This helps the quality of containerization to improve in many scenarios.

Azure Container Services come as a free feature while it is charged as per the computing power of the Virtual Machines in use. We can make a choice of a large range of Linux virtual machines with classes A, D, DS, G, GS, F, and FS.

Azure Kubernetes service (AKS)

Azure Kubernetes service (AKS) reduce the complexity and management overhead by offloading those responsibilities to Azure. In AKS we do not need to worry about managing our K8s master nodes. This process is cared by Azure and Its free (No need to pay any charge for managing master nodes pay only for agent pool VMs). AKS does not provide direct access (such as with SSH) to the cluster. As this is managed service it handles critical operations that as a K8s administrator has to do, such as

  • Automated updating/patching of master nodes
  • Cluster scaling for master nodes
  • Self-healing host control panel for master nodes
  • Pay only for the agent pool nodes.

We can use Azure CLI, Azure Portal create AKS cluster. At the moment AKS not available in every region.

Refer the following link: https://azure.microsoft.com/en-us/global-infrastructure/services/

Docker for Azure

Docker for Azure is the native solution for running Docker containers without the intervention of any other supportive APIs. It bootstraps all the necessary infrastructure automatically and provided tooling to manage the containers and create native logs that will make it easy for troubleshooting.  

Setup

Both version of Docker: Community Edition and the Enterprise edition are available to be deployed to Azure.

  

Docker Enterprise Edition(EE) for Azure comes with the latest enterprise version that is fully tested and supported for security and bug fixes for a year. The Enterprise Edition for Azure provides support for both Basic, Standard, and Advanced installations.  

Docker Community Edition(CE) for Azure comes with both the stable and edge channels. The biggest advantage of the Community Edition for Azure is it is easily upgradable for Enterprise Edition with a minimum impact. To access this template, we need to be redirected via the Docker website.

The option visible on the image above is a Linux Virtual Machine with Docker installed and optimized. This is different as all worker roles will be hosted within the Virtual Machine itself.    

 

Deployment

Both the Docker versions can be deployed using the Azure CLI as well as the Azure Portal interface.

  

The image above displays the number of resources gets deployed with the Docker Community Edition for Azure. We can define the variables and configurations as they match our requirements and proceed further.

Docker Enterprise Edition(CE) for Azure (Basic) is charged per hourly billing structure whereas Standard or Advanced versions are charged as per licensing.  

Azure Container Instances

This is the easiest way to run a container in Azure. We do not need to manage Virtual Machines or many services as all will be taken care by Azure.

  

Ease of use is the highlight here although the fewer possibilities around customization and configuration are highlighted as downsides.

Other

As a growing platform, Azure keeps adding components as well as other publishers come up with new ways. Apart from these 3, there are many services that are related to Containers such as:

  • App Fabric
  • App Service
  • Batch

They are mostly specific for a single purpose and can be used very easily to serve the purpose they intend.  

Summary

Azure supports the creation and managing container workloads to a very high extent. Even the internal deployments within Azure when we are consuming a service such as app service is containerized. These options highlight the need for speedy, but a stable transfer from traditional solution deployment models to containers.   

See Also

  1. Getting started with a container in Docker
  2. Understanding Docker for Absolute Beginners
  3. Azure Kubernetes Service (AKS): Getting Started

 

References

  1. Docker for Azure
  2. Container Instances