Ú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.
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.
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.
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:
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.
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.
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.
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.
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.
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:
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.
Essa API é necessária para criar e gerenciar VMs. É possível ativá-lo no console do Google Cloud ou usando a CLI gcloud.
É possível criar instâncias de VM usando o console do Google Cloud ou a CLI gcloud.
SSH (VMs do Linux): conecte-se com segurança às suas instâncias do Linux usando SSH.
Usando a CLI gcloud: o comando gcloud compute ssh oferece uma maneira conveniente de se conectar do seu terminal local
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.

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