Wasmer 4.0 llega con la integración de Wasmer Edge, nueva arquitectura de ejecución y mas
Hace pocos días se dio a conocer el lanzamiento de la nueva versión del proyecto Wasmer 4.0, en la cual se han añadido diversos cambios de los cuales se destaca por ejemplo la nueva arquitectura que permite conectar corredores personalizados, la estabilización de WASI, unificación de WAPM en Wasmer e integración de Wasmer Edge.
Para quienes desconocen de Wasmer, deben saber que es un runtime para ejecutar módulos WebAssembly que se pueden usar para crear aplicaciones universales que se pueden ejecutar en diferentes sistemas operativos, así como para la ejecución aislada de código no confiable.
La capacidad de ejecutar la misma aplicación en diferentes plataformas se proporciona al compilar el código en un código intermedio WebAssembly de bajo nivel que puede ejecutarse en cualquier sistema operativo o integrarse en programas en otros lenguajes de programación. Los programas son contenedores livianos que ejecutan pseudocódigo WebAssembly. Estos contenedores no están vinculados al sistema operativo y pueden incluir código escrito originalmente en cualquier lenguaje de programación.
Principales novedades de Wasmer 4.0
En esta nueva versión que se presenta de Wasmer 4.0, se destaca el soporte integrado para la plataforma de computación en la nube Wasmer Edge, que permite interactuar con Wasmer Edge directamente a través de la CLI de wasmer. Wasmer Edge es una plataforma descentralizada sin servidor que permite ejecutar aplicaciones en otros hosts en la red Edge.
La nueva plataforma combina la asequibilidad de Cloudflare Workers, la simplicidad de Heroku y la funcionalidad de AWS Lambda. La plataforma puede escalar desde un solo servidor hasta grandes clústeres distribuidos. En comparación con Cloudflare Workers y AWS Lambda, las aplicaciones que se ejecutan en Wasmer Edge pueden procesar solicitudes de servicios TCP arbitrarios, ejecutar cualquier aplicación HTTP, ejecutar aplicaciones en el navegador y en un teléfono inteligente.
En este momento, se pueden ejecutar sitios web estáticos, cualquier servidor Rust usando tokio (como Axum), aunque a futuro se planea soportar Flask, Django, WordPress, Ruby on Rails, Node, entre otros.
Otro de los cambios que se destaca de esta nueva versión de Wasmer 4.0, es que se agregó el soporte para la API de WASIX. WASIX es la estabilización a largo plazo y el soporte de WASI ABI existente, además de extensiones de llamada al sistema no invasivas adicionales que completan las brechas que faltan lo suficiente como para permitir que se compilen y utilicen aplicaciones reales, prácticas y útiles ahora. WASI amplía las características para una compatibilidad total con POSIX. Con WASIX, Wasmer puede ejecutar aplicaciones que utilizan subprocesos múltiples, sockets de red, procesos secundarios de bifurcación y otras funciones avanzadas.
Ademas de ello en Wasmer 4.0, tambien podremos encontrar que se ha implementado una nueva arquitectura de ejecución que permite ejecutar cualquier tipo de aplicación en WebAssembly y ampliar la ABI sin lanzar nuevas versiones de tiempo de ejecución. Actualmente, se admiten tres ejecutores: WASIX (compatibilidad con ABI WASIX), Emscripten (ejecutar programas compilados en Emscripten) y WCGI (permite crear scripts CGI en WebAssembly).
Por otra parte, tambien se destaca que la funcionalidad del administrador de paquetes WAPM se ha integrado, con lo cual ahora todos los comandos de la utilidad wapm para publicar y mantener paquetes están integrados en la CLI de wasmer. La finalidad de la integración es disminuir la carga significativa para el desarrollo y tambien que WAPM solo ha sido adoptado por Wasmer.
Finalmente, cabe mencionar que los programas se distribuyen en forma de módulos WebAssembly ordinarios, que se pueden administrar mediante el administrador de paquetes WAPM. Wasmer también está disponible como una biblioteca que se puede usar para incrustar código WebAssembly en programas Rust, C/C++, C#, D, Python, JavaScript, Go, PHP, Ruby, Elixir y Java.
El código del proyecto está escrito en Rust y se distribuye bajo la licencia MIT y puedes consultar más al respecto, en el siguiente enlace.
¿Como instalar Wasmer?
Para los interesados en poder instalar la nueva versión, solo deben de abrir una terminal y en ella deben teclear el siguiente comando:
curl https://get.wasmer.io -sSfL | sh