Netlify acelera sus funciones de borde 5 veces con Firecracker

Fuentes: Netlify achieves 5x faster edge functions using Firecracker MicroVMs

Netlify ha reemplazado sus aisladores de V8 por MicroVMs de Firecracker para ejecutar sus funciones de borde, logrando una mejora de rendimiento de cinco veces en la mediana. Esta transformación, realizada en colaboración con Unikraft, reduce el tiempo de una invocación cálida de entre 25 y 40 milisegundos a entre 5 y 6 milisegundos, lo que representa una aceleración del 47,4% en las invocaciones p99. La nueva arquitectura, que opera en la propia red de borde de la empresa, mejora la seguridad y la fiabilidad al ofrecer un aislamiento superior que los aisladores de V8 no logran, protegiendo así la capa de cómputo contra posibles fugas de código malicioso.

El proceso de solicitud sigue un flujo específico: la solicitud llega al nodo de borde, se termina la conexión TLS y se verifica la ruta. Si coincide, se envía a un nodo de cómputo dentro de la red. El nodo de cómputo verifica la existencia del servicio y, si no existe, crea uno y descarga las imágenes necesarias desde el nodo de borde. Se genera una especificación de máquina que define el runtime, la imagen de la plataforma y la función, junto con límites de CPU y memoria. Esta especificación viaja con la solicitud para determinar un ID de servicio único, garantizando que deploys distintos no compartan MicroVMs. El nodo de cómputo selecciona un nodo de cómputo mediante hashing de rendezvous para mantener la calidez de la VM, aunque se relaja esta regla si el tráfico supera un umbral para evitar cuellos de botella. Finalmente, el MicroVM se inicia en menos de un milisegundo y se toma una instantánea cuando no hay tráfico, permitiendo un arranque rápido al siguiente uso. Esta migración permite a Netlify manejar miles de funciones de borde por segundo con una disponibilidad del 99,998%.