10 puntos por GN⁺ 2024-11-15 | 1 comentarios | Compartir por WhatsApp
  • 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

 
ragingwind 2024-11-15

Parece que OTel ya es el valor predeterminado.