Atualização para Intel Cloud Hypervisor 0.3 e Amazon Firecracker 0.19 escrita em Rust

Intel publicado nova versão do hipervisor Hipervisor de nuvem 0.3. O hipervisor é construído em componentes
projeto conjunto Ferrugem-VMM, da qual participam, além da Intel, 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. Código do projeto está disponível licenciado sob 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. Atualmente apenas sistemas x86_64 são suportados, mas o suporte AArch64 está planejado. 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.

Na nova versão:

  • O trabalho continuou na transferência de E/S paravirtualizada para processos separados. A capacidade de usar backends foi adicionada para interagir com dispositivos de bloco vhost-usuário-blk. A mudança permite conectar dispositivos de bloco baseados no módulo vhost-user ao Cloud Hypervisor, como SPDK, como backends para armazenamento paravirtualizado;
  • Suporte para mover operações de rede para backends, introduzido na última versão vhost-user-net, expandido com um novo back-end baseado em um driver de rede virtual TAP. O backend é escrito em Rust e agora é usado no Cloud Hypervisor como a principal arquitetura de rede paravirtualizada;
  • Para aumentar a eficiência e segurança das comunicações entre o ambiente host e o sistema convidado, é proposta uma implementação híbrida de soquetes com endereçamento AF_VSOCK (soquetes de rede virtual), funcionando através de virtio. A implementação é baseada nos desenvolvimentos do projeto Foguete, desenvolvido pela Amazon. O VSOCK permite que você use a API POSIX Sockets padrão para interação entre aplicativos do lado convidado e do host, o que facilita a adaptação de programas de rede comuns para tal interação e a implementação da interação de vários programas clientes com um aplicativo de servidor;
  • Forneceu suporte inicial para a API de gerenciamento usando o protocolo HTTP. No futuro, esta API permitirá iniciar operações assíncronas em sistemas convidados, como hot-plugging de recursos e migração de ambientes;
  • Adicionada uma camada com implementação de transporte baseada em virtio MMIO (Memory mapped virtio), que pode ser usada para criar sistemas convidados minimalistas que não requerem emulação de barramento PCI;
  • Como parte da iniciativa para expandir o suporte para a execução de sistemas convidados aninhados, o Cloud Hypervisor adicionou a capacidade de encaminhar dispositivos IOMMU paravirtualizados por meio do virtio, o que melhora a segurança do encaminhamento aninhado e direto de dispositivos.
  • Forneceu suporte para Ubuntu 19.10;
  • Adicionada a capacidade de executar sistemas convidados com mais de 64 GB de RAM.

Além disso, pode-se notar novo problema adjacente desenvolvido monitor de máquina virtual Foguete, também escrito em Rust, baseado em Rust-VMM e rodando em KVM. Firecracker é um fork do projeto CrosVM, usado pelo Google para iniciar aplicativos Linux и Android no Chrome OS. O Firecracker está sendo desenvolvido pela Amazon Web Services para melhorar o desempenho e a eficiência das plataformas AWS Lambda e AWS Fargate.

A plataforma foi projetada para executar máquinas virtuais com sobrecarga mínima e fornece ferramentas para criar e gerenciar ambientes e serviços isolados construídos usando um modelo de desenvolvimento sem servidor (função como serviço). O Firecracker oferece máquinas virtuais leves, chamadas microVMs, que usam tecnologias de virtualização de hardware para fornecer isolamento completo e, ao mesmo tempo, oferecer o desempenho e a flexibilidade dos contêineres tradicionais. Por exemplo, ao utilizar o Firecracker, o tempo desde o lançamento do microVM até o início da execução da aplicação não ultrapassa 125ms, o que permite lançar novas máquinas virtuais com intensidade de até 150 ambientes por segundo.

A nova versão do Firecracker adiciona um modo de operação sem iniciar o manipulador de API (“—no-api”), limitando o ambiente apenas às configurações codificadas no arquivo de configuração. A configuração estática é especificada através da opção “--config-file” e é definida no formato JSON. Nas opções de linha de comando, também foi adicionado suporte para o separador “-”, os sinalizadores especificados após os quais são passados ​​ao longo da cadeia sem processamento.

Amazon, que desenvolve Firecracker, também anunciou o em fornecer patrocínio aos desenvolvedores da linguagem de programação Rust. Nota-se que o Rust é cada vez mais utilizado nos projetos da empresa e desenvolvimentos nele já foram implementados em serviços como Lambda, EC2 e S3. A Amazon forneceu ao projeto Rust a infraestrutura para armazenar versões e compilações no S3, executar testes de regressão no EC2 e manter um site docs.rs com documentação para todos os pacotes do repositório crates.io.

Amazon também introduzido programa Crédito promocional da AWS, onde projetos de código aberto podem obter acesso gratuito aos serviços da AWS que podem ser usados ​​para armazenamento de recursos, construção, integração contínua e testes. Entre os projetos já aprovados para participação no programa, além de Rust, destacaram-se AdoptOpenJDK, Maven Central, Kubernetes, Prometheus, Envoy e Julia. As inscrições são aceitas de qualquer projeto de código aberto entregue sob licenças aprovadas pela OSI.

Fonte: opennet.ru

Adicionar um comentário