La necesidad de equilibrar la potencia de cómputo con la latencia ha hecho de la informática de borde un tema candente, alimentado en parte por la aparición del 5G Edge, que promete una latencia ultra baja. La latencia de 10 ms del 5G Edge <es fundamental para habilitar la realidad virtual, el Internet de las cosas (IoT) y los vehículos autónomos. Sin la computación de borde, estas funcionalidades se verían seriamente limitadas.
Mientras que 5G Edge está avanzando rápidamente, las redes de entrega de contenido (CDN) han habilitado casos de uso de cómputo de borde durante muchos años, ofreciendo una capacidad de red masiva y solo milisegundos de latencia a prácticamente todos los dispositivos conectados y usuarios de Internet del planeta. Las CDN están bien establecidas y han demostrado ser altamente eficaces para entregar grandes flujos de contenido a escala. Verizon Media, ahora Edgio, Platform, por ejemplo, ofrece más de 250 Tbps de capacidad de salida y se compara profundamente con más de 7.000 redes de última milla, proporcionando escala global, rendimiento y seguridad.
Esto coloca al CDN Edge en el asiento del conductor como una forma altamente rentable de mover aplicaciones y cargas de trabajo desde la nube y más cerca de los usuarios finales. Los largos viajes de ida y vuelta a los servidores principales pueden dar lugar a experiencias de usuario lentas y, en última instancia, limita el tipo de aplicaciones desarrolladas. Enviar el procesamiento de aplicaciones al CDN Edge abre nuevas oportunidades para agregar funcionalidad y crear mejores experiencias de usuario.
El aumento de las aplicaciones de borde
Pero, ¿cuál es la mejor manera de desarrollar aplicaciones en el borde? A pesar del incesante zumbido, la computación de borde todavía está muy en las primeras etapas de desarrollo. Como tal, el futuro de la computación de borde “mainstream” probablemente será muy diferente de lo que parece hoy. Un cambio significativo que esperamos es la aparición de lo que llamamos “Aplicaciones Edge”. Estas son funciones altamente optimizadas, totalmente probadas y preintegradas integradas en la CDN que se pueden habilitar de forma rápida y sencilla. Estos funcionan junto con nuestra capacidad Functions@Edge, que permite a los desarrolladores escribir y ejecutar su código en el CDN Edge, lo que brinda a los clientes un amplio espectro de posibles capacidades de computación.
Las aplicaciones de Edgio están diseñadas para resolver casos de uso comunes como:
- Redirecciones dinámicas
- Optimización de imagen
- El lado del borde incluye (ESI)
- Priorización de visitantes
Las aplicaciones de Edgio reducen la barrera de la computación periférica al dar a los clientes acceso a herramientas de computación periférica sin necesidad de desarrollar y soportar código.
A pesar de que las aplicaciones de computación de borde específicas pueden variar considerablemente en términos de funcionalidad general o industria objetivo, muchos requisitos subyacentes son casi idénticos de una aplicación a otra. Estas similitudes abarcan protocolos y flujos de trabajo estandarizados. Edgio Applications aprovecha este hecho para ayudar a simplificar la implementación y acelerar la adopción de capacidades de computación perimetral.
Como se muestra a la izquierda de la figura a continuación, los clientes de CDN pueden interactuar con nuestras Aplicaciones a través de una configuración simple. Utilizan nuestra API de Motor de reglas para habilitar o desactivar una aplicación en particular. El lado derecho de la figura a continuación muestra cómo se crean y actualizan las aplicaciones a través de nuestra canalización CI/CD. Tras el desarrollo inicial, se añaden continuamente nuevas características y funciones a través de un bucle de retroalimentación robusto. En este modelo, podemos ver cómo todo el mundo en toda la red utiliza la aplicación. Podemos usar esta entrada para corregir errores, agregar características clave y abordar problemas de seguridad. Los clientes renuncian a cierto control pero obtienen un modelo de implementación simplificado y no se ven agobiados con la construcción y el mantenimiento de tuberías de CI/CD para cada función. Esto es particularmente valioso para funciones no altamente diferenciadas pero necesarias en varios casos de uso.
Gráfico 1. El modelo original de desarrollo de aplicaciones Verizon Media Edge.
Esto contrasta con el modelo Functions@Edge, que se muestra a continuación, donde cada cliente es responsable de su desarrollo. A medida que se desarrollan nuevas funciones, se implementan en el CDN Edge utilizando la API Functions@Edge. Si bien esto proporciona más control, traslada la carga de desarrollo al usuario. Corresponde a cada desarrollador/organización rastrear informes de errores, recopilar solicitudes de características e implementar nuevas versiones y parches para su función de borde particular. Las organizaciones que necesitan funciones personalizadas o únicas que no son comunes a varios clientes o que son altamente especializadas deben usar Functions@Edge para desarrollar la funcionalidad que necesitan. Pero para los casos de uso de computación de borde comunes, Edgio Applications puede llevarlos internamente y ofrecerlos como servicios administrados.
Gráfico 2. Modelo de desarrollo Functions@Edge.
Edgio Aplicaciones Ejemplo: Optimización de imágenes
El proceso que utilizamos para determinar qué aplicaciones de borde desarrollar comienza con la aportación de nuestros clientes. Múltiples solicitudes de clientes para la misma característica son un buen predictor de su popularidad y valor para una amplia sección transversal de organizaciones. Un ejemplo que aparece con frecuencia es la optimización de imágenes, una aplicación que puede cambiar el tamaño y optimizar las imágenes en nombre de los clientes de CDN para sus clientes (usuarios de Internet).
La optimización de imágenes se ha convertido en una aplicación importante para reducir los tiempos de carga de las páginas web que contienen imágenes. En lugar de almacenar versiones de imágenes en la aplicación o en el almacenamiento de origen, una aplicación de optimización de imágenes se integra en el manejo de solicitudes de la CDN para transformar sin problemas las imágenes a medida que se sirven, eliminando el costo de almacenamiento y mejorando los tiempos de carga del cliente. Los clientes utilizan el motor de reglas de Verizon Media Platform para proporcionar criterios coincidentes como la extensión de URL (por ejemplo, jpg), el host o la ruta de URL para acceder a una aplicación de borde de optimización de imágenes.
Al principio, un optimizador de imágenes puede parecer un esfuerzo de desarrollo simple, pero a medida que cavas debajo de la superficie, descubrirás una complejidad considerable. Un servidor de optimización de imagen de borde debe manejar el cambio de tamaño básico de imagen y varias otras opciones diseñadas para ayudar con el formato dinámico de imagen. Las características compatibles en una aplicación de optimización de imagen de borde idealmente deben incluir un amplio conjunto de funciones tales como:
- Ancho básico y redimensionamiento de altura
- Conversiones de formato
- Reducción de calidad
- Manejo de DPR (proporción de píxeles del dispositivo)
- Auto-dimensionamiento a través de una base de datos de dispositivos
- Recorte y acolchado
- Ajuste de imagen a una región o dentro del lienzo con color de fondo opcional
- Rotar y desenfocar imágenes
- Cuantificar los tamaños de imagen de forma lineal o logarítmica para reducir las variaciones almacenadas en caché
- Eliminación automática de metadatos
La aplicación de optimización de imágenes debe manejar sugerencias de cliente para páginas responsivas si está habilitada a través del motor de reglas y optimizada para el almacenamiento en caché de varios niveles. La aplicación también debe aprovechar la funcionalidad de caché CDN, como un escudo de origen, que almacena en caché el contenido para minimizar las solicitudes al servidor de origen. Como se muestra en la imagen a continuación, los resultados de transformación se pueden almacenar en caché en un pop de escudo y luego servir y almacenar en caché en los pop de borde para reducir la latencia y el número de invocaciones de la aplicación.
Gráfico 3. Un flujo de solicitudes optimizado minimiza las solicitudes al servidor de origen.
Las solicitudes de optimización de imágenes están diseñadas para aprovechar el almacenamiento en caché de CDN. Las solicitudes entrantes se dirigen al nodo de caché adecuado utilizando un hashing consistente para optimizar la localización de la caché. El primer nodo de caché CDN que recibe una solicitud aplica lógica en dos fases. En la primera fase, el nodo de caché calcula la clave de caché y la busca en la caché. Si el archivo no está presente en la caché, entonces extraería la imagen base en el caso de la optimización de la imagen. La imagen base devuelta en la respuesta se optimizaría sobre la marcha a medida que se almacena en caché y se sirve de vuelta al cliente.
Tal funcionalidad es un desafío para los desarrolladores a optimizar completamente, como se describe aquí, al construir sus funciones de borde, ofreciendo un caso convincente de por qué esperamos que las aplicaciones de borde jueguen un papel tan importante en la computación de borde en el futuro.
Conclusión
La llegada de la 5G ha traído el auge de la computación de borde y el reconocimiento de que empujar las cargas de procesamiento hacia el borde puede reducir la latencia en comparación con la nube, mejorar la experiencia del cliente y abrir nuevas categorías de aplicaciones. Con su latencia inferior a 10 ms, el 5G Edge es una necesidad para la realidad virtual o los vehículos autónomos. Para la mayoría de las demás aplicaciones, las CDN están más establecidas que la 5G y son solo unos pocos milisegundos más lentas para todos los usuarios y dispositivos en el planeta que la 5G Edge. A medida que las empresas y los desarrolladores de software llevan más cargas de trabajo de cómputo al borde, la CDN está adquiriendo una importancia adicional más allá de su función tradicional de entrega de contenido. Esto abre nuevas aplicaciones y servicios que serían poco prácticos solo en la nube debido a la latencia involucrada con la computación en la nube.
Una forma de reducir las barreras para adoptar la computación de borde es con Edgio Applications. Este enfoque permite a las organizaciones acceder a una aplicación en particular, como la optimización de imágenes, a través de una configuración de reglas simple en lugar de un esfuerzo de desarrollo a gran escala. Las aplicaciones de Edgio se benefician de un bucle de retroalimentación enriquecido a medida que más y más organizaciones en todo el mundo aprovechan el servicio, que creemos que desempeñará un papel importante en la adopción de la informática de vanguardia.
Ya se trate de una mejora gradual en la experiencia del cliente o la introducción de aplicaciones innovadoras, una cosa está clara: Llevar más funcionalidad de cómputo al borde cambiará fundamentalmente la forma en que las aplicaciones se desarrollan e implementan para mejor.