En un artículo publicado previamente, anunciamos el acceso anticipado a Edge Functions de Azion, un nuevo producto para construir y ejecutar funciones serverless basadas en eventos (event-driven). Después de tres meses, con docenas de casos de uso ya implementados, la versión beta de Edge Functions ahora está disponible para todos nuestros clientes, con soporte a JavaScript.
Edge Functions te permite construir aplicaciones edge-native o agregar funcionalidades a tus aplicaciones de origen con funciones basadas en eventos. Al usar la API de Runtime (entorno de ejecución) de JavaScript, puedes escribir reglas de solicitud y respuesta personalizadas o seleccionar funciones predeterminadas, como pruebas A/B, tokens de seguridad (códigos de seguridad) o la función de serverless de redirección masiva de Azion.
Cuando se activa una función, se ejecuta en milisegundos en el edge node más cercano al usuario final. Edge Functions se ejecuta en nuestra edge network global y escala de forma automática, sin necesidad de gestionar o proveer recursos. En cambio, solo pagas cuando se ejecuta tu código, lo que elimina costos iniciales y evita el desaprovechamiento de recursos de servidores que son aprovisionados en exceso.
Con Edge Functions, nuestros clientes pueden:
- construir aplicaciones de latencia ultrabaja;
- redirigir el tráfico de sus servidores de origen;
- dividir aplicaciones monolíticas heredadas;
- lanzar rápidamente nuevas funcionalidades;
- agregar funcionalidades de terceros a las aplicaciones;
- personalizar el suministro de contenido.
Supera los desafíos de serverless
A pesar de la simplicidad y la rentabilidad, las funciones serverless no están exentas de desafíos: desde un desempeño impredecible y alta latencia de las soluciones basadas en contenedores hasta problemas de seguridad, de monitoreo y vendor lock-in.
En Azion, hemos trabajado arduamente para desarrollar una solución que brinde los beneficios del modelo serveless mientras proporciona:
- Desempeño: a diferencia de AWS Lambda y otras soluciones que se ejecutan en contenedores, Edge Functions no tiene arranques en frío (cold starts), lo que garantiza un desempeño consistente y baja latencia.
- Seguridad: Azion utiliza la clase isolates (instancia aislada de V8 engine) para crear una sandbox segura para cada función, lo que garantiza que cada una de ellas esté aislada mientras se ejecuta en un ambiente multitenant.
- Monitoreo: acceso a información en tiempo real sobre el uso y desempeño por medio de Real-Time Metrics o con configuración de registro a través de Fetch API.
- Portabilidad: Edge Functions es abierto y extensible para evitar el vendor lock-in; además, está escrito en JavaScript, el lenguaje de programación más popular en el mundo.
Beneficios
Edge Functions fue construido con Azion Cells, nuestra tecnología central, diseñada para un bajo consumo de memoria, confiabilidad y velocidad. Azion Cells suministra con velocidad superior al ejecutar JavaScript sin necesidad de activar un proceso node.js. También está escrito en Rust, un lenguaje de programación que protege contra errores de memoria y está optimizado para aceleración y uso de recursos.
Debido a que es multitenant y se ejecuta sobre V8, minimiza el uso de recursos y no requiere que los desarrolladores especifiquen de antemano cuánta memoria deben asignar a las funciones. Como resultado, Edge Functions es más rápido y más rentable, además de usar menos recursos que AWS Lambda y otras soluciones basadas en la nube.
Funcionalidades
Además de sus otras características y beneficios, Edge Functions incluye un número de funcionalidades diseñadas para que sea lo más fácil de usar y flexible posible:
- ECMAScript: implementamos el estilo estándar JavaScript (JavaScript Standard Style) de ECMA, lo que garantiza la interoperabilidad con diferentes plataformas.
- Promises con Async/Await: Promises (valores futuros) simplifican la secuenciación de las operaciones asíncronas, mientras que async/await facilita la lectura y escritura de código asíncrono.
- Fetch API: proporciona una definición genérica de solicitud y respuesta de objetos para que puedan reutilizarse cuando y donde se necesiten en el futuro. Implementamos Fetch API “tal cual” con los estándares de MDN (Mozilla Developer Network web DOCS, documentos web de la red de desarrolladores de Mozilla).
Empieza a usar Edge Functions
La versión beta de Edge Functions está ahora disponible para todos los clientes. En este momento, recomendamos ejecutar Edge Functions con cargas de trabajo (workloads) que no sean críticas. Visita la página del producto, entra en contacto con ventas o crea una cuenta gratis.