Content Delivery Network (CDN) con Google
¿Qué es CDN?
CDN son las siglas de Content Delivery Network o Content Distribution Network (Red de entrega de contenido / Red de distribución de contenido). Consiste en distintos servidores repartidos por distintas zonas (normalmente alrededor de todo el mundo) que hacen que cuando pidas un archivo el servidor que está más cerca te lo entregue. Lógicamente hay una copia de esos archivos en cada servidor.

Es decir que si estás en Madrid te lo entregue uno que está cerca, por ejemplo el de París, en vez de el de Tokyo. Es algo así como pedir una pizza a domicilio, normalmente te la entrega el que está más cerca de tu casa y no el de otra ciudad.
Ventajas de tener una CDN
Lo cierto es que las ventajas son muchas, pero la más importante es la velocidad. Normalmente tenemos contratado un servidor donde ponemos todo, de tal forma que cuando un usuario pida algo, nuestro servidor se lo va enviando hasta que acaba. Al tener una CDN conseguimos dos cosas:
- Hay dos servidores trabajando a la vez, de tal forma que nuestro servidor más otro están enviando nuestra página a quien se la haya pedido.
- Uno de esos servidores tiene una cierta cercanía con nuestro ordenador, por lo que la descarga de archivos suele ser relativamente rápida.
¿Quién usa esto?
Lo cierto es que montar algo así no es trivial, ni en tiempo, ni en dinero ni en conocimientos sobre informática (sobretodo redes y sistemas, aunque también tiene bastantes matemáticas en medio). Así que ¿de verdad se usa esto a día de hoy?
Pues lo cierto es que la mayor parte de las empresas importantes en Internet lo usan y es que suelen costar bastante dinero, como podrás imaginar.
CDN gratuita de Google
La parte buena de esto es que hay alternativas gratuitas para tener nuestra propia CDN, una de ellas viene de la mano de Google, para variar.
Lo que obtienes son 500mbs de almacenamiento gratuito y alrededor de 5 millones de páginas vistas gratis al mes. Si hay más el coste es bastante bajo la verdad. El tema es que para utilizarlo hay que instalar varias cosas y no es inmediato.
Existe otra forma y es a través de una página que editando las url de nuestras imágenes con un formato especial que ahora veremos, conseguimos practicamente lo mismo.
En concreto la podemos encontrar aquí, y su uso es tan simple como reemplazar nuestros atributos src de las imagenes por:
http://cdn-cloud.appspot.com/a/[uniq_path]?url=[image_url]
Siendo [unique_path] una ruta única por ejemplo /polargeek.net/imagenes/uno.jpg y [image_url] la url actual de nuestra imagen.
Una vez que lo hayamos hecho podemos acceder a las url, para que Google las cacheé (perdón por el mal uso del lenguaje
) y después nuestras url serían:
http://cdn-cloud.appspot.com/a/[uniq_path]
Con el unique_path que hemos puesto antes. Así que si quieres las puedes quedar como antes o cambiar a estas.
CDN con dominio propio
Otra opción es “reclamar” nuestro propio subdominio, para tener nuestra url en plan:
http://nuestrosubdominio.appspot.com/a/[unique_path]
Conclusiones sobre CDN y enlaces
CDN es una de tantas formas de reducir nuestro consumo de ancho de banda en el servidor y de hacer nuestra web más rápida. Como alternativa es bastante sencilla de “implementar” y su coste, como hemos visto es cero.
No hay demasiada documentación sobre como se construyen estas infraestructuras pero estos son algunos enlaces por los que empezar
- Artículo en la Wikipedia en inglés.
- Listado de proveedores de Content Delivery Networks.
- PragmaQuest Inc (la empresa que ha desarrollado la aplicación para simplificar el proceso).
Dentro de poco haré más posts sobre como aumentar la velocidad de carga de nuestras webs.

2 Comentarios
Curioso!
El problema que veo es que el invento este no sirve para webs bajo SSL. El certificado petará al estar sirviendo contenido desde otro dominio sin conexión segura.
A todo esto, lo de cdn-cloud no es una app de Google
, es una app de otra empresa corriendo sobre el App Engine de Google lol
@jävi. En realidad de Google es la CDN, lo que es de la empresa es la aplicación que he mostrado, mira el último enlace en las conclusiones
.
Por otra parte para trabajar con SSL, la cuestión es tener un certificado válido en su servidor de tu dominio, puedes leer más sobre ello aquí. Pero sí se puede.