¿Qué es un CDN?
Una Red de Distribución de Contenido o CDN por sus siglas en ingles Content Delivery Network, es un sistema de servidores distribuidos en una red que despliegan contenido de tipo estático (paginas web estáticas, imágenes, vídeos, etc) basados en la localización geográfica de quienes lo solicitan.
Imaginemos que tenemos un CDN con servidores en USA, Europa, Asia y Sudamérica. Con la misma dirección url hacia un archivo contenido en un CDN…
- Una persona en Texas accedería el archivo desde el servidor de USA.
- Una persona de España accedería el archivo desde el servidor de Europa.
- Una persona de Argentina accedería el archivo desde el servidor de Sudamérica.
- Una persona de Japón accedería el archivo desde el servidor de Asia.
Esto permite que el usuario final no tenga que recorrer una distancia geográfica enorme para acceder a la información, y así evita una latencia significativa.
Edge Location
Una Edge Location es una locación en la cual el contenido es almacenado en el cache. Un Edge Location no es lo mismo que una región y esta separado de ellas, Amazon tiene Edge Location en muchas locaciones del mundo.
AWS Origin
Un AWS Origin (origen) es el recurso a través del cual los archivos son disipados por el CDN. Este origen puede ser:
- Un bucket de S3.
- Una instancia de EC2.
- Un Elastic Load Balancer (Balanceador de Carga Elástico).
- Route53.
Amazon CloudFront
Amazon CloudFront puede ser utilizado para distribuir de manera integra su sitio web, incluyendo contenido de tipo estático, dinámico, streaming y contenido interactivo. Para lograr esta distribución Amazon echa mano de sus edge locations. Las peticiones realizadas son automáticamente enrutadas a la locación mas cercana, de manera que el contenido es desplegado en el menor tiempo posible.
Cloud Front esta optimizado para poder trabajar con otros servicios de AWS como S3, EC2 (Elastic Compute Cloud), Elastic Load Balancing y Route 53. También con servidores que no formen parte de la red de Amazon.
-
Los objetos en los edge locations no son solo de lectura, también se pueden escribir sobre ellos y forzar a que dichos cambios sean replicados al origen.
-
Los objetos son guardados en cache durante su Tiempo de Vida o TTL por sus siglas en ingles Time To Live.
-
El cache puede ser limpiado, pero esto tiene un costo.