Por último, pero no menos importante, encuentras entornos de ejecución de WASM oficiales que te permiten ejecutar este WebAssembly con un enfoque en la velocidad y la seguridad y soporte de configuración y WASI sin tener que re-implementar todo manualmente en tu entorno de Node.js. Por ejemplo, en Edgy, usamos un WASM time, que está diseñado y desarrollado por la Bytecode Alliance. Así que no hay organizaciones con fines de lucro. Están trabajando en todo, compiladores, entornos de ejecución, herramientas y bibliotecas para WebAssembly. Están apoyados por muchas organizaciones grandes, famosas y populares, desde los proveedores de nube hasta los proveedores de Edge.
Muchas organizaciones y productos tienen interés en desarrollar y mejorar el panorama de WebAssembly. Así que encuentras muchas caras familiares aquí. Consulta el sitio web. Estoy tratando de compartir muchos enlaces útiles para que tú puedas profundizar un poco más por ti mismo. Y luego el WASM más Edge, creo que una de las mayores ventajas del Edge en comparación con un diseño típico de nube es que tu código se ejecuta de forma nativa en cientos y cientos de ubicaciones de Edge. Y esa es una gran diferencia en comparación con la nube.
Por lo general, una arquitectura de nube comienza como una aplicación centralizada, incluso monolítica, que se ejecuta en un solo centro de datos, si tienes suerte, en dos o tres zonas de disponibilidad dentro de una región. Incluso si estás ejecutando en AWS Lambda, es un servicio regional. Se ejecuta en un montón de zonas de disponibilidad dentro de una región de AWS. Y eso es bastante conveniente. En la mayoría de los casos, no necesitas más que eso. Pero especialmente si estás construyendo un sitio web o un producto con una audiencia global, rápidamente terminas involucrando algún tipo de CDN, ya sea para caché, para distribuir contenido, para agregar lógica personalizada y para hacer todas estas cosas lo más cerca posible de tus usuarios finales, porque tienes una audiencia global.
Bueno, con la computación en el Edge, todas estas cosas suceden automáticamente, y tu aplicación de Edge está distribuida globalmente en unos pocos clics. Así que otra cosa a tener en cuenta es que hay un intercambio justo cuando se trata de recursos. Por lo general, en el Edge, tienes menos potencia de cómputo, tienes menos recursos, en comparación con una máquina virtual, un contenedor o una función serverless. Pero también, las cosas necesitan suceder realmente, realmente rápido, porque a menudo tu aplicación de Edge se ejecuta justo antes o después de cada solicitud HTTP, así que estás añadiendo latencia a cada HTML o cada página o cada solicitud API. Así que normalmente, quieres ejecutar tu lógica de Edge en menos de 5 o 10 milisegundos, y eso es realmente rápido.
Así que, aunque es cierto que algunos proveedores de Edge o CDN están tratando de hacer esto menos problemático, sabes, la mayoría de las implementaciones de Edge necesitan ser conscientes de estas limitaciones, porque literalmente estás añadiendo latencia a cada solicitud si no tienes cuidado. Así que, por ejemplo, Bunny.net anunció recientemente sus Magic Containers hace unas semanas, y Akamai también parece estar impulsando su Managed Container Service, así que hay formas de ejecutar contenedores en el Edge que están surgiendo, así que échales un vistazo también. Pero en general, si sigues el camino tradicional del Edge, ejecutas tus aplicaciones como una simple aplicación de Edge.
Así que si recuerdas los beneficios clave de WASM que analizamos, rendimiento nativo, inicialización ligera, sandboxing seguro, estos son geniales para ejecutar WASM en el Edge, porque queremos ejecutar lo más rápido posible en unos pocos milisegundos. No podemos permitirnos segundos de tiempo de inicio para nuestros módulos WASM, y eso es genial, porque no necesitamos hacerlo, y también queremos eventualmente poder ejecutar código no confiable en el Edge, sabes, limitando el acceso al sistema de archivos de red y así sucesivamente. Así que WASM es bastante interesante si lo que estás tratando de hacer es similar a lo que estamos tratando de hacer en Edge, y por eso elegimos estas tecnologías, sabes, es una combinación interesante.
Así que en resumen, estamos tratando de construir una plataforma para servicios a nivel de aplicación impulsados por WebAssembly y computación en el Edge. Así que el servicio central en el que hemos estado trabajando se centra en análisis web y recolección de datos, y el objetivo final es permitir que nuestros clientes transformen los típicos SDKs pesados del lado del cliente como Google Analytics, Segment, los SDKs de Amplitude en componentes WASM que se ejecutan incluso antes de que la página se cargue en el navegador.
Comments