¿Qué es WebAssembly?
WebAssembly (también conocido como WASM) es un lenguaje de programación de bajo nivel similar a Assembly que permite que el código escrito en lenguajes compilados como C, C++, Go, Rust y muchos otros se ejecute a una velocidad casi nativa en la red. WebAssembly ofrece algunas características clave para el desarrollo web, tales como:
- Es rápido y eficiente, ya que está diseñado para ser decodificado y ejecutado en formato binario;
- Es seguro, pues se ejecuta en entornos sandbox;
- Es abierto y depurable, ya que está disponible en formato de texto;
- Es parte de la plataforma web abierta1.
Históricamente, Javascript ha sido el lenguaje preferido en el desarrollo web. Sin embargo, cuando se trata de implementar casos de uso más recientes, que involucran computación intensiva como RA/RV y juegos 3D, Javascript enfrenta importantes problemas de desempeño.
Por ello, WebAssembly es una solución perfecta para que estos casos de uso se ejecuten directamente en la web. Pero es importante tener en cuenta que WASM no es un sustituto de Javascript, sino que lo complementa. A partir de ahora, los desarrolladores pueden innovar más rápido, al escribir aplicaciones sofisticadas y aprovechar las ventajas de estos dos lenguajes.
Moderniza tus aplicaciones con WebAssembly
La economía hiperconectada de hoy exige experiencias digitales superiores y procesos de innovación más rápidos. En este escenario, la solución perfecta es ejecutar aplicaciones en una plataforma de edge computing moderna y distribuida.
Sin embargo, las aplicaciones más sofisticadas están escritas en lenguajes compilados para ejecutarse en infraestructuras heredadas, como las de cloud u on-premise. Por lo tanto, no es posible ejecutar estas aplicaciones en el edge, el cual admite lenguajes interpretados generalmente.
El problema con el que se encuentran a menudo los desarrolladores es la dificultad de saber cómo modernizar aplicaciones heredadas rápidamente para que se ejecuten en plataformas de edge computing.
Una opción es reescribir todas las aplicaciones en Javascript. Pero este enfoque es arriesgado, ya que puede acarrear costos significativos en términos de tiempo, dinero y productividad del desarrollador. Además, como se mencionó anteriormente, muchas de estas aplicaciones ni siquiera se pueden reescribir en Javascript sin sacrificar la velocidad y la seguridad.
WebAssembly ofrece una alternativa mucho mejor, más simple y rápida. Con WASM, solo tienes que compilar tu código en el edge sin tener que volver a escribirlo en un nuevo lenguaje. Este proceso de modernización se puede acelerar aún más mediante la implementación de las aplicaciones en la Plataforma de Edge Computing de Azion, plataforma NoOps que ofrece un desempeño y una seguridad extremadamente altos.
Cómo usar WebAssembly en la Plataforma de Edge Computing de Azion
Veamos un caso práctico que muestra cómo una aplicación heredada puede modernizarse fácilmente con el uso de WASM en la plataforma de Azion.
El manejo de imágenes es un componente fundamental de las aplicaciones de e-commerce. Se necesita una gran potencia de procesamiento para distribuir imágenes con la calidad adecuada y que cuiden la experiencia del usuario mientras mejoran el desempeño y reducen el costo del ancho de banda.
Piensa en un código de redimensionamiento de imagen escrito en C para ejecutarse en infraestructuras heredadas, como en el caso de un centro de datos. Este código, diseñado para ejecutarse en pocos entornos, invariablemente enfrentará problemas de desempeño y escalabilidad. Para resolverlos, será necesario ejecutarlo en una plataforma de edge computing hiperdistribuida, donde las imágenes se procesan más cerca del usuario. Así, en lugar de reescribirlo en Javascript —lo que puede llevar meses— puedes usar WASM y modernizarlo en minutos, al dejarlo listo para funcionar en el edge.
Si quieres ejecutarlo en la Plataforma de Edge Computing de Azion, deberás primero compilar el código original en formato WASM y luego convertirlo a bytes. Para ello, puedes usar un script de Shell como este:
od -An -v -t uC <YOUR_WASM_CODE>.wasm \
| sed -e "s/^[[:blank:]]*//g;s/[[:blank:]]*$//g" \
-e "s/[[:blank:]][[:blank:]]*/\n/g" \
| tr '\n' ',' \
| sed -e "s/,*$//g" > <BYTES_RESULT>.txt
Este paso genera un código de bytes como el siguiente:
Ahora se puede llamar el código WASM directamente desde una función de edge, como verás a continuación (tienes información más detallada sobre las funciones de edge en nuestra documentación):
A partir de ahora, esta función de edge ya se puede implementar y ejecutar en cada una de las edge locations de Azion distribuidas por todo el mundo.
¡Listo! En minutos has ejecutado tu aplicación completamente, con desempeño nativo, directamente al edge de Azion, mejorando su escalabilidad, disponibilidad y seguridad.
Cambiar al Edge nunca ha sido tan simple
En este artículo hemos demostrado cómo la adopción de WebAssembly puede transformar la forma en que puedes crear y ejecutar tus aplicaciones de manera más rápida y efectiva en el edge. Sin embargo, esto es solo una pequeña muestra de lo que puedes hacer con WASM en la Plataforma de Edge Computing de Azion.
Si quieres saber más sobre las posibilidades de WASM para desarrollar funciones de edge consulta nuestra documentación. También puedes registrarte de forma gratuita en nuestra plataforma para probar estas y muchas otras funcionalidades que te ayudarán a potenciar tu negocio creando aplicaciones serverless preparadas para el futuro que viene.
Todas las cuentas nuevas incluyen:
- 300 USD en créditos de servicio válidos durante 12 meses;
- Acceso completo a todos los productos y funcionalidades;
- Implementación de tu primera aplicación de edge en menos de 5 segundos;
- Sesión de onboarding gratuita.
Y sin necesidad de registrar tarjetas de crédito.
¿Tienes alguna duda? Habla con uno de nuestros expertos. Síguenos también en LinkedIn, Instagram y Youtube para obtener más información sobre edge computing y nuestros productos.