Máquinas Virtuais
O que é
Pense em alugar um apartamento inteiro em vez de um quarto de hotel: é um espaço vazio que é totalmente seu, e você o mobilia e administra do jeito que quiser. Uma máquina virtual () é esse apartamento no mundo do software — um computador completo que existe como software, rodando no hardware de um provedor. Você recebe um sistema operacional que controla totalmente: faz login, instala o que quiser e executa seu aplicativo exatamente como faria em uma máquina física. É a opção de hospedagem mais "mão na massa" que existe.
Pontos fortes
- Controle total — sistema operacional completo, qualquer software, qualquer configuração.
- Desempenho previsível; a máquina é sua pelo tempo que você alugá-la.
- Sem limites de tempo de execução, diferente de ou .
- Roda qualquer coisa: bancos de dados, softwares legados, daemons personalizados, tarefas longas.
- Modelo maduro e bem compreendido, com décadas de ferramentas ao redor.
Contrapartidas
- Você gerencia tudo: atualizações do SO (sistema operacional), correções de segurança, backups, monitoramento.
- Você paga pela máquina esteja ela ocupada ou ociosa.
- O escalonamento é manual — você redimensiona ou adiciona máquinas por conta própria.
- Mais partes móveis significam mais formas de as coisas quebrarem.
- É a opção mais lenta para provisionar, comparada a funções ou containers.
Quando usar
Use uma VM quando precisar de controle total ou tiver requisitos que opções mais leves não conseguem atender: software especializado, estado persistente, um banco de dados auto-hospedado, cargas de trabalho de GPU (unidade de processamento gráfico), ou a migração de um aplicativo existente sem reescrevê-lo.
Encaixe no vibe coding
VMs dão a um agente de IA a tela mais ampla possível, mas também a maior responsabilidade — por isso, apoie-se em infraestrutura como código em vez de clicar manualmente. Peça ao agente para escrever um script de provisionamento (um arquivo cloud-init ou um script de configuração ) para que a máquina inteira seja reprodutível e revisável, em vez de configurar o servidor à mão via SSH (Secure Shell — um login remoto criptografado na máquina). Dica: peça ao agente para colocar toda a configuração em um único arquivo de bootstrap e para configurar atualizações de segurança automáticas — assim você pode destruir e recriar a VM a qualquer momento sem perder sua configuração.
#!/usr/bin/env bash
# bootstrap.sh — provision an Ubuntu VM
set -euo pipefail
apt-get update && apt-get upgrade -y
apt-get install -y nginx
systemctl enable --now nginx
# enable unattended security updates
apt-get install -y unattended-upgrades
dpkg-reconfigure -f noninteractive unattended-upgrades
# Run the bootstrap on a fresh server
scp bootstrap.sh user@my-server:/tmp/
ssh user@my-server "sudo bash /tmp/bootstrap.sh"