14 pontos por xguru 2023-08-31 | 5 comentários | Compartilhar no WhatsApp
  • MicroVM tem sido uma área em alta em P&D de tecnologia nos últimos 5 anos
  • A ideia central é recriar alguns conceitos e tecnologias que a IBM inventou junto com o hipervisor nos anos 1960
    • Projetar o sistema operacional especificamente para ser executado como guest em outro SO
    • Fazer com que ele rode dentro de uma VM, mas se comunique com os recursos (VirtIO) fornecidos por um hipervisor específico, em vez de hardware emulado
  • O objetivo comercial é oferecer desempenho de computação "serverless"
    • O AWS Lambda é movido por Firecracker
    • O Firecracker é baseado no hipervisor KVM embutido no kernel Linux (a AWS tradicionalmente usava o hipervisor Xen)
    • Linux-on-Linux
  • Enquanto o FreeBSD inicializa em 25 ms nesse mesmo ambiente, o Linux leva de 75 a 80 ms
  • Quando o desenvolvedor do kernel do FreeBSD Colin Percival começou a trabalhar na melhoria da velocidade de boot, eram 10 segundos; agora ficou 400 vezes mais rápido
  • No momento, a otimização está feita para x86-64, mas o trabalho em Arm64 também está em andamento
  • O Firecracker é atualmente uma das microVMs mais conhecidas, mas existem outros produtos também
    • O QEMU adicionou a plataforma virtual microvm, e o serviço de ambiente de desenvolvimento online Hocus migrou de Firecracker para QEMU
  • Isso pode ter uso não só na nuvem, mas também em outros cenários
    • Executar um único programa criado para um SO sobre outro SO completamente diferente pode ser útil em várias situações

5 comentários

 
galadbran 2023-08-31

Qual é, na prática, a diferença entre 80 milissegundos e 20 milissegundos do ponto de vista do serviço como um todo? Da experiência de quem presta o serviço? Fico com a sensação vaga de que 80 milissegundos já não seria suficiente? Embora 10 segundos realmente fosse demais.

 
kunggom 2023-08-31

Dizem que, se for possível reduzir o tempo de cold start para menos do que o tempo necessário para o handshake TLS com o cliente, não seriam necessárias medidas como aquecimento prévio nem haveria a percepção inicial de lentidão para alguns usuários causada por cold starts lentos.
A Cloudflare já se gabou de realmente ter alcançado isso ao reduzir o tempo de carregamento do serviço Workers para incríveis 5 milissegundos.

 
alstjr7375 2023-09-01

A capacidade técnica da Cloudflare é impressionante...

 
xguru 2023-08-31

Recentemente, Colin Percival virou assunto por causa da mudança do SYSINIT de bubble sort para merge sort,
então estou trazendo este texto porque ele também explica a relação entre a melhoria na velocidade de boot do FreeBSD que está por trás disso e as microVMs.

Hocus - alternativa open source ao GitHub Codespaces
Por que o Firecracker substituiu o QEMU

O FreeBSD usa 7% do tempo de boot para ordenar os SYSINITs com bubble sort
FreeBSD altera o bubble sort do SYSINIT para merge sort

 
cosine20 2023-08-31

Ah, então é um texto na mesma linha daquilo. Interessante.