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.
Curso Rede de computadores - Fundamentos
Conhecer o cursoComo 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.
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.