O que é uma máquina virtual?

Última atualização: 26/06/2026

Uma máquina virtual (VM) é um computador baseado em software que fornece um ambiente isolado no hardware host. As máquinas virtuais podem executar programas e sistemas operacionais, armazenar dados, conectar-se a redes e realizar outras funções de computação. Grande parte da tecnologia que usamos atualmente, como a computação em nuvem e a inteligência artificial, está enraizada no conceito de máquina virtual, que permite a separação de sistemas operacionais e softwares de uma máquina física. Por exemplo, as VMs na computação em nuvem são usadas para virtualizar os recursos dos servidores dos provedores de serviços em nuvem, possibilitando a arquitetura de nuvem com vários locatários que permite que os clientes compartilhem recursos sem que um interfira no outro.

Como as máquinas virtuais funcionam?

As máquinas virtuais usam tecnologia de virtualização para criar hardware virtual, ou uma versão virtual de um computador em uma máquina física. A máquina física em que as VMs são executadas é chamada de máquina host, e as VMs em execução no host são chamadas de máquinas convidadas.

Uma camada de software leve chamada hipervisor divide os recursos de hardware físico da máquina host, como CPUs, GPUs, TPUs, memória (RAM), armazenamento e redes. O hipervisor aloca esses recursos para cada VM convidada. Isso permite executar vários sistemas operacionais "convidados" simultaneamente e isoladamente em uma única máquina "host". Por exemplo, o Google Compute Engine usa um hipervisor baseado em KVM para gerenciar e alocar recursos de maneira eficiente às máquinas virtuais que você cria.

Cada VM convidada é executada em uma partição isolada no host, completamente separada dos outros convidados. É possível hospedar várias VMs em uma única máquina host, geralmente um servidor. O hipervisor aumenta a eficiência e a flexibilidade gerais ao abstrair os recursos físicos da máquina host em um pool. Esses recursos podem ser provisionados e alocados dinamicamente para VMs convidadas com base nos requisitos específicos delas.

Dois tipos principais de hipervisores

  • Tipo 1: hipervisores bare-metal: são executados diretamente no hardware físico do host. Eles são usados com frequência em data centers corporativos devido ao alto desempenho e eficiência. Por exemplo, o Google Cloud usa um hipervisor baseado em KVM para alimentar as máquinas virtuais do Compute Engine.
  • Tipo 2: hipervisores hospedados: são executados como um aplicativo em um sistema operacional, o que os torna adequados para uso em computadores. O caso de uso mais comum é desenvolvimento e teste.

Tipos de máquinas virtuais

De modo geral, há dois tipos de máquinas virtuais: de processo e de sistema.

Uma VM de processo, também chamada de máquina virtual de aplicativo ou ambiente de execução gerenciado (MRE), cria um ambiente virtual de um SO enquanto um app ou único processo está em execução e o destrói assim que você sai. As VMs de processo permitem a criação de um ambiente independente de plataforma que permite que um aplicativo ou processo seja executado da mesma forma em qualquer plataforma. Um exemplo concreto disso é o servidor Node.js no Cloud Run. O Cloud Run oferece um ambiente totalmente gerenciado em que seu aplicativo é executado em um contêiner, abstraído da infraestrutura.

Uma VM de sistema (às vezes chamada de máquina virtual de hardware) simula um sistema operacional completo, permitindo que vários ambientes de SO fiquem na mesma máquina. Normalmente, esse é o tipo de VM a que as pessoas se referem quando falam sobre "máquinas virtuais". As VMs de sistema podem executar o próprio SO e aplicativos, e um hipervisor monitora e distribui os recursos físicos da máquina host entre as VMs de sistema.

Máquinas virtuais do Cloud

Mais recentemente, você também deve ter ouvido falar de máquinas virtuais na nuvem ou de uma VM na nuvem. As máquinas virtuais na nuvem são simplesmente máquinas virtuais executadas em servidores virtuais na nuvem. Muitos provedores de serviços em nuvem permitem criar e executar máquinas virtuais na nuvem na infraestrutura deles, o que permite usar servidores potentes como máquinas host e aproveitar outros serviços definidos por software, como memória e armazenamento de rede. Essas VMs de nuvem são geralmente categorizadas pela otimização de recursos:

  • VMs de uso geral são adequadas para uma ampla variedade de tarefas e cargas de trabalho
  • VMs otimizadas para computação são projetadas para computação de alto desempenho (HPC) e aplicativos com uso intensivo de computação
  • VMs com otimização de memória são ideais para bancos de dados corporativos em grande escala e cargas de trabalho que exigem quantidades enormes de memória
  • VMs especializadas são configuradas com recursos específicos de ponta, como GPUs, para IA/ML e computação científica avançada
  • As VMs confidenciais são um tipo seguro que protege os dados mesmo durante o processamento na memória

Perguntas frequentes

Uma máquina virtual é uma emulação de software de um computador físico, enquanto uma área de trabalho virtual é uma interface do usuário que permite o acesso a um ambiente de desktop hospedado em um servidor remoto. A principal diferença entre eles é que uma máquina virtual emula um computador inteiro, enquanto um desktop virtual fornece acesso remoto a um ambiente de desktop.

As máquinas virtuais são geralmente seguras, porque oferecem isolamento entre o sistema host e a máquina virtual, o que reduz o risco de propagação de malware. No entanto, a segurança deles depende da configuração adequada, de atualizações regulares e de práticas de segurança apropriadas. Se não forem gerenciadas corretamente, as máquinas virtuais ainda podem ficar vulneráveis a ataques, o que torna essencial seguir as práticas recomendadas de segurança.

Sim, uma máquina virtual ocupa espaço de armazenamento no sistema host. A quantidade de armazenamento usada depende do tamanho do disco rígido virtual, do sistema operacional e de todos os aplicativos instalados. Além disso, as máquinas virtuais podem ser configuradas para alocar armazenamento dinamicamente conforme necessário ou para usar uma quantidade fixa de armazenamento.

VMs versus contêineres

Embora as VMs e os contêineres sejam usados para isolar aplicativos, eles fazem isso de maneiras fundamentalmente diferentes. Uma máquina virtual virtualiza toda a pilha de hardware físico, incluindo o sistema operacional. Isso torna cada VM um ambiente isolado e independente, mas também significa que as VMs tendem a ser maiores e a consumir mais recursos.

Por outro lado, os contêineres são mais leves porque virtualizam apenas a camada do SO. Em vez de incluir um sistema operacional completo com cada aplicativo, um contêiner compartilha o kernel do SO do host. Isso faz com que os contêineres usem menos recursos do que as VMs e sejam iniciados mais rapidamente, sem perder o isolamento. Isso torna os contêineres atraentes para o desenvolvimento de novos aplicativos. Como muitos dos aplicativos desenvolvidos nos últimos 10 anos foram criados para contêineres, muitas cargas de trabalho, incluindo e-commerce, back-office e IA, são nativas de contêineres.

Como as máquinas virtuais são usadas?

As VMs são os elementos básicos dos recursos de computação virtualizados e têm um papel fundamental na criação de qualquer aplicativo, ferramenta ou ambiente, tanto na nuvem quanto no local.

Confira algumas das formas mais comuns de uso das máquinas virtuais:

Várias máquinas físicas podem ser reconfiguradas como uma VM e executadas em um host com outras VMs. Isso permite que as organizações reduzam a dispersão. As VMs já provaram ser capazes de executar até mesmo os aplicativos mais sensíveis ao desempenho.

Uma organização central de TI pode provisionar e gerenciar VMs para cada unidade de negócios e área funcional, acelerando o acesso aos recursos e melhorando a visibilidade corporativa.

As VMs podem servir como ambientes isolados para teste e desenvolvimento que incluem funcionalidade completa, mas não afetam a infraestrutura relacionada.

As VMs podem ser facilmente desligadas ou ligadas, migradas e adaptadas, oferecendo o máximo de flexibilidade para desenvolvimento e implantação.

A flexibilidade e a portabilidade que as VMs fornecem são essenciais para aumentar a velocidade das iniciativas de migração.

A replicação de sistemas em ambientes de nuvem usando VMs pode fornecer uma camada extra de segurança e certeza. Os ambientes de nuvem também podem ser atualizados continuamente.

As VMs fornecem a base para criar um ambiente de nuvem junto de um local, oferecendo flexibilidade sem abandonar sistemas legados.

As VMs permitem executar diferentes sistemas operacionais em uma única máquina física. Por exemplo, você pode executar uma VM do Windows Server no Compute Engine do Google Cloud, mesmo que seu ambiente de desenvolvimento principal use o Linux. O Google Cloud oferece uma variedade de imagens de SO para atender a diversas necessidades.

A replicação de sistemas em ambientes de nuvem usando VMs pode fornecer uma camada extra de segurança e certeza. Os ambientes de nuvem também podem ser atualizados continuamente.

Benefícios das máquinas virtuais

As máquinas virtuais oferecem muitos benefícios, principalmente se você optar por uma VM na nuvem, incluindo os seguintes: 

Escalonabilidade

As VMs baseadas na nuvem facilitam o escalonamento dos aplicativos, aumentando a disponibilidade e o desempenho. É possível aumentar a capacidade de acordo com a demanda sem precisar investir em servidores físicos próprios. 

Portabilidade 

Uma máquina virtual consiste em um único pacote de software com recursos de hardware, um sistema operacional e todos os aplicativos relacionados. É fácil mover VMs de um servidor para outro ou até mesmo de hardware local para ambientes de nuvem. 

Consumo e custos reduzidos

Com as VMs, você pode executar vários ambientes virtuais em uma única máquina. Isso reduz o consumo de infraestrutura física, a conta de energia e os custos de manutenção e gerenciamento. 

Provisionamento mais rápido 

As VMs podem ser facilmente duplicadas, o que permite que as empresas criem ambientes novos e idênticos, sem ter que configurá-los do zero.

Confiabilidade

As máquinas virtuais e os respectivos componentes existem virtualmente e permanecem isolados de outras VMs convidadas. Se a VM falhar, as outras VMs convidadas permanecerão operacionais e a máquina host física não será afetada. 

Mais segurança

Com as máquinas virtuais, é possível executar vários sistemas operacionais sem afetar o sistema operacional do host. As VMs permitem criar ambientes virtuais seguros para testar aplicativos ou até mesmo estudar vulnerabilidades de segurança sem alto risco para a máquina host. As ofertas de VM modernas, como as VMs confidenciais do Google Cloud, fornecem criptografia em uso para dados que estão sendo tratados na memória usando um ambiente de execução confiável (TEE) baseado em hardware.

Possíveis desafios das máquinas virtuais

No entanto, há algumas considerações a serem feitas ao executar VMs. Um dos maiores desafios em potencial das máquinas virtuais é que executar vários sistemas operacionais e uma camada de hipervisor pode gerar custos de desempenho se a máquina host não for robusta o suficiente. Além disso, o hardware virtual pode não ser tão eficiente quanto o hardware de uma máquina física. Por fim, a maioria dos provedores de nuvem oferece máquinas virtuais com CPU e memória fixas, o que leva a um uso ineficiente dos recursos.

Muitas dessas preocupações poderão ser superadas se usarmos VMs oferecidas por um provedor de serviços de nuvem. As VMs em nuvem oferecem muitas vantagens sobre as tradicionais, porque permitem que as organizações acessem o poder computacional de todos os computadores de um data center, em vez de uma única máquina. Além disso, os tamanhos de máquinas virtuais do Google Compute Engine oferecem tipos de máquinas personalizados. Em vez de selecionar entre tipos de máquinas predefinidos que podem incluir capacidade excessiva, você pode adaptar a proporção de CPU para memória de acordo com suas cargas de trabalho, pagando apenas pelos recursos que realmente usa. Essa abordagem direcionada minimiza o desperdício e pode reduzir significativamente seus gastos com a nuvem, especialmente ao migrar do local para o Google Cloud ou de outros provedores de nuvem. O Compute Engine também oferece tipos de máquina virtuais otimizados para necessidades específicas dos clientes para cargas de trabalho corporativas, configurações de memória alta ou cargas de trabalho exigentes, como machine learning ou computação de alto desempenho.

O Google Cloud também oferece máquinas virtuais protegidas para maior segurança e integridade verificável das instâncias de VM. As máquinas virtuais protegidas do Google Cloud usam recursos e controles avançados de segurança da plataforma que protegem as cargas de trabalho da empresa contra ameaças como ataques remotos, escalonamento de privilégios e pessoas maliciosas com informações privilegiadas. 

Para alguns aplicativos, os desenvolvedores podem optar por ignorar as VMs tradicionais. Modelos de implantação modernos, como orquestração de contêineres (Google Kubernetes Engine – GKE) e computação sem servidor (Cloud Run), são alternativas poderosas para casos de uso específicos, permitindo que as equipes ignorem o gerenciamento do sistema operacional da VM, melhorando a velocidade de implantação e, muitas vezes, alcançando maior economia.

Introdução às máquinas virtuais no Google Compute Engine

Se você já quiser começar a usar máquinas virtuais, o Google Cloud oferece esse serviço com o Compute Engine. O Compute Engine oferece instâncias de VM flexíveis e autogerenciadas hospedadas na infraestrutura do Google. Confira uma visão geral de como criar e se conectar a uma VM no Compute Engine:

Configurar seu projeto do Google Cloud

Você precisa de um projeto na nuvem do Google Cloud com o faturamento ativado. Novos usuários podem se inscrever em um teste sem custo financeiro.

Ativar a API Compute Engine

Essa API é necessária para criar e gerenciar VMs. É possível ativá-lo no console do Google Cloud ou usando a CLI gcloud.

Crie uma instância de VM:

É possível criar instâncias de VM usando o console do Google Cloud ou a CLI gcloud.

  • Usando o console: navegue até "Compute Engine" no console do Google Cloud e clique em "Criar instância". Em seguida, você pode configurar o nome, a região, a zona, o tipo de máquina (por exemplo, e2-medium), a imagem do disco de inicialização (por exemplo, Debian, Ubuntu, Windows Server) e outras configurações da VM.
  • Usando a CLI gcloud: para usuários da linha de comando, o comando gcloud compute instances create é usado.

Conecte-se à sua máquina virtual

SSH (VMs do Linux): conecte-se com segurança às suas instâncias do Linux usando SSH.

  • Usando o console do Google Cloud: o método mais fácil costuma ser usar o botão "SSH" disponível ao lado da instância na seção Compute Engine do console. Isso abre uma sessão de terminal baseada em navegador.

Usando a CLI gcloud: o comando gcloud compute ssh oferece uma maneira conveniente de se conectar do seu terminal local

  • Gerenciamento de chaves SSH: por padrão, quando você usa o comando gcloud compute ssh pela primeira vez com uma VM, o gcloud gera um par de chaves SSH. Em seguida, ela adiciona sua chave pública aos metadados da VM ou do projeto. O agente convidado do Google em execução na VM configura automaticamente o sshd para permitir o acesso usando essa chave.

Usar o Login do SO (recomendado): para maior segurança e gerenciamento simplificado de chaves SSH, especialmente em várias VMs ou equipes, considere ativar o Login do SO. O Login do SO integra o controle de acesso SSH ao Google Cloud IAM. Com o Login do SO ativado, as chaves SSH são vinculadas à sua identidade do Google, e o acesso é gerenciado usando permissões do IAM em vez de distribuir chaves para os metadados da instância.

Para ativar o login do SO, defina a chave de metadados enable-oslogin como TRUE no seu projeto ou em instâncias individuais.

  •  Em seguida, você pode se conectar usando gcloud compute ssh como de costume. Saiba mais na documentação Configurar o Login do SO

Resolva seus desafios comerciais com o Google Cloud

Clientes novos recebem US$ 300 em créditos para usar no Google Cloud.
Fale com um especialista em vendas do Google Cloud para discutir suas necessidades em mais detalhes.

Vá além

Comece a criar no Google Cloud com US$ 300 em créditos e mais de 20 produtos do programa Sempre gratuito.

Google Cloud