La Edge Cloud Platform de Fastly

Khan Academy

Khan Academy ofrece educación gratuita a millones de personas en todo el mundo con la Edge Cloud Platform de Fastly

El desafío

La misión de Khan Academy es ofrecer educación gratuita de clase mundial a cualquier persona, en cualquier lugar. Para Miguel Castillo, ingeniero de software principal del equipo de plataforma de infraestructura, esa misión tiene un peso personal. "Crecí en una familia de bajos ingresos. Este trabajo resuena conmigo", dijo Castillo. Su equipo gestiona los servicios y la infraestructura que entregan el contenido de Khan Academy a usuarios de todo el mundo, muchos de los cuales acceden a la plataforma desde zonas con conexiones a internet inestables o solo a través de dispositivos móviles.

A medida que Khan Academy expande sus productos para distritos a nivel global, incluso en países con redes menos confiables, el equipo de infraestructura enfrenta cada vez más desafíos para escalar. El desafío no se trata solo de gestionar el volumen. Khan Academy atiende a usuarios en regiones donde el acceso a internet es inestable, lo que significa que cada milisegundo de latencia importa. Como atendemos a usuarios de todo el mundo, es importante ofrecer una experiencia del usuario constante y confiable. 

La solución

La relación de Khan Academy con Fastly comenzó hace más de una década a través del programa Fast Forward, que proporciona servicios y soporte gratuitos a proyectos de código abierto y a las organizaciones sin fines de lucro que los apoyan. Lo que comenzó como una implementación sencilla de CDN ha evolucionado hasta convertirse en una asociación fundamental. "Fastly se ha convertido en una parte extremadamente importante de nuestro ecosistema", dijo Castillo.

Superando los límites con VCL

El equipo, ansioso por expandir las fronteras de lo posible como parte del programa Fast Forward, aprovechó Varnish Configuration Language (VCL) para gestionar una autenticación compleja, un control preciso sobre el almacenamiento en caché y la lógica de enrutamiento. Sin embargo, la complejidad del código VCL y la infraestructura creció a medida que se debían implementar nuevos requisitos.  Y, con el tiempo, menos ingenieros comprendían la compleja mecánica de VCL. El flujo de solicitudes cuando los usuarios necesitaban volver a autenticarse revelaba la complejidad del sistema: una solicitud que ingresaba a la red de Fastly se reenviaba a Google App Engine para realizar la reautenticación del usuario y luego regresaba a la red de Fastly para completar las solicitudes de los usuarios. Esta configuración compleja no solo sobrecargaba el sistema, sino que también aumentaba los posibles puntos de falla, lo que representaba una clara oportunidad de mejora.

"Eso fue un gran ciclo de solicitudes que tenía que suceder", explicó Castillo.

Simplificación de la arquitectura con Fastly Compute

La migración a Fastly Compute transformó el enfoque de Khan Academy. "Todo nuestro stack en Khan Academy está construido en Go", dijo Castillo. "Pudimos aprovechar mucho del código y la infraestructura que ya habíamos escrito para nuestros servicios de GCP". Al migrar el código de autenticación y la lógica de cifrado de VCL a Fastly Compute, el equipo optimizó los flujos de solicitudes, lo que redujo los hops redundantes en la red y simplificó flujos de trabajo complejos, como la reautenticación de usuarios. Este cambio aumentó la reutilización de código para tareas como la infraestructura de pruebas unitarias, haciendo que el sistema fuera más fácil de mantener y más eficiente. La nueva configuración les permitió ejecutar pruebas unitarias y de integración de manera más efectiva, garantizando que los cambios se pudieran validar en entornos controlados antes del despliegue, lo que redujo el riesgo de errores en producción.

Los resultados fueron inmediatos. Al eliminar múltiples hops entre servicios, Fastly Compute optimizó los flujos de solicitudes, lo que le permitió interactuar directamente con App Engine y continuar el flujo de trabajo. "Eso reduce la fragilidad porque reduces la cantidad de hops por los que pasa una solicitud. Menos hops reducen el riesgo de fallas y hacen que el sistema sea más confiable", explicó Castillo. 

Para los usuarios en partes remotas del mundo, la optimización de los flujos de solicitud dio como resultado una experiencia del usuario más eficiente y congruente. “Anteriormente, el navegador tenía que hacer dos llamadas independientes: una para cargar datos y otra para cargar el HTML, lo que daba como resultado dos viajes de ida y vuelta”, explicó Castillo. “Con Fastly, consolidamos esto en una sola llamada. Al precargar los datos del usuario desde el punto de presencia (POP) de Chicago, eliminamos las demoras innecesarias y logramos que la experiencia fuera más fluida”. Esta reducción en el tiempo de carga mejoró la fiabilidad y la disponibilidad, lo que garantizó que los estudiantes pudieran acceder al contenido educativo de manera más fluida, incluso en áreas con condiciones de Internet difíciles. "Todo se trata de hacer que la plataforma sea lo más fácil de usar posible para cada alumno, sin importar dónde se encuentre", añadió Castillo.

Lo que más impresionó al equipo fue lo bien que se mantuvo el rendimiento al introducir Fastly Compute como un nuevo hop en su arquitectura. "Para todos los efectos prácticos, nuestra experiencia del usuario no cambió", dijo Castillo. “La latencia se mantuvo estable tras la introducción de Fastly Compute en la cadena de servicios”. 

Bloqueo de tráfico malicioso con detección de bots

Cuando Khan Academy implementó la gestión de bots de Fastly, los beneficios de seguridad se hicieron evidentes de inmediato. "Teníamos millones de solicitudes de bots al día". Dijo Castillo. "Literalmente estaban intentando iniciar sesión por fuerza bruta en nuestro sistema". El tráfico de bots no solo era un problema de seguridad, sino que también sobrecargaba los backends de Khan Academy y aumentaba los costos en Google Cloud Platform.

En respuesta a una cantidad inusualmente alta de solicitudes maliciosas por parte de actores malintencionados, Khan Academy habilitó la integración de Proof of Work de bajo contacto en varios endpoints que se vieron especialmente afectados. Además de las mejoras inmediatas en protección y rendimiento, esto proporcionó datos muy valiosos sobre los cuales planificar una hoja de ruta más completa para las integraciones de Fastly. Para el equipo de seguridad, se trata de contar con las herramientas adecuadas para el trabajo y poder confiar en ellas. Este trabajo brindó la confianza para profundizar la integración entre Khan Academy y los servicios de seguridad e inteligencia de Fastly.

Al combinar las capacidades de gestión de bots con Next-Gen WAF de Fastly, el equipo obtuvo protección adicional contra el abuso. Los actores malintencionados estaban creando múltiples cuentas usando alias de correo electrónico y enviando spam a usuarios legítimos. "Hemos podido mitigar una gran parte de los actores malintencionados con la ayuda de Next-Gen WAF y estamos trabajando con las nuevas observaciones proporcionadas por Fastly para seguir aumentando la proporción de verdaderos positivos", dijo Castillo. El equipo de seguridad también utiliza estas herramientas para identificar intentos de inyección SQL y otros ataques. 

Detén automáticamente los ataques en seco con la Protección contra ataques de DDoS

Otra capacidad clave que Fastly le proporciona a Khan Academy es la Protección contra ataques de DDoS. Este es un producto habilitado por Khan Academy que detecta y mitiga automáticamente los ataques de DDoS en aplicaciones. La protección contra ataques de DDoS de Fastly aprovecha su Adaptive Threat Engine para identificar el tráfico malicioso y tomar automáticamente las medidas adecuadas para bloquearlo, lo que garantiza que las amenazas se mitiguen sin ninguna intervención manual. A pesar de que Khan Academy experimenta altibajos masivos en el tráfico que pueden representar una carga significativa, la solución mitiga los ataques con precisión en segundo plano sin actuar sobre los picos de tráfico legítimo.

“Hemos visto activarse la protección contra ataques de DDoS múltiples veces, como durante un intento de ataque en el que el tráfico se disparó más de un 17,000%, y bloqueó automáticamente el pico malicioso antes de que alcanzara nuestros servicios principales”, dijo Castillo.

Escalamiento para eventos globales de capacitación

La infraestructura de Khan Academy experimentó un gran aumento en la demanda durante los eventos de capacitación en Filipinas, donde cientos de miles de usuarios se conectaron en línea simultáneamente. Al reconocer esto como una oportunidad para optimizar el rendimiento, Khan Academy trabajó en estrecha colaboración con los ingenieros de soporte de Fastly para identificar y abordar los cuellos de botella. Juntos, realizaron mejoras que garantizaron que la infraestructura pudiera manejar tales picos sin problemas en el futuro. Cuando ocurrió el siguiente evento de capacitación, la plataforma se escaló sin esfuerzo. "Pudimos manejar una cantidad significativa de tráfico proveniente de Filipinas a la que simplemente no estábamos acostumbrados", dijo Castillo.

La relación de soporte ha sido fundamental. "La respuesta y la ayuda que recibimos de Fastly marcaron toda la diferencia”, dijo Castillo. "Una vez que eso se comunicó claramente, recibimos mucho más de lo que habríamos esperado en términos de ayuda y soporte". Para un equipo que gestiona un punto único de error tan crítico, ese soporte brinda confianza.

Conclusión clave

El equipo de infraestructura de Khan Academy ahora ve a Fastly como algo más que una simple red de distribución de contenido. Después de migrar con éxito a Fastly Compute, Castillo y su equipo comenzaron a evaluar otros servicios que podrían trasladarse de Google Cloud Run a Fastly. "Mover más servicios a Fastly es definitivamente algo que estamos considerando", dijo Castillo. "Solo harías ese tipo de evaluación si confías en la plataforma".

Como todos los equipos de seguridad, el de Khan Academy tiene que encontrar las herramientas de mayor valor disponibles para mantener a salvo a sus usuarios, datos, empleados e infraestructura. La infraestructura de Fastly ha demostrado ser invaluable en ese sentido, no solo al brindarle a Khan Academy la tan necesaria gestión de bots y protección contra ataques de DDoS, sino también al clasificar y etiquetar el 100% de nuestro tráfico con inteligencia con la que podemos tomar decisiones más informadas y realizar acciones más rápidas e inteligentes. 

Para una organización sin fines de lucro que atiende a millones de estudiantes en todo el mundo, el programa Fast Forward entrega un valor que va más allá del ahorro de costos. "El tiempo que se dedica a negociar contratos y el tiempo que se dedica a justificar las compras se van acumulando”, explicó Castillo. "Ese es el tipo de cosas que operacionalmente resultan realmente pesadas. Con Fastly, no tenemos que preocuparnos por eso". En su lugar, el equipo puede enfocarse en lo que importa: asegurarse de que los estudiantes de cualquier lugar puedan acceder a educación gratuita, sin importar su ubicación o sus recursos.