We couldn't find a match for given <KEYWORD>, please try again.

Por que usar contêineres, em vez de VMs? | VMware

As máquinas virtuais (VMs, pela sigla em inglês) e os contêineres são complementares e semelhantes: ambos melhoram a eficiência da TI e a portabilidade de aplicativos, além de aprimorarem o DevOps. No entanto, compreender a diferença entre eles é essencial para o desenvolvimento de uma estratégia ágil, nativa da nuvem e orientada por aplicativos.

  • As VMs resolvem problemas de infraestrutura, permitindo que as organizações aproveitem melhor os servidores e viabilizem a portabilidade limitada da carga de trabalho.
  • Os contêineres resolvem problemas de aplicativo melhorando o DevOps, permitindo os microsserviços, aumentando a portabilidade e melhorando ainda mais a utilização de recursos.

O VMware Cloud Foundation integra o vSphere ao Kubernetes

Cinco principais motivos pelos quais o Kubernetes funciona melhor no VMware vSphere

Qual é a diferença principal entre os contêineres e as VMs?

As VMs incluem o sistema operacional (SO, pela sigla em inglês) guest juntamente com todo o código dos respectivos aplicativos e dependências de aplicativos que anteriormente eram executados em um único servidor ou em um pool de servidores. O tamanho das imagens de VM é geralmente medido em gigabytes. Podem existir várias VMs em um único servidor físico, mesmo que estejam em execução em sistemas operacionais diferentes. As VMs desvinculam os servidores do hardware subjacente e, normalmente, persistem durante toda a sua vida útil.

Os contêineres compartilham o SO host e incluem apenas os aplicativos e suas dependências. O tamanho das imagens de contêiner é geralmente medido em megabytes. Todos os contêineres executados em um único servidor compartilham o mesmo SO subjacente. Assim, os contêineres podem ser ativados em milissegundos e são mais eficientes para casos de uso efêmeros em que as instâncias devem ser ativadas e desativadas de acordo com as mudanças na demanda.

Em resumo, qual é a diferença entre VMs e contêineres?

Embora contêineres e VMs ajudem a melhorar a utilização dos recursos de TI, cada um tem seus prós e contras. As máquinas virtuais existem há décadas, permitindo que as empresas combinem vários servidores que executam diferentes aplicativos em um único servidor físico, mesmo que executem sistemas operacionais diferentes. Isto possibilitou economias substanciais em hardware e software de servidor, já que o que costumava ser executado em vários servidores agora é executado em um único servidor. As VMs também são a base da maioria dos serviços de computação em nuvem. A AWS, o Azure e outras nuvens públicas utilizam a VM como uma das suas ofertas padrão. No entanto, como eles encapsulam um servidor inteiro em cada máquina virtual, a quantidade de CPU e RAM exigida pelas VMs pode se tornar complicada e limitar o número de VMs que podem existir em um único servidor.

Os contêineres ganharam popularidade rapidamente desde o lançamento do Docker em 2013, em parte como resposta à sobrecarga das VMs. Como os contêineres funcionam no SO de um servidor, eles compartilham essa única instância do SO e outros binários e bibliotecas. Portanto, os contêineres precisam incluir apenas o código do aplicativo, seja sob a forma de um único aplicativo monolítico ou dos microsserviços agrupados em um ou mais contêineres para abranger uma função de negócios.

Assim, embora as VMs permitam que uma organização execute vários servidores virtuais em uma única peça de hardware, independentemente de seus sistemas operacionais, os contêineres oferecem virtualização de aplicativos leve e de alta densidade, capacidade de ativar e desativar aplicativos e instâncias em segundos, além de algumas medidas de segurança inerentes à separação de aplicações em seus próprios contêineres.

Quais são os pontos positivos e negativos da virtualização?

Pontos positivos da VM:

  • As décadas de experiência em virtualização permitem o acesso a um conjunto robusto de ferramentas de segurança e gerenciamento de VMs
  • As VMs permitem a execução de vários aplicativos que precisam de diferentes SOs em uma única infraestrutura
  • As VMs emulam todo o ambiente de computação, incluindo todos os recursos do SO
  • As VMs simplificam a portabilidade e a migração entre plataformas locais e com base em nuvem
  • Existe um vasto e estabelecido ecossistema e mercado de VMs com líderes do setor, como a VMware

Pontos negativos da VM:

  • As imagens de VM geralmente consomem gigabytes e, por isso, demoram mais tempo para fazer backup ou migrar entre plataformas
  • Como as VMs encapsulam todo o servidor, incluindo o SO, um servidor físico pode oferecer suporte a menos VMs do que os contêineres
  • A ativação da VM pode demorar alguns minutos

Quais são os pontos positivos e negativos dos contêineres?

Pontos positivos dos contêineres:

  • Os contêineres são mais leves que as VMs, pois suas imagens são medidas em megabytes, e não em gigabytes
  • Os contêineres exigem menos recursos de TI para serem implantados, executados e gerenciados
  • Os contêineres são ativados em milissegundos,
  • pois sua ordem de grandeza é menor
  • Um único sistema pode hospedar muito mais contêineres em comparação com as VMs

Pontos negativos dos contêineres:

  • Todos os contêineres devem ser executados no mesmo SO; não é possível combinar SOs ou versões
  • Os contêineres podem ser menos seguros que as VMs, pois o SO subjacente é compartilhado
  • Os contêineres são uma tecnologia mais recente, e o ecossistema ainda está em evolução

Qual é a diferença do uso de contêineres nas práticas de TI tradicionais e emergentes?

As VMs desempenharam e continuarão desempenhando um importante papel na migração de aplicativos legados para a nuvem e os ambientes híbridos. Devido à maturidade das VMs, as organizações que se estabeleceram em uma arquitetura de TI com base em VMs se sentem extremamente confortáveis e, até mesmo, acomodadas nessa condição. Consequentemente, as VMs continuarão sendo a solução de abstração preferida para muitos aplicativos corporativos persistentes e monolíticos, especialmente para os que não possuem atualizações frequentes.

No entanto, os contêineres são compatíveis com as práticas e os casos de uso modernos, como CI/CD em ambientes ágeis de DevOps. Como os contêineres melhoram a portabilidade dos apps entre configurações muito diferentes, um aplicativo desenvolvido em um laptop e testado em uma sandbox pode ser executado na nuvem sem a necessidade de alterações para oferecer suporte aos três ambientes. Os contêineres também oferecem uma capacidade de dimensionamento quase ilimitada. Os aplicativos baseados em microsserviços que separam a interação do usuário do processamento de back-end permitem que o front-end e o back-end sejam dimensionados separadamente, e os contêineres leves significam a ativação quase instantânea de novas instâncias, conforme necessário. Além disso, a adoção de uma abordagem de microsserviços para o desenvolvimento incentiva o compartilhamento de rotinas comuns de microsserviços entre vários aplicativos e processos de negócios, melhorando ainda mais a eficiência do desenvolvedor.

Como está a transição da função das VMs nas práticas emergentes de TI?

À medida que os aplicativos de aprendizado de máquina e inteligência artificial (ML/AI) difundem-se nas empresas, esses aplicativos que utilizam muitos recursos favorecerão a implantação de VMs. Além disso, as novas arquiteturas de rede como 5G, que exigem mais capacidade de processamento na borda, ajudarão as VMs a realizar o trabalho pesado dessas redes definidas por software.

Os contêineres prosperarão no mundo dos aplicativos modernos voltados para o cliente e dos serviços da Web que exigem escalabilidade, graças ao seu tempo de inicialização quase instantâneo. Os contêineres se destacarão como plataforma de desenvolvimento, já que os programadores não precisam mais se preocupar com a variação da infraestrutura de desenvolvimento na infraestrutura de implantação.

Por fim, como os contêineres foram originalmente projetados para serem transitórios, eles são compatíveis com daemons de rede, armazenamento em cache e funções de serviços da Web.

Os contêineres substituirão as VMs ou se complementarão?

Tanto os contêineres como as máquinas virtuais continuarão desempenhando funções importantes. Os contêineres podem ser executados em VMs, permitindo que uma organização aproveite as ferramentas existentes para automação, backup e monitoramento. Os contêineres em VMs permitem que a TI aproveite as equipes existentes com experiência em VM para gerenciar um ambiente em contêineres também. As VMs terão novos casos de uso à medida que as empresas buscam aproveitar todo o potencial da infraestrutura delas (ou da nuvem) de novas maneiras para dar suporte a aplicativos pesados e cargas de trabalho de rede.

Soluções e produtos relacionados

vSphere with Tanzu

Execute cargas de trabalho do Kubernetes usando a infraestrutura de TI existente

Aprimore os apps existentes

Atualize apps existentes sem refatoração cara.