Antonio Fumero
I+D. Todo se puede solucionar con una cerveza fría.
Si lo sé, no invento Docker
No es una afirmación mía, sino la interpretación, fuera de contexto, de un Tweet de Solomon Hykes hace ya unos años en referencia a las bondades de Web Assembly, la tecnología que nos trae hoy aquí.
“If WASM+WASI existed in 2008, we wouldn't have needed to create Docker. That's how important it is. Webassembly on the server is the future of computing. A standardized system interface was the missing link. Let's hope WASI is up to the task!”
WASM
WebAssembly o WASM nace como un estándar abierto para un formato de binario (realmente bytecode) portable. Está inicialmente diseñado como formato destino para la compilación de C/C++, aunque su desarrollo lo ha llevado a aceptar otros lenguajes, como Rust o Go… o lo que se tercie. Está pensado para una compilación AOT o JIT; aunque también la vale con un intérprete.
El objetivo inicial era el navegador, buscando un mayor rendimiento del que habitualmente obtenemos con Javascript; si bien lo que nos trae aquí es su desarrollo posterior más allá del navegador web y las máquinas virtuales de Javascript (e.g. node.js). Es ahí donde seguridad y portabilidad se convierten en sus mayores atributos, complementando ese rendimiento casi nativo que nos ofrece el formato de bajo nivel de los módulos WASM.
WASM+WASI
Hace casi dos años que la W3C se convirtió en recomendación (WebAssembly Core Specification). Después de eso, fue Mozilla la que convirtió su WebAssembly System Interface (WASI) en el siguiente gran paso para el hombre blanco, una interfaz portable, potencialmente, a cualquier sistema, con funcionalidades POSIX y seguridad: el eslabón perdido para Solomon Hykes. A finales de 2019 nacía Bytecode Alliance, inicialmente impulsada por Mozilla, Fastly, Intel y Red Hat y comprometida con el desarrollo de un ecosistema basado en WASM para todo tipo de plataformas.
Hoy por hoy, lo que parece realmente más prometedor es el uso de WASM+WASI en entornos no-web, en servidores para despliegues de capacidad perimetral en la nube (Edge), dispositivos de IoT, aplicaciones móviles o de escritorio, etc.
La pieza clave para llevar WASM más allá de los navegadores y el ámbito del desarrollo web es, precisamente, WASI, que es lo que realmente nos va a permitir escribir y compilar nuestro código para un solo sistema operativo, virtual; pero uno solo.
Trabajos recientes relativos al uso de “contenedores” WASM para Edge Computing sobre dispositivos con capacidades hardware limitadas son la base para apoyar, por ejemplo, el despliegue de un meta-sistema-operativo para orquestar nuestras aplicaciones IoT extremo-a-extremo balanceando la capacidad que vamos a necesitar desplegar en el dispositivo, en los elementos perimetrales o en la nube (Device/Edge/Cloud Computing).
Acostumbrados a montar nuestros pipelines en la nube y orquestar nuestros desarrollos ‘Cloud Native’ a base de contenedores que gestionamos con las metáforas del estándar de facto que es k8s, necesitamos poder seguir haciéndolo con esos “contenedores” en forma de módulos WASM. Para eso han aparecido herramientas como Krustlet, que permiten la orquestación de ese tipo de elementos -necesarios para evitar las limitaciones de Docker u otros entornos de ejecución similares- sobre Kubernetes; además de que tenemos proyectos como wasmcloud dentro de la CNCF, dando alas a este tipo de tecnología.
¿Y tú? ¿Has trabajado con WASM más allá del ámbito propio del desarrollo web? ¿Tiene futuro en el escenario ‘Cloud Native’ basado en la orquestación de contenedores?
e-Fumérides
El día a día en la Red da para mucho; pero mi día, como el tuyo solo tiene 24 horas. Si bien dormir está sobrevalorado, sabemos que tu tiempo es extremadamente valioso, de tal manera que hemos dedicado parte del nuestro a destilar algunas de las claves de una variedad de conceptos, tendencias, ideas o noticias que conforman la realidad tecnológica y socioeconómica de nuestro entorno empresarial. Huelga decir que las opiniones vertidas en estos breves artículos, así como las responsabilidades que de ellas se deriven, pertenecen, exclusivamente, a su autor.
Otros artículos
GitLab recibe novedades y mejora su asociación con Google Cloud
GitLab continúa mejorando y añadiendo nuevas características para satisfacer las necesidades de sus usuarios.
Edosoft formará parte de SecBluRed, un proyecto destinado a revolucionar la ciberseguridad
MTP, Edosoft, TSK y OPEN CANARIAS participan en un proyecto que busca promover e impulsar la industria española.
¿Qué es el programa Innovadores de Google Cloud?
El programa Innovadores de Google permite a los usuarios capacitarse y contribuir a la comunidad con una ingente cantidad de contenidos.
Laude Canarias participa en el Taller de Innovación abierta impulsado por IAT Marino-Marítima
Este taller busca potenciar las conexiones entre corporaciones y Startups en el serctor marítimo.
Laude participa en el #OktoberTech 2023, te contamos todo lo que debes saber
Será un Webinar online con formato de mesa de debate sobre la tecnología 5G y sus aplicaciones.