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