O que é CDN e por que devo usá-la em meu site

O que é CDN

Na sopa de letrinhas que a tecnologia nos proporciona, a sigla CDN vem ganhando destaque entre administradores e desenvolvedores de sites. Esse sucesso se deve a diversos fatores, principalmente às vantagens que uma CDN pode trazer para um site ou aplicação.

Se você não sabe o que é CDN, ou deseja saber mais sobre o assunto, acompanhe-nos neste artigo e veja como tirar proveito de uma CDN em seu próprio site.

Rede de Distribuição de Conteúdo

CDN é o acrônimo de Content Delivery Network, cuja tradução literal é Rede de Distribuição de Conteúdo. O propósito desse tipo de tecnologia está implícito no nome, que é o de distribuir conteúdo digital através da internet. No caso, o conteúdo de um único site é distribuído por diversos data centers. Assim, ele pode ser acessado pelos usuários com mais rapidez, entre outras vantagens.

Inicialmente, esse tipo de recurso era usado apenas para armazenar e distribuir conteúdo multimídia (imagens, áudios e vídeos). Nesse modelo, o servidor de hospedagem armazena apenas a parte lógica do site (programação no nível do servidor), deixando a parte mais pesada do conteúdo (imagens e outros arquivos estáticos) a cargo de uma CDN. Esse modelo continua sendo muito usado hoje em dia.

No entanto, o uso da CDN evoluiu para armazenar cópias completas de sites e aplicações, incluindo o código-fonte. Essa evolução trouxe consigo diversas vantagens, que veremos daqui a pouco neste artigo. Mas antes, vamos entender como funciona essa tecnologia.

CDN - Rede de Distribuição de Conteúdo

Como funciona uma CDN

Imagine que você realizou a compra de um livro pela internet. Digamos que o estoque da loja virtual na qual você comprou este livro está localizado nos Estados Unidos. Nesse caso, o livro que você comprou precisará ser enviado por uma transportadora desde os Estados Unidos até o Brasil. Esse processo certamente levará vários dias, talvez até mais de um mês.

Agora imagine que você comprou o livro nesta mesma loja virtual, mas que ela possui uma filial no Brasil, incluindo seu estoque de produtos. Nesse caso, apesar de sua sede estar nos Estados Unidos, o livro será enviado para você a partir de um endereço aqui no Brasil. Isso certamente fará o tempo de entrega ser menor do que seria no cenário anterior, certo?

Uma CDN funciona de maneira similar, mas no ambiente 100% digital da internet. Ou seja, o conteúdo que você recebe em seu computador, como por exemplo os arquivos que compõem um site, são entregues por um servidor localizado mais próximo de você do que o servidor de origem daquele site.

Ao acessar um site qualquer que esteja integrado com uma CDN, o conteúdo do site será baixado do data center mais próximo de você, geograficamente falando. Por exemplo, ao acessar o site Amazon.com, apesar do servidor principal estar localizado nos Estados Unidos, você receberá o conteúdo do site a partir de um servidor localizado no Brasil.

Comparativo com e sem CDN

Vantagens de usar uma rede de distribuição de conteúdo

Agora que já entendemos o conceito, vamos ver quais são as vantagens práticas de usar uma rede de distribuição de conteúdo.

  • Ganho de velocidade – Por estar mais próximo do usuário, o tempo de resposta do servidor é menor e o conteúdo solicitado chega ao destino em menos tempo. Dependendo da localização do servidor, essa diferença pode ser de alguns segundos.
  • Melhora de desempenho – Além da proximidade geográfica, também há um ganho de performance geral do site. Esse ganho se dá porque uma cópia estática das páginas do site é enviada, ao invés de conteúdo dinâmico, que teria que ser processado pelo servidor de origem a cada nova requisição. Além disso, a maior parte do tráfego não chega a “tocar” no servidor. Ou seja, as requisições são respondidas, em sua maioria, pela própria CDN. Dessa forma, o consumo do servidor de hospedagem é bastante reduzido quando comparado com o mesmo site este recurso.
Gráfico exibindo um exemplo do tráfego que passa na CDN em comparação com o tráfego direcionado para o servidor de origem. Fonte: CloudFlare
Exemplo gráfico do tráfego atendido pela CDN (em laranja) em comparação com o direcionado para o servidor de hospedagem (em azul). Fonte: CloudFlare
  • Capacidade para lidar com muito tráfego – Uma CDN está preparada para aguentar muito tráfego. Muito mais do que um servidor de hospedagem compartilhada está. Assim, sites que utilizam este recurso para hospedar cópias estáticas do seu conteúdo podem se valer de sua capacidade para atender a demandas de tráfego muito altas.
  • Proteção contra scripts maliciosos – Uma CDN oferece diversos mecanismos de segurança para lidar e até bloquear tráfego com origens suspeitas. Entre essas ameaças, podemos destacar bots e scripts maliciosos, cuja finalidade é tentar invadir sites e/ou capturar dados sensíveis.
  • Proteção contra ataques DDoS – Ataques distribuídos de negação de serviço, também conhecidos simplesmente como ataques DDoS são uma realidade que pode atingir sites aleatoriamente. Muitas empresas de hospedagem já oferecem proteção contra esse tipo de ataque, no entanto, isso ainda não é um recurso comum entre elas. Uma CDN está preparada para lidar com esse tipo de ameaça e oferece proteção contra ataques DDoS por padrão.

Veja também: Blindagem de sites: como manter seu site protegido contra ameaças virtuais

Como usar uma CDN em seu site

Basicamente, ela pode ser usada de duas maneiras: armazenando e fornecendo recursos estáticos ou sendo usada como proxy reverso e conter uma cópia estática de todo o site. Vamos entender melhor como cada um desses métodos funciona.

Servindo apenas conteúdo estático

Um site padrão possui uma série de recursos que não são alterados com frequência, como por exemplo, imagens, folhas de estilo, scripts, entre outros. Você pode usar uma CDN para armazenar e distribuir este conteúdo sempre que alguém acessar seu site. Assim, o servidor de hospedagem continuará atendendo às requisições dos usuários, no entanto, o conteúdo estático será fornecido pela CDN.

Para entender melhor, considere o carregamento típico de um site, como exemplificado abaixo:

Exemplo site normal:

URL: http://meusite.com
Arquivo: http://meusite.com/index.php
CSS: http://meusite.com/estilo.css
Javascript: http://meusite.com/scripts.js
Imagem 1: http://meusite.com/imagem1.jpg
Imagem 2: http://meusite.com/imagem2.jpg

Se este site estivesse utilizando uma CDN para armazenar seu conteúdo estático, o carregamento do seu conteúdo seria parecido com o ilustrado abaixo:

Exemplo site com CDN:

URL: http://meusite.com
Arquivo: http://meusite.com/index.php
CSS: http://cdn.meusite.com/estilo.css
Javascript: http://cdn.meusite.com/scripts.js
Imagem 1: http://cdn.meusite.com/imagem1.jpg
Imagem 2: http://cdn.meusite.com/imagem2.jpg

Para utilização deste tipo de configuração, é necessário criar um subdomínio e apontá-lo para a rede de distribuição de conteúdo. Em seguida, você deve configurar seu site para carregar os arquivos estáticos a partir deste novo endereço.

Neste cenário, o tráfego continua sendo 100% direcionado para o seu servidor de hospedagem, enquanto parte do conteúdo é fornecido pela CDN. Assim, parte da carga do servidor é reduzida. Mas existe uma técnica que pode reduzir significativamente o consumo de recursos do servidor de hospedagem, como veremos a seguir.

Armazenando uma cópia completa do site

Nesta técnica, a CDN é configurada como um proxy reverso e o DNS do seu domínio deve ser apontado para lá. Assim, 100% do tráfego do site será direcionado para os servidores da rede de distribuição de conteúdo.

A CDN armazena uma cópia estática (em cache) de todo o site. Caso todos os recursos necessários para apresentar a página estejam neste cache, a resposta é enviada ao usuário, sem que nenhuma solicitação seja feita para o servidor de hospedagem. Caso exista algum recurso que não esteja armazenado em cache, somente esta requisição é direcionada para o servidor de hospedagem original do site.

CDN como proxy reverso
Funcionamento da CDN atuando como proxy reverso e armazenando uma cópia completa do site

Este cenário é o mais interessante para sites e blogs, pela natureza estática de seu conteúdo.

Quanto custa uma CDN

Se você nos acompanhou até aqui, pode estar pensando que um recurso desse tipo custa muito caro e que você não conseguiria pagá-lo. Pois saiba que é possível utilizar essa tecnologia gratuitamente, e ainda assim contar com um serviço de qualidade.

Dentre as empresas especializadas, algumas oferecem planos completamente gratuitos. Nesta modalidade, os recursos básicos de uma CDN estão disponíveis para todos os usuários e apenas recursos avançados ficam de fora e devem ser contratados à parte. Mas estes extras não são obrigatórios. Assim, qualquer pessoa pode ter acesso ao serviço e contar com os benefícios de uma rede de distribuição de conteúdo. Dentre as empresas que possuem planos gratuitos, podemos citar a CloudFlare e a Incapsula.

Outra maneira de ter acesso a este recurso gratuitamente é utilizando-a em conjunto com um plano de hospedagem de sites. Empresas como a HostGator e a Hostinger oferecem o CloudFlare gratuitamente em seus planos de hospedagem compartilhada.

Os preços de um plano pago podem variar bastante. Em geral, é um serviço oferecido por empresas estrangeiras e cobrado em dólar. No Brasil, a empresa GoCache oferece planos a partir de R$ 29,90 por mês. Já os planos estrangeiros começam em $9/mês, no caso da MaxCDN, e $20/mês pela CloudFlare. O plano imediatamente superior ao gratuito, da Incapsula, custa $59/mês.

É importante mencionar que empresas de hospedagem cloud também oferecem o serviço de distribuição de conteúdo. Entre as principais empresas do segmento, podemos citar a Amazon AWS e o Google Cloud Platform. A configuração do serviço, no caso dessas empresas, é mais complexa.

Conclusão

Optar por uma CDN pode ser uma escolha inteligente e necessária, considerando as vantagens que esse tipo de tecnologia proporciona. Se você deseja estar preparado para receber mais tráfego, ou se deseja apenas proteger seu site contra scripts maliciosos e ataques, este certamente será um bom caminho para se tomar.

Ficou com alguma dúvida? Possui alguma sugestão? Deixe um comentário e vamos conversar!

Tags: ,

Por:

Tudo Sobre Hospedagem de Sites é um site independente e que se propõe a ser exatamente o que sugere seu nome: uma fonte de conhecimento relevante sobre o universo de hospedagem de sites.

12 Comentários

  1. Paulo

    Bem explicado, me ajudou bastante.

    Eu tenho uma dúvida… Como são esses “pontos de CDN”? O que são, para falar a verdade? São servidores? Eles são disponibilizados como? Eu tenho um site hospedado em Porto Alegre, mas eu sou de São Paulo… Se eu configurar, ele vai otimizar para mim, que vejo o site de São Paulo? Ele funciona nesse raio de cidades? Eu só auxilia quando é de um país para outro?

    Se alguém puder esclarecer essa minha dúvida, serei imensamente grato! 🙂

    Responder
    • Bill Bordallo
      Cofundador - Tudo Sobre Hospedagem de Sites

      Olá, Paulo,
      Os pontos de CDN são data centers (parques de servidores) que o fornecedor de CDN utiliza para espalhar o conteúdo dos seus clientes pelo mundo.
      Dentre as empresas que fornecem CDN e que possuem data center no Brasil, muitas contam com pontos de presença em São Paulo. Dentre elas posso citar AWS (Amazon), CloudFlare, Go Cache, StackPath (antiga MaxCDN) e outras. Portanto, acredito que você seria beneficiado ao usar uma CDN com presença em São Paulo, mesmo com uma hospedagem no Brasil (Porto Alegre). Além disso, o conteúdo cacheado em uma CDN é estático e não demanda processamento no lado do servidor, como ocorre por exemplo em sites dinâmicos. Isso por si só já apresenta um ganho em velocidade de resposta da página.
      Ao escolher uma CDN, avalie este quesito (ponto de presença) e dê também uma atenção especial à configuração da CDN no seu site. Atualmente, é possível cachear praticamente o site inteiro, criando-se regras para excluir apenas as partes dinâmicas (como por exemplo o carrinho de compras de um e-commerce). Isso oferece um ganho de desempenho notável em relação ao mesmo site sem CDN. Vale lembrar também que outros aspectos do site podem ser otimizados para melhorar ainda mais o desempenho de um site (ex.: código-fonte).
      Espero ter esclarecido sua dúvida! Se puder ajudar com mais alguma informação, basta entrar em contato.
      Abraços.

      Responder
      • Paulo

        Esclareceu e muito Bill Bordallo e eu agradeço imensamente! O que outros portais e sites não souberam informar, aqui eu obtive de maneira rápida, efetiva e de cortesia! Muito obrigado! Sucesso sempre!

        Responder
        • Bill Bordallo
          Cofundador - Tudo Sobre Hospedagem de Sites

          Disponha, Paulo! Fico feliz em saber que pude ajudar! 🙂
          Abraços!

  2. Antonio

    Excelente artigo, muito bem explicado, sou leigo em CDN mais este artigo já me deixou muito por dentro do assunto.

    Responder
    • Bill Bordallo
      Cofundador - Tudo Sobre Hospedagem de Sites

      Olá, Antonio,
      Que bom que gostou do artigo! Obrigado pelo comentário. 🙂
      Abraços.

      Responder
    • Marcus Passos Borges

      Olá, moro na China e uso VPN direto, não sei se isso tem haver mas todo resultado de pesquisa q tenha cdn.ampproject.org no endereço retorna como “server IP address could not be found”, DNS_PROBE_FINISHED_NXDOMAIN, no meu fone Android. Será q existe algo que possa fazer? Obrigado!!!

      Responder
      • Bill Bordallo
        Cofundador - Tudo Sobre Hospedagem de Sites

        Olá, Marcus,
        Sim, é possível que este erro esteja relacionado à VPN que você utiliza. Uma tentativa de correção seria alterar os servidores de DNS que estão configurados no seu Android, mas isso provavelmente teria algum efeito na privacidade dos seus dados (já que você provavelmente utiliza os servidores de DNS da VPN).
        Infelizmente não tenho informações mais detalhadas para te passar sobre essa questão, desculpe. Mas acredito que você consegue encontrar respostas pesquisando um pouco mais sobre o assunto.
        Se puder ajudar de alguma maneira, basta entrar em contato.
        Abraços.

        Responder
    • Redação
      Equipe Tudo Sobre Hospedagem de Sites

      Obrigado pelo comentário, João!

      Responder
    • Redação
      Equipe Tudo Sobre Hospedagem de Sites

      Olá, José!
      Neste artigo, citamos algumas CDNs, entre elas a GoCache, em mencionou.
      Abraços.

      Responder

Deixe um comentário

Todos os comentários são moderados. Então, seu comentário não será exibido imediatamente após o envio.
Mas fique tranquilo(a), porque ele será respondido em breve. 😉