Comparar máquinas virtuais a contêineres
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.