Comparar contêineres com máquinas virtuais

Concluído

A virtualização de hardware torna possível executar várias instâncias isoladas de sistemas operacionais simultaneamente no mesmo hardware físico. Os contêineres representam a próxima etapa na virtualização de recursos de computação.

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

Coisas a 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 Contentores Máquinas virtuais
Isolamento Um contêiner normalmente fornece isolamento leve do host e de outros contêineres, mas um contêiner não fornece um limite de segurança tão forte quanto uma máquina virtual. Uma máquina virtual fornece isolamento completo do sistema operacional host e de outras máquinas virtuais. Essa separação é útil quando um limite de segurança forte é crítico, como hospedar aplicativos de empresas concorrentes no mesmo servidor ou cluster.
Sistema Operativo Os contêineres executam a parte do modo de usuário de um sistema operacional e podem ser personalizados para conter apenas os serviços necessários para seu aplicativo. Essa abordagem ajuda você a usar menos recursos do sistema. As máquinas virtuais executam um sistema operacional completo, incluindo o kernel, que requer mais recursos do sistema (CPU, memória e armazenamento).
Implementaçã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 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 Discos do Azure para armazenamento local para um único nó ou 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 armazenamento local para uma única máquina ou um compartilhamento de arquivos SMB para armazenamento compartilhado por vários servidores.
Tolerância a falhas Se um nó de cluster falhar, o orquestrador em outro nó de 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.

Aspetos a ter em conta ao utilizar contentores

Os contêineres oferecem várias vantagens em relação às máquinas físicas e virtuais. Analise os benefícios a seguir e considere como você pode implementar contêineres para os aplicativos internos da sua empresa.

  • Considere a flexibilidade e a velocidade. Ganhe maior flexibilidade e velocidade ao desenvolver e compartilhar seu código de aplicativo em contêineres.

  • 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 implantação simplificada e acelerada de seus aplicativos.

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