27 puntos por xguru 2022-10-11 | 3 comentarios | Compartir por WhatsApp
  • La web comenzó en una sola computadora
  • Han pasado 32 años, pero todavía desarrollamos como si todo fuera una sola computadora
  • En los últimos años, los sitios estáticos se han servido cerca de los usuarios a través de CDN
  • Ahora está ocurriendo lo mismo con las aplicaciones web dinámicas. Ahora se pueden desplegar en todas partes

¿Qué es Edge?

  • Cuando la gente habla de "The Edge", se refiere a que tu sitio o app se despliega en múltiples servidores cercanos a cada usuario alrededor del mundo
  • Cuando alguien solicita tu sitio/app, se le dirige al servidor más cercano
  • Estos servidores distribuidos pueden ejecutar código personalizado que soporta aplicaciones web dinámicas, no solo assets estáticos de sitios
  • Moverse a servidores cercanos también es un intento por optimizar la latencia
  • Cuanto más tarda en cargar una página, mayor es la probabilidad de que el usuario se vaya
  • Si despliegas en algo como Heroku, termina en un centro de datos de AWS en Norteamérica, y en Europa u otras ciudades el TTFB (Time to First Byte) se vuelve más lento
  • Pero si pruebas Deno.com, desplegado en nuestra red Edge, Deno Deploy, el TTFB es mucho más rápido
  • El concepto de Server se introdujo por primera vez en un RFC de 1969
  • La máquina NeXT en la oficina de Tim Berners-Lee fue el primer servidor web. Pero para ese momento Internet ya llevaba más de 20 años en funcionamiento

Cachear contenido cerca del usuario

  • La arquitectura de servidores funcionó bien durante mucho tiempo, pero a finales de los 90 comenzaron a aparecer problemas a medida que la web crecía
  • Akamai introdujo el primer CDN en 1998
  • El CDN de Akamai cacheaba contenido en un sistema distribuido de servidores
  • Los CDN se han convertido en una pieza importante de la web moderna

Menos servers, más serverless

  • Los servidores también tienen problemas en el lado opuesto de la "sobrecarga": la subutilización
  • Un servidor no se puede apagar y debe permanecer encendido el 100% del tiempo, y todo eso cuesta
  • Serverless alivia este problema. Se inicia solo cuando se necesita y luego se apaga de nuevo
  • Pero "serverless" es un nombre engañoso. No significa que no haya servidores; siguen estando involucrados
  • Simplemente ya no hay un servidor dedicado ejecutándose siempre
  • El primer framework serverless ampliamente usado fue AWS Lambda
  • Serverless tiene dos ventajas
    • Solo pagas por lo que usas
    • No necesitas preocuparte por la administración de servidores. No hay planeación, ni gestión, ni mantenimiento
  • La desventaja principal suele ser el rendimiento
    • El problema del "Cold Start"
    • Y además los servidores siguen estando centralizados, así que hay viajes de ida y vuelta largos
  • Y así llegamos al presente

Livin's on the edge

  • La belleza del Edge es que toma las ventajas del CDN (estar cerca del usuario) y las de Serverless (ejecutar funciones) y las combina
  • Es decir, con Edge puedes ejecutar código personalizado cerca del usuario. Esto trae muchas ventajas

Mejor rendimiento

  • Esta es la única cosa que realmente le importa al usuario
  • Si un sitio o app corre en un servidor Edge cercano al usuario, es más rápido que un servidor central
  • Pero las ventajas de rendimiento no terminan ahí
  • El cómputo se ejecuta en el Edge, no en el navegador del usuario
    • La app requiere menos recursos en la máquina del usuario
    • Se entrega menos payload al usuario, así que se usa menos ancho de banda
    • Como las funciones se ejecutan en un entorno controlado, las funciones y APIs se comportan de manera consistente

Mejor seguridad

  • Mover el cómputo del cliente/dispositivo al serverless Edge reduce la superficie de ataque de la app
  • Es más difícil lanzar ataques DDoS

Mejor experiencia para desarrolladores

  • Hoy en día, escribir código para Edge es más complicado de lo necesario
  • La mayoría de los problemas vienen de la naturaleza híbrida del desarrollo para Edge
  • Como muchos frameworks no fueron desarrollados con una filosofía Edge-First, el desarrollador debe elegir si cada función o página se ejecuta en el edge o en el navegador
  • Pero frameworks nuevos como Fresh simplifican esto con SSR y la arquitectura de Islands
  • Si usas Fresh junto con Deno Deploy, es posible obtener una puntuación perfecta en Lighthouse gracias a la optimización de latencia
  • Edge es la próxima iteración de Internet.
    El siguiente paso para hacer la web más rápida, y un lugar más seguro para usuarios y desarrolladores

3 comentarios

 
cometkim 2022-10-17

En el blog de Fastly pronostican que alrededor del 70% de la infraestructura de cómputo de los centros de datos tradicionales se trasladará al edge, jaja.