1 pontos por GN⁺ 2023-10-24 | 1 comentários | Compartilhar no WhatsApp
  • Artigo sobre o projeto do autor durante a Hackweek 22 da SUSE, no qual ele construiu um unikernel que executa WebAssembly.
  • O autor escolheu esse projeto por vários motivos, incluindo os benefícios potenciais de combinar unikernels e WebAssembly.
  • Do ponto de vista de desenvolvedores de aplicações, portar uma aplicação para um unikernel ou escrevê-la para esse ambiente pode ser difícil, já que a aplicação e suas dependências precisam ser compatíveis com o unikernel de destino.
  • Mantenedores de unikernels também têm dificuldade em garantir que qualquer aplicação rode sem problemas em suas plataformas, por causa de primitivas de sistema desconhecidas que podem ser usadas por aplicações de usuários.
  • No entanto, ao ter como alvo uma plataforma WebAssembly, as aplicações passam a ter um conjunto claro de funcionalidades que devem ser fornecidas pelo runtime de WebAssembly.
  • O autor usou o projeto RustyHermit, um unikernel escrito em Rust, como base para a aplicação unikernel.
  • O autor também enfrentou dificuldades relacionadas ao runtime de WebAssembly, porque seu runtime preferido, o Wasmtime, não era compilado sobre o RustyHermit. No fim, ele encontrou e usou o wasmi, um runtime de WebAssembly puro em Rust.
  • O autor também discute o uso da proposta WebAssembly Component Model no Spiderlightning, que permite fornecer funcionalidades a convidados WebAssembly e também faz com que o host possa usar funcionalidades fornecidas pelos convidados WebAssembly.
  • O autor precisou estender o wit-bindgen, uma ferramenta CLI que gera código de host/convidado a partir de arquivos .wit, para dar suporte ao runtime WebAssembly wasmi.
  • O autor encerra o post com uma gravação da aplicação unikernel executando a demonstração http-server do Spiderlightning, e promete abordar Rust async, Redis e alguns erros na próxima parte da jornada.

1 comentários

 
GN⁺ 2023-10-24
Comentários no Hacker News
  • Usuários fazem associação com a palestra "O nascimento e a morte do JavaScript"
  • Discussão sobre a melhor forma de um hacker que não é de sistemas operacionais obter um unikernel, com várias opções sugeridas, como construir uma aplicação como módulo do kernel Linux, hackear o Linux e injetar código, ou usar projetos de unikernel no GitHub
  • Proposta e discussão da ideia de uma máquina x64 executando uma VM conectada a uma placa de rede como recurso de computação de uso geral
  • Entusiasmo com WebAssembly (WASM), com usuários elogiando seu sandboxing e portabilidade, e alguns desejando que tivesse sido inventado nos anos 90 no lugar do JavaScript
  • Usuários esperam a sobrevivência de longo prazo do WASM, reconhecendo como problema a incapacidade de executar muitos programas antigos e torcendo para que o WASM possa resolver isso
  • Questionamentos sobre o potencial de hardware dedicado a WASM, mostrando interesse no desenvolvimento futuro da tecnologia
  • Curiosidade dos usuários sobre casos de uso de unikernels e WASM, indicando desejo por aplicações práticas da tecnologia
  • Discussão sobre a ideia de um unikernel executando um runtime seguro com coleta de lixo no espaço do kernel, sugerindo que isso poderia eliminar a necessidade de suporte a mapeamento de memória virtual na CPU e, com isso, torná-las mais rápidas
  • Um comentário sinalizado com "Molto interessante, complimenti" significa em italiano "Muito interessante, parabéns"