Tiempo de lectura: 2 minutos

Drupal y Content Delivery Network (CDN)

Por Nestor Mata Cuthbert

Drupal y CDN

Dentro de un esquema parecido en cuanto al tipo de resultados esta el usar un CDN (Content Delivery Network) que consiste en colocar los archivos estaticos en un servidor o servicio que se dedica especificamente a proveer archivos y relegar al servidor web de estos requests, liberando probablemente más de un 80% de los requests que recibe el servidor web.

Este es un árticulo que escribí en el 2009 sobre CDN: Tutorial de Content Delivery Network

CDN y localización

Una ventaja que ofrecen algunos proveedores de CDN es también la posibilidad de tomar los archivos estaticos y replicarlos en diferentes servidores al rededor del mundo de manera que cuando un usuario los solicita el servicio busca el servidor más cercano y le brinda el archivo desde ahí disminuyendo el tiempo de entrega del archivo.

Diferentes formas de lograr CDN

Podemos hablar de diferentes formas de proveer CDN.
A travez de un reverse proxy, teniendo al menos un servidor de archivos estaticos y haciendo que el reverse proxy se encargue de enviar todos los request dinamicos a este servidor, este debe estar optimizado para archivos estaticos y podria responder a muchos mas requests.
Usando un servicio de CDN, hay varios proveedores, inclusive, podria ser que el proveedor de su hosting ya provea este servicio.
Usando un dominio o subdominio diferente para estos archivos y esto iria a otro servidor.

Esas son algunas manera de proveer el servidor de CDN, pero ahora la pregunta es como hacemos para indicarle a Drupal que ciertos archivos deben servirse desde otro servidor?
En este sentido hay algo importante a tomar en cuenta, y es si constantemente se estan agregando archivos estaticos o no, por ejemplo, si los usuarios pueden subir imagenes al sitio.
En caso de que no se esten agregando archivos estaticos es mas sencillo porque hay más opciones para lograr el CDN.
Veamos un poco algunas opciones:
Usando un modulo como CDN Integration en su opcion simple o Simple CDN o un modulo en el apache, o el reverse proxy y lo que se hace es que para ciertos tipos o rutas de archivos se obtienen de cierto servidor en vez del servidor web, esto se puede hacer duplicando todos los archivos estaticos del servidor a este otro servidor, pero solo funciona si no se estan agregando más archivos constantemente.
Otra opción para el caso de que no se estén agregando archivos dinámicamente, puede ser sincronizar los archivos al CDN en momentos específicos como cuando se hacen releases, para esto se puede utilizar rsync, software de deployment, o algunas librerías que interactúan con los diferentes servicios de CDN.
En caso de que se estén agregando archivos dinámicamente una opción es usar FileConveyor, un proyecto parte del CDN integration module. Este es un servicio que usa su propia base de datos y escucha los cambios en los directorios y crea una cola de archivos a subir y los va subiendo, parchea Drupal para devolver los paths remotos para archivos en el CDN y paths locales para los que aun no se han subido.

Articulo relacionado con este tema: Tutorial de Content Delivery Network

Suscribase

* campo requerido

 RSS Feed

Renovado!

Completamente renovado, más rápido y mejorado.
Este blog fue hecho de nuevo desde cero cambiando las tecnologías.
Ahora usa Jekyll, SASS, Foundation, Node.js, AJAX y ESI.
Suscribase para saber cuando explico como fue creado.