Hyperlight, um projeto de código aberto da Microsoft que se integra a aplicativos que executam código isolado ou não confiável

logotipo hiperlight

Microsoft revelou recentemente o lançamento de um novo projeto de código aberto, que tem o nome "Hyperlight«. Este é um hipervisor projetado especificamente para integração em aplicações que requerem execução isolada de código, seja por motivos de segurança ou para lidar com fragmentos não confiáveis.

Hyperlight está posicionado como uma biblioteca compartilhada, que permite executar funções em micro-VMs, minimizando a latência e facilitando a comunicação eficiente com funções hospedadas.

Sobre hiperluz

Comparado com máquinas virtuais tradicionais, Hyperlight destaca-se pelo baixo impacto no desempenho, já que em comparação com a inicialização de uma máquina virtual padrão que requer pelo menos 120 milissegundos, o Hyperlight permite criar micro-VMs em apenas 1 a 2 milissegundos, permitindo o isolamento em um nível funcional.

Além disso, é mencionado que embora ambientes como Wasmtime for WebAssembly ofereçam tempos ainda mais baixos, de 0,03 milissegundos, o Hyperlight busca oferecer um equilíbrio ideal entre isolamento e funcionalidade para aplicações complexas.

Ao contrário das configurações tradicionais, micro-VMs no Hyperlight não usam um kernel ou um sistema operacional completo. Em vez disso, a máquina virtual é reduzido a um programa autônomo que inclui o código de função, um núcleo mínimo especializado e o tempo de execução necessário, rodando em uma única região de memória com uma CPU virtual atribuída, sem particionar processos ou mapear dispositivos.

O Hyperlight permite essas personalizações em uma ampla variedade de cenários: para integração de funções de gateway da Internet das Coisas (IoT), uso em automação industrial, serviços em nuvem de alto desempenho, etc.

O fluxo de desenvolvimento com Hyperlight envolve vincular o código principal do aplicativo à biblioteca Hyperlight Host, responsável pelo gerenciamento de micro-VMs. Por sua vez, o Código isolado em execução dentro dessas micro-VMs usa a biblioteca Hyperlight Guest, que oferece as APIs necessárias para interagir com o exterior e permite que o código seja executado de forma totalmente independente do sistema operacional host. Com esta arquitetura, o Hyperlight busca redefinir a execução isolada de funções, oferecendo uma abordagem eficiente e segura para aplicações modernas.

Uma recurso em destaque da Hyperlight é a sua capacidade de estabelecer uma interação bidirecional entre o aplicativo host e funções isoladas, pois não apenas permite que aplicativos chamem funções hospedadas em ambientes isolados, mas também permite que essas funções acessem determinados elementos do host. No entanto, isso O acesso é rigorosamente controlado para garantir a segurança já que por padrão, funções isoladas só podem se comunicar com o host através de uma API mínima que facilita a troca de mensagens. Esta limitação garante um ambiente controlado e reduz os riscos de segurança associados ao isolamento funcional.

Por parte deles planos de longo prazoMicrosoft menciona que busca transformar o Hyperlight em um projeto colaborativo mais amplio sob a gestão da Cloud Native Computing Foundation (CNCF). Este movimento visa promover um desenvolvimento neutro e aberto, desvinculado da influência exclusiva de fabricantes específicos. A CNCF, que opera sob a Linux Foundation, já é responsável por projetos influentes como Kubernetes, Containerd, Istio e gRPC, o que nos dá uma ideia da grande capacidade que tem na gestão de iniciativas tecnológicas chave no ecossistema computacional . na nuvem. Esta etapa promete expandir o alcance do Hyperlight e estabelecê-lo como uma ferramenta essencial no espaço de aplicativos nativos da nuvem.

Quanto a suporte de plataforma atual, é importante mencionar que suporta múltiplos ambientes para garantir sua versatilidade. No Linux, suporta hipervisores KVM e mshv (Microsoft Hypervisor no Azure Linux), enquanto no Windows usa WHP (Windows Hypervisor Platform) e WSL2 com KVM (por enquanto, o macOS fica de fora).

Finalmente, se você estiver interessado em saber mais sobre isso, você deve saber que o projeto é desenvolvido em Rust, e é dDisponível sob a licença Apache 2.0. Você pode conferir os detalhes no link a seguir


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.