O container é um ambiente isolado, disposto em um servidor, que
divide um único host de controle.
Como funcionam?
Os containers funcionam um pouco como as VMs, mas de uma
maneira muito mais específica e granular.
Quais as vantagens?
Os containers tem vantagens claras sobre as máquinas virtuais. Na
questão do desempenho, ele é maior por dois motivos: Temos menos camadas para a execução das aplicações. Não há um sistema operacional em execução dentro de cada container, o sistema operacional usado é o do servidor. Assim, temos economia de recursos.
Como os containers se relacionam com as máquinas virtuais? Em
que se assemelham? Em que diferem?
Na prática, o Container promove a comunicação do hardware para o
sistema operacional e diretamente para os containers, que cuidam do isolamento e da inicialização das aplicações. Na Máquina Virtual o hardware comunica-se com o hypervisor, e depois com a máquina. Já dentro da VM haverá inicialização do sistema operacional e, só então, as aplicações estarão ativadas. Isso significa que tanto o Container como a VM trabalham com virtualização e isolamento de ambientes para promover processamentos independentemente de aplicações, mas os Containers criam ambientes isolados onde diferentes aplicações podem rodar simultaneamente, porque a divisão é feita em nível de recursos disponíveis, como memória e processamento. Já a Máquina Virtual permite que uma máquina física abrigue outras com sistemas operacionais diferentes, discos rígidos e hardwares independentes dos originais.
Que implementações existem?
Existem várias implementações de containers. A mais utilizada e
conhecida é o docker, plataforma open source escrita em Go, uma linguagem de programação de alto desempenho, que facilita a criação e administração de ambientes isolados.