La CDN de Windows Azure

¿Qué es una CDN o Content Delivery Network?
Cuando un usuario de Internet se encuentra lejos del centro de datos que aloja la información que desea ver (por ejemplo, el usuario está en China y el servidor está en USA), se experimentará un retraso en la descarga debido a la distancia que la información ha de viajar ¿Qué se puede hacer al respecto?

Una CDN almacena copias de esos contenidos en cachés (otros servidores que replican el contenido) distribuidos por todo el mundo, de manera que cuando el usuario pide un archivo se le sirve desde el punto de la red más cercano a él.

Esquema CDN

Esquema CDN

Normalmente, el uso de CDNs se ha asociado a servicios con archivos de gran tamaño (como vídeos), pero la popularización y bajada de precio de estos servicios de CDN ha hecho que se generalice su uso a cualquier tipo de archivo, incluso las pequeñas imágenes que sirven para maquetar sitios web, hojas de estilo CSS o archivos de Javascript.

¿Cómo funciona en Windows Azure?

Windows Azure tiene una serie de datacenters distribuidos por todo el mundo donde podemos alojar nuestras aplicaciones. Nuestra aplicación se puede ejecutar en cualquiera de esas localizaciones.
Opcionalmente, al crear un nuevo servicio en Azure, podemos especificar mediante un grupo de afinidad el área geográfica donde queremos que se aloje. ¿Por qué hacer esto? Básicamente, porque tengamos servicios relacionados entre ellos: es muy recomendable que nuestra aplicación web se ejecute en el mismo datacenter que la BBDD SQL Azure a la que accede🙂

En cualquier caso, escojamos o no la situación geográfica del datacenter, es posible que tengamos usuarios muy alejados del mismo. Para ello, Windows Azure ofrece un servicio de CDN asociado a contenedores del blob storage.
Para convertir un contenedor del Azure storage en una CDN tan sólo hay que marcar la opción en el portal de desarrolladores.

Configuración de afinidad, CDN y nombre de dominio

Configuración de afinidad, CDN y nombre de dominio

Una vez esté en funcionamiento (puede demorarse hasta 1 hora desde que se marca la opción) cualquier blob (simplificando, un archivo) será accesible vía una URL con el formato http://<guid&gt;.vo.msecnd.net/<container name>/ Si este nombre de dominio (vo.msecnd.net) no nos gusta mucho, podemos personalizarlo.

A partir de ese momento, al solicitar la URL de un archivo éste se nos servirá desde el caché de la CDN más cercano a nuestra posición, aprovechando las ventajas que comentábamos antes.

Resumiendo… ¿necesito utilizar una CDN?

Pues siempre que trabajemos con audiencias globales, una demanda importante o con grandes picos o archivos de gran tamaño el uso de una CDN es la opción más recomendable, cuando no directamente imprescindible.
De todas maneras, siempre estamos a tiempo de activar el servicio, por lo que la decisión de utilizar la CDN la podemos posponer hasta que la necesidad sea más evidente.

Hasta la próxima!

Esta entrada fue publicada en Azure y etiquetada , , . Guarda el enlace permanente.

2 respuestas a La CDN de Windows Azure

  1. Luis Serrano dijo:

    Interesante explicación🙂

    Hasta hace poco los CDN’s estaban al alcance de sólo unos pocos. Ahora incluso puedes usar Google como CDN (gracias al espacio de alojamiento que proporcionan con Google Apps). Yo tengo las imágenes/JS’s de mi blog alojados en Google y se nota mucho.

    Un abrazo compañero!

    • Gracias!
      Pues tengo curiosidad por jugar con el AppEngine de Google, a ver si puedo echarle un vistazo pronto. ¿Me recomiendas algún consejo/enlace tutorial? ¿Tocaste algo más allá de la CDN?

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s