- Spin es una herramienta de desarrollo de código abierto para crear, desplegar y ejecutar aplicaciones serverless de WebAssembly (Wasm) en cualquier lugar
- Ofrece binarios portables de tamaño pequeño, baja latencia de arranque y alto rendimiento, lo que le da la ventaja de poder ejecutar aplicaciones en diversos entornos
Aspectos destacados de Spin 3.0
- Gracias a la ligereza, el arranque rápido y la seguridad de Wasm, es adecuado para casos de uso del lado del servidor; resulta ventajoso cuando los contenedores son lentos o grandes, cuando el sandboxing es esencial, y para casos de uso serverless
- El WebAssembly Component Model estandariza la interoperabilidad entre distintos lenguajes de programación, brindando más posibilidades a los desarrolladores
- Dependencias de componentes - facilidad para la programación multilenguaje
- Spin 3.0 introduce flujos de trabajo de desarrollo como usar una librería escrita en Rust como dependencia dentro de una aplicación JavaScript.
- Permite almacenar, buscar e importar componentes desde un registro OCI, ofreciendo una experiencia similar a npm/NuGet/crates.io.
- Despliegue selectivo - compilar una vez y desplegar de forma selectiva
- Algunos componentes de una aplicación Spin pueden ejecutarse localmente o a través de SpinKube.
- Con la bandera
spin up --component-id se puede especificar qué componente ejecutar, abriendo nuevos escenarios donde los ingenieros de plataforma pueden ejecutar componentes de forma selectiva en nodos que cumplan requisitos específicos.
- Integración profunda con el estándar WASI
- El proyecto Spin busca contribuir a las APIs de WASI e integrarlas en Spin para satisfacer las necesidades de la comunidad.
- WASI Key-Value y la API WASI Config cuentan con soporte oficial en Spin.
- Integración con OpenTelemetry (OTel) - observabilidad incluida
- Spin 3.0 ofrece soporte oficial para observabilidad con OpenTelemetry (OTel), lo que permite integrarse con herramientas como Grafana, Jaegar y Prometheus.
- El plugin
spin otel facilita la configuración del stack de observabilidad.
- Spin Factors - refactorización importante del runtime
- La estructura interna de Spin fue ampliamente refactorizada con una funcionalidad llamada Spin Factors para reforzar la modularidad.
- Ahora es más fácil extender el runtime de Spin, aunque puede requerir hacer fork del proyecto.
- Demo - aprovechando Spin 3.0
- Se muestra un ejemplo de cómo aprovechar la función de dependencias de componentes de Spin 3.0 para crear un componente de transformación de imágenes en Rust y usarlo como dependencia desde un componente JavaScript/TypeScript.
- Con el plugin
spin deps, se pueden publicar componentes en un registro OCI y consumirlos desde componentes Wasm escritos en otros lenguajes.
- Estado del ecosistema
- Están apareciendo varios plugins de CLI y de triggers, y también hay un nuevo lanzamiento del proyecto SpinKube.
- Se añadieron nuevas funciones, incluido el despliegue selectivo.
1 comentarios
Parece que OTel ya es el valor predeterminado.