Why use Docker in Azure?

Asked

Viewed 390 times

5

This year I saw that Azure provided a container service called "Azure Container Service". This service, among other things, allows you to use Docker in Azure.

It turns out that Docker is a container system. From what I understand about it so far, its main advantage is that it doesn’t need virtualization. It allows you to achieve isolation without needing virtualization and without needing an entire operating system. In fact it only needs the user space, because the kernel it uses the same as the host.

On the other hand, Azure is based on virtual machines. Everything running in Azure is running on a virtual machine. In this sense, if we use Docker in Azure, we will be using a container inside a virtual machine.

But again, why would anyone do that, if the container exists precisely to avoid virtual machines? What are the advantages and reasons for using Docker in Azure?

  • 1

    This question has 3 closing votes as mainly based on opinions. However, it seems to me to be a valid and perfectly answered question without needing views. A question of the type "What are the advantages and reasons for using Docker in Azure?" is as valid as a "What are the advantages and reasons for using object-oriented programming?" - both can be answered objectively and impartially based only on technical aspects. Someone who defends closure would like to argue?

2 answers

3

I will try to answer all the questions. If something was not clear, just comment that I will complement the answer, combined?

Azure is a cloud mobile. In it we find two types of services that we can consume:

  • iaas - Infrastruture as a Service: Where, yes, it is a fully manageable environment for infrastructure virtualization, i.e., virtual machines, networks, warehouses, etc.

  • Paas - Platform as a Service: Where we can consume ready-made platforms. In this case there is no virtualization - at least not directly. In this case we consume ready-to-use resources such as databases, search systems and, mainly, application hosting.

Azure Container Service is a Paas. When you allocate this type of service, a VM is not placed at your disposal to be configured/customized. It comes ready and configured only for your consumption.

So when we use, for example, Paas Azure Webapps for web application hosting, they’re not necessarily going up a VM to allocate their application. The physical application hosting server is already there, inside the datacenter, you will just host your app on it, and book resources - cpu, ram. And so does Azure Container Service. You ask to provide the service for you, and then just consume, exempting you from the responsibility of maintaining servers.

About the advantages of using Azure Container Service, or any other Paas in Azure:

  • You are exempt from liability for infrastructure maintenance;
  • It will be charged only for the resources used, nothing more;
  • Already has other relevant and aggregated services such as backup, DR, redundancy, etc;
  • Easy to scale, vertically and horizontally;
  • The service already has numerous metrics of resource consumption;

So you can rest easy, because the Azure container service is a platform, just provision and consume.

2

Regardless of the previous one, computational density is something desired. It is not optimized, or improved, for security reasons. With thin isolation tapped by Ocker, it is possible to increase computational density by using fewer resources, as you can replace multiple Vms with containers on a single host, or instead of having a super machine, distribute elastically between smaller machines, now, disconnectable.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.