Cinco maneras de aprovechar al máximo tu CDN
La mayoría de distribuidores de contenido online utilizan una red de distribución de contenidos (CDN) porque permite acelerar y proteger la distribución, y porque se integra perfectamente en los sistemas de gestión de contenidos actuales. Sus archivos de registro facilitan la facturación y la evaluación del estado general del sistema, mientras que algunas empresas incluso utilizan las CDN para autenticar a los suscriptores. Hay muchas más razones de peso para utilizar una CDN como parte de tu estrategia de distribución. En este artículo del blog vamos a examinar algunas de las menos conocidas, que te ayudarán a mejorar tu negocio y hacerlo crecer. Estas son las cinco que veremos:
Almacenamiento en caché de nivel superior
Optimización del contenido
Seguridad integral
Escalabilidad en el edge
Toma de decisiones basada en la visibilidad
Almacenamiento en caché de nivel superior
En la caché de las CDN se suele almacenar contenido bastante sencillo e invariable: imágenes, JavaScript, CSS y otros componentes de páginas web. Para ello, básicamente se envían elementos no lógicos a través de una canalización. Si optas por almacenar el contenido en caché para siempre, ahorrarás en costes relacionados con la nube y con el tráfico de salida.
Sin embargo, hay otra gran cantidad de contenido que también puede almacenarse en caché, aunque no resulte tan obvio: páginas HTML, rutas a las API, consultas de GraphQL y, en general, todo aquello activado por eventos. Por ejemplo, las listas de episodios, preferencias de usuario, archivos de manifiesto de vídeo y respuestas a las API permanecen invariables hasta que algo (un evento) cambia. Algo que realice una consulta a una base de datos o a alguna capa de abstracción, como una API, seguramente se pueda almacenar en caché. Y esto es así porque la mayoría de las CDN modernas permiten purgar contenido de la red con bastante rapidez. Es decir, que en lugar de asignar un tiempo de vida (TTL) de 30 minutos y tener que volver a revalidar el contenido una y otra vez, lo que consume muchos recursos en el origen, puedes almacenarlo en caché de forma permanente o hasta el momento que quieras que deje de ser válido.
Cuanto más almacenes en caché, más reducirás los costes, sobre todo en las cargas de trabajo que requieran mucho procesamiento, como las consultas a las bases de datos. El motivo del ahorro es que almacenas los datos en caché en el edge y no en el origen.
Este tipo de estrategia permite mejorar el rendimiento de forma sistemática y generalizada. Las CDN modernas también pueden ayudarte con los elementos de las páginas web o los contenidos que son realmente dinámicos o que no pueden almacenarse en caché. Al usar una CDN, puedes trasladar las conexiones TLS más cerca de los usuarios finales para que se inicien mucho más rápido. Además, puedes mantener abiertas y activas las conexiones TCP con tu origen, prescindiendo así de los recursos que suelen emplearse en activarlas y desactivarlas.
Optimización del contenido
Es probable que la mayor parte de lo que se optimiza en el origen o en la capa de la aplicación pueda optimizarse también en el borde de la red. Pensemos, por ejemplo, en la optimización de imágenes, que es una de las funcionalidades de la plataforma de edge cloud de Fastly. Además de reducir los costes de almacenamiento y de computación, te aportará numerosas ventajas, como la posibilidad de actualizar la interfaz de usuario sin tener que volver a procesar una a una todas las imágenes. También podrás usar de inmediato nuevos formatos de archivo, como WebP o AVIF, sin muchas complicaciones técnicas ni grandes retoques en tu aplicación.
Gracias a la capacidad para comprimir archivos HTML, CSS y JavaScript, reducirás los tiempos de cálculo y los recursos de ingeniería, pues será la CDN quien se ocupe de empaquetarlos y desempaquetarlos. Además, podrás usar nuevos algoritmos de compresión, como Brotli, en cuanto estén disponibles. Y todo ello, simplemente con un poco de código en el edge.
Seguridad integral
Las CDN son ideales para implementar y reforzar la seguridad. Tienen un tamaño descomunal y están diseñadas para absorber picos de tráfico enormes, tanto legítimos (por ejemplo, grandes concentraciones de espectadores en eventos deportivos en vivo) como maliciosos (por ejemplo, provocados por ataques de DDoS). También permiten ocultar eficazmente la ubicación donde residen el origen o la aplicación, lo que ayuda a reducir el área de ataque por donde pueden acceder los ciberdelincuentes. Además, puedes configurar restricciones de IP e interconexiones de redes privadas para restringir el acceso exclusivamente a la aplicación.
Los distribuidores de contenidos deben preocuparse de protegerse frente a los ataques de DDoS masivos, pero también frente a aquellos ataques selectivos de menor envergadura cuya lista se amplía a diario, como la apropiación de cuentas, el relleno de credenciales y el fraude con tarjetas de crédito. Ya se están produciendo ataques de DDoS con un caudal de datos de varios terabits por segundo, algo muy por encima de lo que muchas aplicaciones pueden manejar.
Las CDN permiten bloquear eficazmente los ataques volumétricos de gran envergadura. Sin embargo, para protegerse del comportamiento de los usuarios y de las amenazas emergentes, es necesario aplicar una estrategia diferenciada. El WAF incluido en la mayoría de las CDN puede ser útil para ello, pues las CDN son ideales para aplicar todo tipo de medidas de seguridad; por ejemplo, descartar todo el tráfico de la capa 7 que no sea HTTP ni HTTPS en el edge te ofrece una gran protección de forma inmediata.
La CDN puede inspeccionar, detectar y bloquear ataques antes de que lleguen a tu aplicación. Gracias a funcionalidades como la limitación de volumen, los usuarios legítimos pueden disfrutar de la aplicación mientras se bloquea a los atacantes en el edge. Implementar políticas de seguridad en el edge ahorra tiempo, mejora el rendimiento y reduce la carga que soportan tus aplicaciones. Con medidas como la autenticación por tokens o las revisiones virtuales, podemos detectar y bloquear el tráfico malicioso en el edge antes de que afecte a tus aplicaciones y datos más valiosos.
Edge computing
Aunque son distintas y se ejecutan de forma diferente, muchas de las CDN actuales ofrecen posibilidades informáticas en el edge. Algunas usan WebAssembly, otras Docker y otras actúan como entornos aislados virtuales. Además, manejan lenguajes, conjuntos de funcionalidades y modelos de costes distintos. Gracias a su versatilidad de ejecución, la informática en el edge es el entorno ideal para crear y hacer crecer tus microservicios.
Por ese motivo, deberías trasladar la autenticación al edge, más cerca de los usuarios y lejos de la aplicación. Puedes personalizar o incluir contenido destacado en función de la ubicación, el tipo de dispositivo u otra particularidad. También puedes crear una experiencia única para cada usuario en el edge y realizar pruebas tales como test A/B complejos. Además, si ejecutas tecnología novedosa como WebAssembly en el edge, puedes ejecutarlo todo en un entorno aislado seguro y de gran rendimiento. Así, los equipos de ingeniería pueden programar aplicaciones en sus lenguajes favoritos: JavaScript, Golang, Rust o cualquier otro lenguaje con los que los desarrolladores trabajen a gusto, sean más productivos y creen mejores productos.
Visibilidad
La última de las razones es la visibilidad. Por naturaleza, tu CDN tiene toneladas de datos que crecen continuamente. Los registros y las estadísticas te facilitan las operaciones diarias, sobre todo si te ofrecen datos en tiempo real, que es lo que deberías esperar de cualquier CDN, ya que es la única forma en que puedes reaccionar si se produce un incidente global o un problema localizado.
Por otro lado, analizar los datos históricos te ayudará a tomar mejores decisiones con respecto a cómo ampliar o mejorar tu arquitectura. Durante las pruebas que realices, los datos de registro te permitirán ver si los resultados obtenidos son correctos o si te conviene cambiar de estrategia.
Los registros de la CDN te ayudarán a reducir los costes, ya que te permiten identificar las áreas en las que tus estrategias de almacenamiento en caché y optimización no son del todo satisfactorias. También te ayudarán a detectar los nuevos métodos con los que ciertas personas intentan hacer un uso indebido y abusivo de tus aplicaciones. Con esta información, podrás tomar mejores decisiones. Además, con los registros en tiempo real, podrás subsanar las interrupciones y eliminar el tiempo de inactividad en el que los clientes no pueden usar tus aplicaciones web, que se traduce en pérdida de ingresos. Si quieres mantener la buena imagen de tu empresa, te conviene tener tus aplicaciones siempre activas.
Antes de terminar, queremos recordarte que las CDN cuentan con equipos de ingeniería de redes, herramientas automatizadas y redes redundantes. Además, ofrecen rutas óptimas y protección frente a los vaivenes de internet, los ataques de DDoS, las costosas interrupciones y el tiempo de inactividad, lo cual es positivo para ti y para tus usuarios.
Puedes ver la charla que dio Chris sobre este tema en la Content Delivery Summit 2022 en este enlace.