O que é Docker e quais são seus principais benefícios?

Docker consiste de uma plataforma Open Source desenvolvida em Go, que é uma linguagem de programação desenvolvida pelo Google e que simplifica a criação e administração de ambientes isolados. Diferentemente da virtualização de servidores, no qual corresponde ao isolamento total de um Sistema Operacional, o Docker realiza o isolamento utilizando bibliotecas de kernel em comum entre o host e o container.

O Docker oferece uma maneira de padronização para o pacote da aplicação realizando o seu empacotamento dentro de um container, de maneira que ambiente torna-se portável para qualquer outro host que contenha o Docker instalado. Os frameworks de containers, como o próprio Docker, por exemplo, incluem o código da apliacação, ferramentas de sistema, runtime e as bibliotecas compartilhadas com o host.

Obviamente que a utilização de containers irá reduz drasticamente o tempo de deploy de infraestrutura ou até mesmo da própria aplicação, pois não há necessidade de ajustes de ambiente para o correto funcionamento do serviço.

Podemos destacar os 3 principais benefícios em relação a utilização de containers:

  1. Containers podem rodar diretamente em um servidor físico (bare-metal), evitando assim alocação e consumo de recursos associados aos servidores virtuais. Desta maneira os containers executando diretamente no servidor físico tendem a assegurar uma menor latência e uma alta performance.
  2. Devido ao seu menor consumo de recursos, um servidor físico poderá hospedar uma maior quantidade de containers, aumentando assim a sua utilização.
  3. A utilização de containers trará uma grande agilidade e flexibilidade para TI, uma vez que os desenvolvedores poderão “empacotar” dependências do aplicativo com o host fazendo com que haja uma consistência durante um processo de portabilidade da aplicação entre os ambientes de desenvolvimento, homologação e produção.
    Outra facilidade do Docker é poder criar suas imagens (containers prontos para deploy) a partir de arquivos de definição chamados Dockerfiles.

Não podemos nos esquecer também de que o Docker utiliza como backend default o LXC, com isso é possível definir limitações de recursos por container como memória, CPU, I/O, etc…

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *