Amazon publicou sistema de virtualização Firecracker 1.0

A Amazon publicou um lançamento significativo de seu Virtual Machine Monitor (VMM), Firecracker 1.0.0, projetado para executar máquinas virtuais com sobrecarga mínima. Firecracker é um fork do projeto CrosVM, usado pelo Google para executar aplicativos Linux e Android no ChromeOS. O Firecracker está sendo desenvolvido pela Amazon Web Services para melhorar o desempenho e a eficiência das plataformas AWS Lambda e AWS Fargate. O código do Firecracker é escrito em Rust e licenciado sob a licença Apache 2.0.

O Firecracker oferece máquinas virtuais leves chamadas microVMs. Para o isolamento completo do microVM, são utilizadas tecnologias de virtualização de hardware baseadas no hipervisor KVM, mas ao mesmo tempo o desempenho e a flexibilidade são fornecidos no nível dos contêineres convencionais. O sistema está disponível para arquiteturas x86_64 e ARM64, e foi testado em CPUs da família Intel Skylake, Intel Cascade Lake, AMD Zen2 e ARM64 Neoverse N1. Ferramentas são fornecidas para integrar o Firecracker em sistemas de contenção de contêineres de tempo de execução, como Kata Containers, Weaveworks Ignite e containerd (fornecidos pelo tempo de execução firecracker-containerd).

Amazon publicou sistema de virtualização Firecracker 1.0

O ambiente de software executado nas máquinas virtuais é simplificado e contém apenas um conjunto mínimo de componentes. Para economizar memória, reduzir o tempo de inicialização e aumentar a segurança nos ambientes, é lançado um kernel Linux simplificado (são suportados os kernels 4.14 e 5.10), do qual tudo o que é desnecessário é excluído, incluindo funcionalidade reduzida e suporte de dispositivo removido.

Ao executar com um kernel simplificado, o consumo de memória adicional comparado a um contêiner é inferior a 5 MB. O atraso desde o lançamento da microVM até o início da execução da aplicação varia de 6 a 60 ms (média de 12 ms), o que permite a criação de novas máquinas virtuais com intensidade de até 180 ambientes por segundo em um host com 36 núcleos de CPU.

Para gerenciar ambientes virtuais no espaço do usuário, o processo em segundo plano do Virtual Machine Manager é executado, fornecendo uma API RESTful que implementa funções como configurar, iniciar e parar microVM, selecionar modelos de CPU (C3 ou T2), determinar o número de processadores virtuais (vCPU) e tamanho da memória, adicionando interfaces de rede e partições de disco, definindo limites de rendimento e intensidade de operações, fornecendo memória adicional e potência de CPU em caso de recursos insuficientes.

Além de ser utilizado como uma camada de isolamento mais profunda para containers, o Firecracker também é adequado para alimentar sistemas FaaS (Function as a Service), que oferecem um modelo de computação serverless em que o desenvolvimento é realizado na fase de preparação de um conjunto de pequenos funções, cada uma das quais lida com um evento específico e projetada para operação isolada sem referência ao ambiente (sem estado, o resultado não depende do estado anterior e do conteúdo do sistema de arquivos). As funções são iniciadas somente quando surge a necessidade e imediatamente após o processamento do evento completam seu trabalho. A própria plataforma FaaS hospeda funções preparadas, organiza o gerenciamento e garante o dimensionamento dos ambientes necessários para executar funções preparadas.

Além disso, podemos destacar a publicação pela Intel do hipervisor Cloud Hypervisor 21.0, construído com base em componentes do projeto conjunto Rust-VMM, do qual, além da Intel, também participam Alibaba, Amazon, Google e Red Hat. Rust-VMM é escrito na linguagem Rust e permite criar hipervisores específicos de tarefas. Cloud Hypervisor é um hipervisor que fornece um monitor de máquina virtual (VMM) de alto nível executado em KVM e otimizado para tarefas nativas da nuvem. O código do projeto está disponível sob a licença Apache 2.0.

O Cloud Hypervisor está focado na execução de distribuições Linux modernas usando dispositivos paravirtualizados baseados em virtio. Entre os principais objetivos mencionados estão: alta capacidade de resposta, baixo consumo de memória, alto desempenho, configuração simplificada e redução de possíveis vetores de ataque. O suporte à emulação é mínimo e o foco está na paravirtualização. As arquiteturas x86_64 e AArch64 são suportadas. Para sistemas convidados, apenas versões de 64 bits do Linux são suportadas atualmente. A CPU, memória, PCI e NVDIMM são configurados na fase de montagem. É possível migrar máquinas virtuais entre servidores.

A nova versão do Cloud Hypervisor inclui a capacidade de realizar migração local eficiente ao vivo, que pode ser usada para atualizar ambientes dinamicamente (Live Upgrade). O novo modo se diferencia por desabilitar a comparação de memória dos ambientes de origem e de destino, o que reduz o tempo de uma operação de atualização instantânea de 3 segundos para 50 ms. O kernel Linux recomendado é 5.15 (5.14 tem problemas com virtio-net).

Fonte: opennet.ru

Adicionar um comentário