O que é CDN (Content Delivery Network)?

Vamos conhecer nesse artigo o que é um CDN, como ele funciona, quais suas vantagens e os principais provedores de soluções CDN do mercado.

Para uma introdução em vídeo sobre esse assunto, confira essa dica rápida CDN – Carregando arquivos rapidamente.

O que é CDN?

A sigla CDN vem de Content Delivery Network e se refere a um conjunto de servidores distribuídos geograficamente. Ele tem como objetivo distribuir conteúdos para os usuários com uma menor latência de rede.

Embora você não utilize o CDN diretamente para hospedar seu site, você pode criar um cache desse conteúdo em um ponto próximo do seu usuário final, chamado de edge server. Entenda como edge um ponto de presença complementar aos seus servidores já existentes.

Rede de computadores - Fundamentos
Curso de Rede de computadores - Fundamentos
CONHEÇA O CURSO

Como funciona o CDN

Primeiramente, vamos utilizar a imagem abaixo para entender como funciona uma solução de CDN. Por exemplo, temos aqui em vermelho nosso servidor de origem nos Estados Unidos, que pode ser tanto um servidor web, um bucket no S3 ou outro serviço que se comunica através de HTTP.

Rede de distribuição com CDN

Dependendo da localização do usuário, o tempo de resposta para acessar esse servidor de origem pode variar bastante. Para um usuário no oeste dos Estados Unidos, esse tempo de latência de rede pode ser aceitável. Entretanto, para um usuário na Índia, esse tempo de latência de rede é muito maior.

Com uma solução de CDN, os usuários passam a se conectar com os edge servers, resultando em uma latência de rede muito menor. Em um cenário ideal, a requisição do usuário é retornada diretamente do edge, através do cache armazenado naquele servidor.

Caso aquela requisição não tenha um cache, o edge se conecta com o servidor de origem, gerando um cache de acordo com as políticas definidas.

Mesmo no pior cenário, onde não existe um cache no edge, o tempo de latência será menor. Isso acontece porque a conexão entre a origem e os edge servers acontece através de uma rota de rede exclusiva.

Vantagens em utilizar um CDN

Ter um cache do conteúdo da sua aplicação próximo do usuário final, além de reduzir o tempo de carregamento do seu site, trás vários outros benefícios, como por exemplo:

  • Redução de custos com armazenamento e servidores: você pode minimizar custos com replicação de arquivos para fins de distribuição, bem como reduzir a carga nos servidores de origem;
  • Redução do consumo de banda: um custo considerável no orçamento com a nuvem é com tráfego de saída. Você pode observar uma redução nesse tráfego, bem como uma redução no custo desse tráfego, pois o custo de tráfego de saída de um CDN costuma ser menor;
  • Maior disponibilidade e redundância: graças a camada de cache das requisições, sua aplicação tem uma maior disponibilidade e redundância, servindo seus usuários caso a origem não esteja disponível;
  • Segurança da sua aplicação: as soluções de CDN são preparadas para receber uma grande quantidade de tráfego e são protegidas contra ataques de DDoS. Além disso você pode integrar soluções de Web Application Firewall, que te protege contra os principais ataques a aplicações web.

Principais soluções no mercado

Existem diversas soluções de CDN disponíveis no mercado. Temos as soluções mais tradicionais, como o Cloudflare, Akamai, Fastly, entre outras, especializadas nesse tipo de solução. Grande parte do tráfego mundial acaba passando por servidores dessas soluções.

Além disso, existem soluções oferecidas pelos principais provedores de nuvem, como o CloudFront da AWS, o Azure CDN do Azure, e o Cloud CDN do Google Cloud Platform. Essas soluções tem a vantagem de serem altamente integradas com esses provedores, trazendo alguns diferenciais se comparado com as soluções especializadas.

Amazon Web Services (AWS) - Fundamentos
Curso de Amazon Web Services (AWS) - Fundamentos
CONHEÇA O CURSO
Deixe seu comentário

Autor dos cursos de cloud computing da TreinaWeb. Graduado em Gestão de TI pela FATEC e quase bacharel em Sistemas de Informação pela UFSCar. Tem experiência em desenvolvimento backend com PHP, mas se encontrou trabalhando com DevOps. Microsoft Certified: DevOps Engineer Expert, Azure Solutions Architect Expert e Azure Data Engineer Associate, AWS Certified Solutions Architect - Associate, e Zend Certified Engineer (ZCE). @gmsantos

© 2004 - 2019 TreinaWeb Tecnologia LTDA - CNPJ: 06.156.637/0001-58 Av. Paulista, 1765, Conj 71 e 72 - Bela Vista - São Paulo - SP - 01311-200