Lançamento do MirageOS 3.6, uma plataforma para execução de aplicações no hipervisor

aconteceu liberação do projeto Mirage OS 3.6, que permite criar sistemas operacionais para um único aplicativo, no qual o aplicativo é entregue como um “unikernel” independente que pode ser executado sem o uso de sistemas operacionais, um kernel de sistema operacional separado e quaisquer camadas. A linguagem OCaml é usada para desenvolver aplicativos. Código do projeto distribuído por sob a licença gratuita do ISC.

Todas as funcionalidades de baixo nível inerentes ao sistema operacional são implementadas na forma de uma biblioteca anexada ao aplicativo. A aplicação pode ser desenvolvida em qualquer sistema operacional, após o qual é compilada em um kernel especializado (o conceito Unikernel), que pode ser executado diretamente em hipervisores Xen, KVM, BHyve e VMM (OpenBSD), em plataformas móveis, como um processo em um ambiente compatível com POSIX ou em ambientes de nuvem Amazon Elastic Compute Cloud e Google Compute Engine.

O ambiente gerado não contém nada supérfluo e interage diretamente com o hipervisor sem drivers ou camadas de sistema, o que permite uma redução significativa de custos indiretos e aumento de segurança. Trabalhar com MirageOS se resume a três etapas: preparar a configuração com identificar os utilizados no ambiente Pacotes OPAM, construindo o meio ambiente e lançando o meio ambiente. O tempo de execução para rodar sobre o Xen é baseado em um kernel simplificado Mini-SO, e para outros hipervisores e sistemas baseados em kernel Solo5.

Apesar de os aplicativos e bibliotecas serem criados na linguagem OCaml de alto nível, os ambientes resultantes demonstram desempenho bastante bom e tamanho mínimo (por exemplo, o servidor DNS ocupa apenas 200 KB). A manutenção dos ambientes também é simplificada, pois caso seja necessário atualizar o programa ou alterar a configuração, basta criar e lançar um novo ambiente. Suportado várias dezenas de bibliotecas na linguagem OCaml para realizar operações de rede (DNS, SSH, OpenFlow, HTTP, XMPP, etc.), trabalhar com armazenamento e fornecer processamento paralelo de dados.

As principais mudanças na nova versão estão relacionadas ao suporte aos novos recursos oferecidos no kit de ferramentas Solo5 0.6.0 (ambiente sandbox para execução do unikernel):

  • Adicionada a capacidade de executar o unikernel MirageOS em um ambiente isolado spt (“concurso de processo em sandbox”) fornecido pelo kit de ferramentas Solo5. Ao usar o back-end spt, os kernels do MirageOS são executados em processos de usuário do Linux aos quais o isolamento mínimo é aplicado com base no seccomp-BPF;
  • Suporte implementado manifesto do aplicativo do projeto Solo5, que permite definir vários adaptadores de rede e dispositivos de armazenamento conectados a um unikernel isoladamente com base em back-ends hvt, spt e muen (o uso para back-ends genode e virtio está atualmente limitado a um dispositivo);
  • A proteção de backends baseados em Solo5 (hvt, spt) foi reforçada, por exemplo, foi fornecida a construção no modo SSP (Stack Smashing Protection).

Fonte: opennet.ru

Adicionar um comentário