- 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
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.
https://www.youtube.com/watch?v=yOP5-3_WFus
Deno Deploy Beta 1
Deno Deploy Beta 2
Fresh - el framework web de próxima generación