Quando se hospeda um site/aplicação em um datacenter, ele estará disponível a todos no mundo, porém a experiência do usuário pode variar muito dependendo do local a partir de onde o acesso é feito.

A demonstração usou um site em PHP e CSS (com formulário, um vídeo de 15MB e duas imagens de 700kB), de uma hipotética loja de discos. Esta aplicação está hospedada em um datacenter da Amazon, sob o serviço AWS EC2, na região de North Virginia, US. Foi usada a ferramenta webpagetest para simular uma conexão 3G a 400kbps a partir de São Paulo e a partir da região da Virginia.
Para evitar o inconveniente do aumento da latência para locais distantes do datacenter, pode-se usar um serviço de CDN (Content Delivery Network). Com isso, o conteúdo que foi inicialmente hospedado em um datacenter, será guardado em cache em outros datacenters, ou pontos de presença (POPs), espalhados fisicamente pelo mundo. Dessa forma, o usuário acessaria um “virtual IP”, que redirecionaria essa requisição ao POP mais próximo, reduzindo o máximo possível a latência envolvida. A Amazon oferece esse serviço de CDN sob o nome Cloudfront.

topologia - aws - cdn

Na segunda etapa da demonstração, seriam comparados: o acesso de São Paulo ao servidor da Virginia e o acesso de São Paulo ao CDN. O tempo de carregamento realmente diminui, pois o conteúdo, no caso do CDN, é buscado em um POP, mais próximo do cliente.

Por fim, é posto lado a lado, em uma animação, o carregamento da página, comparando o acesso à aplicação no datacenter de origem (Virginia) e o acesso ao CDN, ambos a partir de São Paulo. Nota-se que o download do vídeo difere entre os dois tipos de acesso: para o EC2, o acesso ao vídeo retorna status de http 206, em que o conteúdo é dividido em pedaços, provocando várias requests pelo cliente; já no CDN, o servidor faz também uso do método 304, tirando proveito do cache.
Além de ter a página carregada 3s mais rápido, o CDN ainda enviou mais bytes de payload (2,3MB). Já no acesso ao EC2, o envio foi de apenas 824kB.