Introdução
As Firecracker microVMs oferecem inicialização rápida e isolamento robusto com um modelo de dispositivo minimalista, sendo ideais para workloads efêmeras e multi-tenant. O OCI (Oracle Cloud Infrastructure) permite a execução do Firecracker tanto em Bare Metal (BM) quanto em formatos selecionados de Virtual Machines (VMs) via virtualização aninhada (nested virtualization).
Para empresas brasileiras que buscam otimizar custos sem sacrificar a segurança, essa flexibilidade é crucial. Nossa análise mostra que rodar Firecracker em VMs no OCI é uma opção viável, com trade-offs previsíveis em comparação ao Bare Metal.
Isolamento com Firecracker
O Firecracker é um monitor de microVM (VMM) open source projetado para isolamento seguro e leve de workloads. Ele inicia sistemas guest Linux mínimos rapidamente e utiliza um modelo de dispositivo reduzido para diminuir a superfície de ataque.
Visão conceitual do Firecracker no OCI Bare Metal:
Como demonstrado na arquitetura, o Firecracker utiliza um modelo de segurança multicamadas:
- A Barreira de Virtualização: O Firecracker executa cada SO guest e workload de container dentro de uma microVM dedicada, fornecendo isolamento em nível de hardware.
- A Barreira do Jailer: Para reduzir ainda mais a superfície de ataque, o processo do Firecracker é envolvido em um "Jailer" que utiliza primitivas do Linux como cgroups, namespaces e seccomp.
- Planos de Controle e Dados:
- RESTful API: Um plano de controle para configurar vCPUs, memória, etc.
- Modelo de Dispositivo Minimalista: O plano de dados fornece apenas o essencial: Virtio-net, Block Storage e um Metadata Service.
Esta arquitetura resolve três problemas comuns em operações de escala:
- O arrasto de cold-start para serviços de vida curta.
- O gap de isolamento entre containers e VMs completas.
- Densidade e eficiência de custos para plataformas que precisam de rotatividade rápida e segurança consistente.
Como o OCI habilita o Firecracker em VMs e BMs
- OCI Bare Metal (BM): Você controla o SO host e tem acesso direto ao KVM, ideal para throughput máximo e menor latência de cauda (tail latency).
- OCI Virtual Machines (VMs): Como a plataforma de VM do OCI é baseada em KVM, rodar Firecracker aqui exige nested virtualization para que o
/dev/kvmesteja disponível dentro da instância. Se o/dev/kvmnão estiver disponível no seu shape, o BM é o caminho obrigatório.
Resultados de Performance: VM vs. Bare Metal
Utilizamos o mesmo stack de software e artefatos em ambos os hosts (build idêntico do Firecracker, 1vCPU e 5GB de memória) e a mesma arquitetura de CPU (VM.Standard.E5.Flex vs BM.Standard.E5).
| Métrica | Host VM (5 testes) | Host BM (5 testes) | Delta (%) |
|---|---|---|---|
| CPU (sysbench cpu, events/s) | 1607.22 | 1663.18 | 3.48% |
| Memória BW – Escrita (MiB/s) | 29807.96 | 32305.41 | 8.38% |
| Memória BW – Leitura (MiB/s) | 50261.02 | 55764.96 | 10.95% |
| Storage – Escrita Seq. (MiB/s) | 646.99 | 748.72 | 15.72% |
| Storage – Leitura Random (MiB/s) | 143.76 | 257.11 | 78.85% |
| Storage – Escrita Random (MiB/s) | 95.84 | 171.41 | 78.85% |
| Storage – Latência p95 (ms) | 0.14 | 0.07 | 46.43% |
Observações e Guia Estratégico
1. O "Imposto" da Virtualização Aninhada
- Paridade de CPU/Memória: O gap de ~3% em CPU é impressionantemente baixo, mostrando que os shapes E5 Flex do OCI lidam bem com virtualização aninhada. Para a maioria das aplicações, a diferença de largura de banda de memória (11%) é negligenciável.
- Divergência de Storage: Este é o ponto crítico. O I/O aleatório em Bare Metal é quase 1.8x mais rápido. No Bare Metal, o Firecracker fala diretamente com o KVM do host; na VM, cada requisição atravessa o driver virtio do guest e o hypervisor do OCI antes de atingir o hardware.
2. O que isso significa para sua operação
Se suas workloads são sensíveis à latência ou intensivas em escrita/leitura de disco, o Bare Metal é a escolha técnica correta. Se você busca simplicidade operacional e os deltas acima são aceitáveis para o seu cenário (como em microserviços leves), as VMs são alvos viáveis.
Conclusão
O Firecracker no OCI une a agilidade das microVMs com isolamento forte. Para times de engenharia no Brasil que operam frotas de microserviços ou tarefas efêmeras, as VMs com /dev/kvm oferecem um equilíbrio prático. Reserve o Bare Metal para quando os SLOs de latência e intensidade de storage forem soberanos.
Artigo originalmente publicado por Josiah Oriendo em cloud-infrastructure.