
Na era dos contêineres de 2021, os provedores de nuvem ainda usam hipervisor para possibilitar o uso de mais recursos disponíveis em um sistema e fornecer maior mobilidade de TI, uma vez que as VMs convidadas são independentes do hardware host.
Hipervisor, permite que um servidor físico opere várias VMs como convidados rodando lado a lado.
Containerssão uma forma de virtualização do sistema operacional.
Ambos os sistemas podem atingir o mesmo propósito, mas os contêineres são muito mais eficientes.
Você pode dizer que os contêineres não oferecem segurança suficiente, mascontêiner de confiança zeropoderia ser possível.
Ainda me pergunto por que os provedores de nuvem ainda usam hipervisor em vez de conteinerização em seus servidores bare metal.
Responder1
Os contêineres sãonão“uma forma de virtualização do sistema operacional”. Os contêineres são a maneira de construir vários ambientes de usuário em uma única imagem de sistema operacional. Contêineres e VMs nunca conseguiram atingir o mesmo propósito. Os contêineres são baseados em tecnologia que nunca teve a intenção de substituir as máquinas virtuais; é a maneira de construir prisões mais seguras do que, digamos, chroot (é como "chroot com esteróides").
Se você quiser ver “uma forma de virtualização de sistema operacional”, aprenda sobre a tecnologia paravirtual Xen;queé a forma de virtualização do sistema operacional.
Existem muitas tarefas que não são possíveis de realizar em contêineres, por exemplo, as pessoas muitas vezes precisam executar aplicativos Windows e Linux e só Deus sabe o que mais, e a única maneira de fazer isso é a virtualização.
No entanto, existem muitas tarefas que poderiam ser resolvidas de qualquer maneira. Por que eles ainda nem sempre são resolvidos com containers?
Por causa da inércia na mente das pessoas. VMs são como computadores, que usamos há muito tempo e todos estão acostumados com eles. Os contêineres são coisas muito diferentes.
Por causa do Windows muito difundido, que não possui esse conceito. Posso até especular que isso ocorre porque é difícil impor restrições de licenciamento em ambientes conteinerizados verdadeiramente seguros; Os termos de licenciamento da Micro$oft sempre foram muito confusos, mas a inclusão de contêineres poderia tornar isso insuportável até mesmo para seus proponentes mais leais.
Responder2
A virtualização ainda é usada porque é extremamente flexível, apesar das inúmeras vantagens que acompanham os contêineres.
Por exemplo, você pode ativar a virtualização aninhada em uma VM convidada. Com esse recurso habilitado, os convidados da VM têm a mesma capacidade de virtualização que o sistema host possui.
Com uma configuração como essa, você pode estender a pegada de recursos muito mais do que apenas usar um sistema host apenas para contêineres ou uma quantidade limitada de VMs que, por sua vez, hospedam contêineres.
Cada VM individual pode, em teoria, criar mais 3 a 5 VMs que podem então ser conteinerizadas e usadas com muito mais eficiência.
Responder3
Porque existem muitos casos de uso que exigem uma instalação completa do sistema operacional e um tipo de persistência que os contêineres simplesmente não possuem.
Isto é da Microsoft e obviamente orientado para o Azure, mas ainda é uma boa comparação:https://docs.microsoft.com/en-us/virtualization/windowscontainers/about/containers-vs-vm.
Responder4
Com contêineres, você precisa executar o mesmo sistema operacional em todos os contêineres. Mas muitas vezes as pessoas precisam executar sistemas operacionais diferentes. Pode ser necessário executar sistemas Linux e Windows na nuvem; além disso, pode ser necessário executar alguma versão antiga específica do Linux ou do Windows para um aplicativo específico que não funciona em sistemas mais recentes. Para um provedor de nuvem, a única maneira de atender às necessidades de diferentes clientes (que podem precisar de vários sistemas operacionais diferentes) é a virtualização.