- Spin é uma ferramenta de desenvolvimento open source para criar, implantar e executar aplicações WebAssembly (Wasm) serverless em qualquer lugar
- Oferece binários portáveis de pequeno porte, baixa latência de inicialização e alta taxa de transferência, com a vantagem de poder executar aplicações em diversos ambientes
Destaques do Spin 3.0
- Graças à leveza, ao rápido tempo de inicialização e à segurança do Wasm, ele é adequado para casos de uso no lado do servidor, sendo vantajoso quando contêineres são lentos ou grandes, quando o sandboxing é essencial e em cenários serverless
- O WebAssembly Component Model padroniza a interoperabilidade entre diferentes linguagens de programação, oferecendo mais possibilidades aos desenvolvedores
- Dependências de componentes - facilidade para programação multilíngue
- O Spin 3.0 introduz fluxos de trabalho de desenvolvimento como usar, em uma aplicação JavaScript, uma biblioteca escrita em Rust como dependência.
- É possível armazenar, buscar e importar componentes em registries OCI, oferecendo uma experiência semelhante à de npm/NuGet/crates.io.
- Implantação seletiva - construa uma vez e implante seletivamente
- Alguns componentes de uma aplicação Spin podem ser executados localmente ou por meio do SpinKube.
- Com a flag
spin up --component-id, é possível especificar quais componentes executar, criando novos cenários em que engenheiros de plataforma podem executar seletivamente componentes em nós que atendam a requisitos específicos.
- Integração profunda com o padrão WASI
- O projeto Spin busca contribuir com as APIs do WASI e integrá-las ao Spin para atender às necessidades da comunidade.
- As APIs WASI Key-Value e WASI Config são oficialmente suportadas no Spin.
- Integração com OpenTelemetry(OTel) - observabilidade incluída
- O Spin 3.0 oferece suporte oficial à observabilidade com OpenTelemetry(OTel), permitindo integração com ferramentas como Grafana, Jaegar e Prometheus.
- A configuração da stack de observabilidade é facilitada pelo plugin
spin otel.
- Spin Factors - grande refatoração do runtime
- A estrutura interna do Spin foi amplamente refatorada com um recurso chamado Spin Factors, reforçando a modularidade.
- Ficou mais fácil estender o runtime do Spin, embora ainda seja necessário fazer fork do projeto.
- Demo - uso do Spin 3.0
- É apresentado um exemplo de uso do recurso de dependências de componentes do Spin 3.0 para criar, em Rust, um componente de conversão de imagens e utilizá-lo como dependência em um componente JavaScript/TypeScript.
- Com o plugin
spin deps, é possível publicar componentes em um registry OCI e consumi-los a partir de componentes Wasm escritos em outras linguagens.
- Situação do ecossistema
- Estão surgindo vários plugins de CLI e de trigger, e também há um novo lançamento do projeto SpinKube.
- Novos recursos, incluindo implantação seletiva, foram adicionados.
1 comentários
Parece que OTel agora é o padrão.