Microsoft refuerza sus ambiciones en el ámbito de la computación sin servidor con una nueva versión de su host de micro-VMs que ejecuta cargas de trabajo WebAssembly.
Hyperlight Wasm: la evolución de la computación sin servidor
Cuando hablé por primera vez sobre Hyperlight, el hipervisor minimalista de Microsoft, especulé que podría tener un papel como alternativa basada en WebAssembly a herramientas de computación sin servidor como Azure Functions, utilizando Kubernetes como host.
No fue sorprendente cuando Microsoft anunció un nuevo host sin sistema operativo para ejecutar código WebAssembly basado en Hyperlight.
Velocidad y compatibilidad con múltiples lenguajes
Hyperlight Wasm se construye sobre dos características clave de Hyperlight que Microsoft ha demostrado en los últimos meses:
- Velocidad: Hyperlight es extremadamente rápido. Microsoft mostró esta velocidad en una demostración en KubeCon North America, donde un servidor web basado en Rust ejecutaba múltiples funciones en micro VMs, levantando nuevas micro VMs o reutilizando las existentes con tiempos de respuesta en microsegundos.
- Compatibilidad con múltiples lenguajes: Aunque Hyperlight está escrito en Rust, puede alojar aplicaciones escritas en otros lenguajes. Microsoft demostró esto con una aplicación de interpretación de JavaScript escrita en C.
Estas dos demostraciones resaltan dos requisitos esenciales para un host de computación sin servidor: la capacidad de responder rápidamente a solicitudes, incluso desde hosts fríos, y la habilidad de ejecutar múltiples entornos de programación.
¿Qué significa trabajar con Hyperlight Wasm?
Es importante recordar que Hyperlight Wasm es un host de máquinas virtuales (VM). Para trabajar con él, necesitarás escribir el código necesario para cargar las aplicaciones huéspedes y ejecutar la VM de Hyperlight.
Aunque para los proveedores de nube a gran escala esto puede ser útil, la mayoría de nosotros necesitará esperar a que surjan nuevos frameworks que faciliten la integración de Hyperlight en nuestras propias aplicaciones.
Además, la compatibilidad sigue siendo un desafío, ya que Hyperlight no expone todas las funciones que esperaríamos de un sistema operativo. Solo proporciona una CPU virtual, algo de memoria y una API básica.
Aquí es donde entra el uso de WASI (WebAssembly System Interface) que simplifica la abstracción y permite ejecutar aplicaciones en Hyperlight sin tener que preocuparse por las diferencias de plataformas.
¿Por qué WebAssembly? ♂️
WebAssembly (Wasm) permite que el código se ejecute de manera eficiente y segura en diferentes entornos. Con WebAssembly, no necesitas tener un entorno de Hyperlight corriendo localmente para desarrollar y probar tu código.
Cualquier entorno compatible con WASI, como Spin o wasmCloud, será suficiente para ejecutar tu código y simular cómo funcionará en Hyperlight.
Además, Wasm expande significativamente el rango de lenguajes compatibles con Hyperlight, permitiendo ejecutar tanto lenguajes compilados como JavaScript.
Este soporte amplía las capacidades del micro VM, aunque es necesario empaquetar el runtime junto con el código para que funcione de manera óptima.
Hacia un futuro sin servidor con Hyperlight ️
Microsoft está apostando por un futuro de computación sin servidor en Azure, y herramientas como Hyperlight Wasm serán componentes clave en su infraestructura.
A medida que este tipo de tecnologías evoluciona, Hyperlight Wasm mejorará la rapidez de ejecución, la escalabilidad y la eficiencia de los recursos.
El uso de WebAssembly no solo hace que Hyperlight sea independiente del lenguaje, sino también de la arquitectura y permitiendo que aplicaciones desarrolladas en arquitecturas x64 puedan ejecutarse en Arm64, garantizando portabilidad.
Cómo empezar con Hyperlight Wasm
Requisitos:
– Rust (versión 1.82.0 del toolchain)
– Just command runner
– GitHub CLI
– Virtualización habilitada (en sistemas Windows y Linux)
Una vez que hayas instalado estos requisitos, puedes construir la implementación de Hyperlight Wasm utilizando el script de construcción proporcionado y comenzar a experimentar con aplicaciones en la plataforma.
El futuro de la computación sin servidor
A medida que el WebAssembly sigue ganando tracción, la comunidad está trabajando en una especificación para un modelo de componentes que permitirá compartir fácilmente binarios y bibliotecas, mejorando la interoperabilidad entre diferentes aplicaciones.
Hyperlight Wasm ofrece la opción de compilar una rama de desarrollo con soporte para estos componentes WebAssembly, lo que probablemente será una base para futuras versiones.
Además, Hyperlight Wasm ofrece un entorno muy seguro. Al usar Wasm como runtime, se proporciona una capa de seguridad adicional, ya que el código está aislado de otras aplicaciones y es más difícil de subvertir.
Esto convierte a Hyperlight Wasm en una plataforma atractiva para ejecutar servicios sin servidor, proporcionando aislamiento entre la aplicación y el sistema operativo subyacente.
Conclusión
En resumen, Hyperlight Wasm está marcando el camino hacia el futuro de la computación sin servidor, ofreciendo una plataforma rápida, segura y escalable para ejecutar aplicaciones en micro VMs.
Aunque aún está en desarrollo, su potencial es evidente y podría jugar un papel fundamental en el futuro de los servicios basados en WebAssembly y la infraestructura de Azure.