Comparar máquinas virtuais a contêineres

Concluído

A virtualização de hardware possibilita a execução simultânea de múltiplas instâncias isoladas de sistemas operacionais no mesmo hardware físico. Os contêineres representam o próximo estágio na virtualização de recursos de computação.

A virtualização baseada em contêiner permite virtualizar o sistema operacional. Essa abordagem permite executar executar vários aplicativos na mesma instância de um sistema operacional, mantendo o isolamento entre os aplicativos. Os contêineres em uma máquina virtual fornecem funcionalidade semelhante à de máquinas virtuais em um servidor físico.

Coisas para saber sobre contêineres versus máquinas virtuais

Para entender melhor a virtualização baseada em contêiner, vamos comparar contêineres e máquinas virtuais.

Comparar Contêineres Máquinas virtuais
Isolamento Normalmente, um contêiner fornece isolamento leve do host e de outros contêineres, mas não fornece um limite de segurança tão forte quanto uma máquina virtual. Uma máquina virtual proporciona isolamento completo do sistema operacional do host e de outras máquinas virtuais. Esta separação é útil quando um limite de segurança forte é crítico, como hospedar aplicativos de empresas concorrentes no mesmo servidor ou cluster.
Sistema operacional Os contêineres executam a parte do modo de usuário de um sistema operacional e podem ser adaptados para conter apenas os serviços necessários para o aplicativo. Essa abordagem ajuda você a usar menos recursos do sistema. As máquinas virtuais executam um sistema operacional completo, incluindo o kernel, exigindo mais recursos do sistema (CPU, memória e armazenamento).
Implantação Você pode implantar contêineres individuais usando o Docker por meio da linha de comando. Você pode implantar vários contêineres usando um orquestrador, como o Serviço de Kubernetes do Azure. Você pode implantar máquinas virtuais individuais usando o Windows Admin Center ou o Gerenciador do Hyper-V. Você pode implantar várias máquinas virtuais usando o PowerShell ou o System Center Virtual Machine Manager.
Armazenamento persistente Os contêineres usam os Discos do Azure para o armazenamento local para um só nó ou os Arquivos do Azure (compartilhamentos SMB) para armazenamento compartilhado por vários nós ou servidores. As máquinas virtuais usam um VHD (disco rígido virtual) para o armazenamento local de uma só máquina ou um compartilhamento de arquivo SMB para o armazenamento compartilhado por vários servidores.
Tolerância a falhas Se um nó do cluster falhar, o orquestrador em outro nó do cluster recriará rapidamente todos os contêineres em execução no nó. As máquinas virtuais podem fazer failover para outro servidor em um cluster, onde o sistema operacional da máquina virtual é reiniciado no novo servidor.

Tópicos importantes sobre o uso de contêineres

Os contêineres oferecem diversas vantagens em relação a computadores físicos e máquinas virtuais. Examine os benefícios a seguir e considere como você pode implementar contêineres para os aplicativos internos da sua empresa.

  • Considere flexibilidade e velocidade. Obtenha maior flexibilidade e velocidade ao desenvolver e compartilhar o código do aplicativo conteinerizado.

  • Considere testar. Escolha contêineres para sua configuração para permitir testes simplificados de seus aplicativos.

  • Considere a implantação do aplicativo. Implemente contêineres para obter a implantação simplificada e acelerada de seus aplicativos.

  • Considere a densidade da carga de trabalho. Dê suporte a maior densidade de carga de trabalho e melhore a utilização de recursos trabalhando com contêineres.