Lleva la computación al edge con el modelo serverless

Para aprovechar al máximo el poder de la edge computing, las aplicaciones edge-native deben ser capaces de ejecutar la lógica de computación serverless cuando y donde se necesiten.

Rachel Kempf - Editor-in-Chief
Lleva la computación al edge con el modelo serverless

En los últimos años, el modelo serverless y la edge computing han pasado rápidamente al primer plano de muchas discusiones tecnológicas, debido a la amplia adopción de microservicios, el surgimiento del 5G y la demanda cada vez mayor de mejores experiencias de usuario. Sin embargo, a pesar de estas conversaciones y el interés sobre la edge computing, el concepto aún no está claro tanto para los recién llegados como para los profesionales de TI.

Para ayudar a desmitificar este componente crucial de la computación moderna, este artículo analizará en profundidad la edge computing, su relación con el modelo serverless y cómo Edge Application de Azion se compara con otros servicios de cómputo serverless en el mercado.

¿Qué es la edge computing?

Hay una broma común entre profesionales de TI que dice que si le preguntas a una docena de ingenieros qué significa “edge computing”, tendrás una docena de respuestas diferentes. Esta es una de las razones por las que la Linux Foundation creó el LFE State of the Edge, un proyecto que facilita el consenso y la colaboración cruzada en la industria alrededor de la edge computing. Su Open Glossary of Edge Computing define este término como “el suministro de recursos informáticos a los extremos lógicos de una red con el fin de mejorar el desempeño, el costo operacional y la confiabilidad de aplicaciones y servicios”.

Los impulsores del mercado de la edge computing

El reporte State of the Edge de 2020, de LFE, postula a la edge computing como “el tercer acto de Internet”, lo cual se basa en las tendencias hacia la regionalización que comenzaron durante la década de los noventa cuando surgieron las CDN y los data centers regionales como un medio para mejorar la velocidad de suministro y reducir el costo del transporte de datos. La necesidad de más ancho de banda y menor latencia solo ha crecido desde entonces debido a:

  • nuestra vida digital, que incluye trabajo, comunicación, streaming de video y juegos;
  • una explosión del número de dispositivos conectados a Internet, y
  • el uso generalizado de infraestructura cloud y SaaS.

Además, la reciente estandarización comercial de la tecnología 5G, que aprovecha la edge computing para ofrecer un suministro con latencia ultrabaja y el procesamiento en tiempo real de datos de IoT, ha permitido el despliegue de redes 5G comerciales y privadas, al acelerar la adopción de la edge computing.

Como resultado de todos estos acontecimientos, la edge computing se está convirtiendo rápidamente en un inmenso mercado global. De acuerdo con la Worldwide Edge Spending Guide, publicada por IDC el año pasado, el gasto mundial en edge computing alcanzará los 250 000 MUSD en 2024.

¿Cómo la edge computing transformará las aplicaciones?

Para aprovechar al máximo el poder de la edge computing, los servicios y aplicaciones edge-native deben ser capaces de ejecutar procesos cuando y donde se necesiten. Con la serverless computing no hay necesidad de que los usuarios tengan que operar o gestionar infraestructura subyacente, lo que en una arquitectura de red altamente distribuida —como la edge computing— sería casi imposible. Combinar la edge computing y los servicios serverless es la única manera de facilitar a los clientes el uso de los recursos de edge computing de una forma muy fácil, con la misma tecnología altamente innovadora que pone a los líderes del mercado y a los nuevos participantes uno al lado del otro.

Cuando los clientes usan serverless y edge computing pueden construir y ejecutar microservicios o funciones basadas en eventos que son más rápidas, más baratas, más confiables y localmente compatibles. Cada función está diseñada para hacer una sola cosa bien y escalar independientemente de otros procesos en respuesta a los activadores de eventos. Estas funciones pueden ser stateful o stateless y ser capaces de facilitar el escalado bajo demanda para workloads irregulares. Además, la ejecución de código en un runtime edge-native, construido con ese propósito, permite aplicaciones de latencia ultrabaja y una gran cantidad de casos de uso innovadores que posibilitan grandes mejoras en la transformación digital.

Con la computación serverless, las compañías pueden construir y ejecutar funciones con edge computing, pagando solo por los recursos usados. Esto significa que los desarrolladores solo necesitan enfocarse en escribir el código, lo que acelera el lanzamiento de nuevas aplicaciones y funcionalidades. Cuando los workloads de edge computing son requeridos en un dispositivo remoto o una infraestructura on-premises, la orquestación sin intervención se convierte en un componente clave para simplificar cómo los clientes despliegan y gestionan workloads de edge a escala, lo que permite que esos edge nodes altamente distribuidos sean completamente administrados por un panel de control centralizado o API.

Historia de la computación basada en serverless

La llegada de la computación serverless, como se entiende generalmente hoy en día, es un concepto que tiene más de 20 años, pero se hizo popular con la introducción de AWS Lambda en 2014. Aunque la computación serverless es relativamente nueva en popularidad, su aparición puede ser entendida como la culminación de otros desarrollos tecnológicos, incluyendo el surgimiento de nuevos modelos de servicios, como IaaS y PaaS, así como arquitecturas de microservicios.

De IaaS a PaaS a computación serverless

La popularización de la cloud computing ocurrió a mediados de la década de 2000, con el surgimiento de Infrastructure-as-a-Service, o IaaS. Este modelo ofrece recursos de computación virtualizados bajo demanda en Internet y rápidamente ganó popularidad debido a su mayor flexibilidad. Sin embargo, dejaba algunos recursos subutilizados. Como señala este artículo en Communications of the ACM, “desafortunadamente, la carga del escalado se dejó a los desarrolladores y diseñadores de sistemas que usualmente usaban técnicas de aprovisionamiento excesivo para controlar aumentos repentinos en las solicitudes de servicio”.

Poco tiempo después surgió Platform-as-a-Service (PaaS) como una manera de disminuir esas complejidades, lo que proporcionó el sistema operativo, el runtime de ejecución y el middleware. Esta estructura permitió a los ingenieros gestionar sus aplicaciones y sus datos, sin preocuparse por alguna otra cosa.

El modelo PaaS facilitó la configuración del autoescalado, pero, como indicó InfoQ, “inclusive si configuras tu aplicación en PaaS para autoescalar, no podrás hacerlo a nivel de solicitudes individuales”. En contraste, la computación serverless permite que el código se ejecute como funciones efímeras ligeras en respuesta a los activadores de eventos, lo que elimina la necesidad de aprovisionar servidores dedicados.

Como resultado, la computación serverless puede ser vista como una evolución natural de la tendencia hacia una menor complejidad, un uso de recursos más eficiente y servicios pay-as-you-go (pago de acuerdo con el uso).

De aplicaciones monolíticas a microservicios

La cloud computing trajo mayor escalabilidad para las aplicaciones, pero para aprovechar al máximo su costo y eficiencia de recursos se necesitaba un nuevo tipo de arquitectura de aplicaciones: microservicios. Las aplicaciones monolíticas tradicionales son construidas como una unidad única y deben ser escaladas e implementadas como tal, cada una alojada con su propio sistema operativo. De esta manera, toda la aplicación debe ser escalada con el fin de reducir obstáculos, lo que resulta en costos y recursos desperdiciados.

Para ganar más control granular sobre la escalabilidad, las aplicaciones deben ser atomizadas en componentes más pequeños que puedan ser implementados y escalados independientemente. El lanzamiento de Docker en 2013 facilitó este proceso al ofrecer una manera de empaquetar módulos independientes de una aplicación (microservicios), con sus dependencias en unidades ligeramente acopladas que comparten el mismo kernel del sistema operativo.

La computación serverless llevó esta tendencia a otro nivel con la creación de funciones basadas en eventos, las cuales pueden ser inclusive más ligeras, fáciles de implementar y escalar. El modelo serverless es la evolución natural de la computación porque no hay manera de que alguien gestione, manualmente o con herramientas tradicionales, una red altamente distribuida de computadores como la edge computing. También provee una capa de abstracción completa, así las aplicaciones pueden ser desplegadas en cualquier lugar en que se necesiten ejecutar sin tener que preocuparse por la estructura subyacente.

¿En qué se compara Edge Application de Azion con las soluciones estándar de computación serverless?

Edge Application es el servicio de computación serverless de Azion que ofrece la eficiencia, rentabilidad y escalabilidad del modelo serverless con el desempeño y confiabilidad de la edge computing. En combinación con Edge Functions, permite a los desarrolladores ejecutar su propio código en todas nuestras edge locations disponibles globalmente o en sus propias infraestructuras de dispositivos remotos, on-premises o multi-cloud al emplear nuestro Edge Orquestrator.

Debido a nuestro runtime de edge computing construido con esa finalidad y la proximidad de los edge nodes con los usuarios finales, Edge Functions funciona más rápido y con mayor eficiencia de recursos que los servicios de computación serverless, como sus contrapartes tradicionales AWS Lambda, Microsoft Azure y Google Cloud Platform.

Azion Edge Computing versus Serverless Tradicional

La mayor diferencia entre las plataformas tradicionales y las plataformas basadas en el edge es la distribución de la red. Lambda, Azure y GCP están concentradas en data centers masivos separados por grandes distancias geográficas. Aunque estos data centers son grandes y están diseñados para procesar un alto volumen de tráfico y de workloads, les falta la ventaja de la proximidad y la cobertura. Debes elegir un data center en el que deseas ejecutar tus funciones y todos los usuarios se conectarán a esa ubicación exacta, sin importar desde dónde están accediendo.

Así mismo, las plataformas tradicionales tienen la desventaja de ejecutar funciones en contenedores. Los contenedores son una tecnología cloud-native pesada. Consumen más memoria, usan más ciclos de CPU y requieren una complejidad adicional para ejecutar a escala. Y claro, tú estás pagando por esa falta de eficiencia.

A diferencia de la computación serverless basada en contenedores, Edge Functions de Azion usa Azion Cells, nuestro runtime patentado construido sobre las funciones de sandboxing de V8, para mantener cada función segura en un entorno de múltiples inquilinos. Esto no solo facilita un uso más eficiente de recursos que las soluciones basadas en contenedores, sino que también significa que los desarrolladores no tienen que aprovisionar memoria para cada función con antelación.

Además, ejecutar funciones serverless en contenedores da como resultado un desempeño menos confiable. Como los contenedores necesitan servidores dedicados, su flexibilidad se deriva de su capacidad de ser activados o desactivados. Cuando las funciones no han sido invocadas por un tiempo, los proveedores de servicios de computación serverless pueden desactivar el contenedor para conservar recursos, lo que requiere que el contenedor se vuelva a activar la próxima vez que se invoque. Durante momentos pico, esto podría perjudicar fácilmente la experiencia de usuario.

Este proceso de aumento o descenso sumará milisegundos al suministro de respuestas, lo que resulta en un incremento de latencia conocido como un cold start. Si no se ha ejecutado Edge Functions y aún no está en la memoria, solo necesita cargarse desde un disco NVME moderno cuando es solicitado, lo que facilita considerablemente un alto desempeño y confiabilidad, incluso para workloads irregulares y períodos de actividad inusualmente alta.

Con Edge Functions se obtiene un desempeño superior, mayor facilidad de uso y una excelente eficiencia de recursos. Además, se mitiga el riesgo de lock-in que enfrentan a menudo los clientes del modelo serverless. Este producto está basado en tecnología con estándares abiertos, tales como el estándar JavaScript de ECMA, Fetch API con estándares MDN y también WebAssembly, proporcionando una interoperabilidad completa en diferentes plataformas y software de código abierto.

Conclusión

La edge computing habilita capacidades cruciales, tales como aplicaciones de latencia ultrabaja y análisis de datos en tiempo real, que son necesarios para aplicaciones y servicios de próxima generación. En general, la edge computing es más rápida, más barata y más confiable que otros servicios de computación serverless; además, te brinda la capacidad de cumplir con las regulaciones locales, sin importar dónde te encuentres.

En Azion, hacemos más fácil el proceso de construir aplicaciones de manera rápida y puedes ejecutar tus workloads distribuidos en la parte superior de la red de edge distribuida globalmente de Azion o donde los necesites; incluyendo infraestructuras de dispositivos remotos, on-premises o multi-cloud.

Como fue señalado por Forbes, “la implementación de la edge computing disminuye significativamente los costos de banda ancha de Internet, almacenamiento de datos y capacidad de procesamiento en servidores, ya que realiza la mayor parte del trabajo on-board sin necesidad de enviar y recibir datos de los servidores”.

Estos beneficios cruciales, junto con la automatización, flexibilidad y rentabilidad, ofrecidos por las aplicaciones edge-native, son reflejados en esta lista de International Banker que incluye cuatro razones por las que la edge computing será cada vez más crucial en el futuro:

  • Está impulsando la próxima revolución industrial en manufactura y servicios.
  • Optimiza la recolección y el análisis de datos para proporcionar inteligencia empresarial procesable.
  • Hace que los procesos y sistemas comerciales sean más flexibles, escalables, seguros y automatizados.
  • Promueve un ecosistema empresarial más eficiente, más rápido, rentable y más fácil de administrar.

Con Edge Functions de Azion, los usuarios obtienen todos los beneficios de construir y ejecutar aplicaciones serverless en el edge:

  • Fácil de usar
  • Escalabilidad
  • Baja latencia
  • Confiabilidad
  • Rentabilidad
  • Eficiencia de recursos

Edge Functions está disponible para todos los usuarios de Azion. Crea una cuenta gratuita ahora mismo para que nuestra solución Edge Functions comience a trabajar para ti.

Suscríbete a nuestro boletín informativo