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.
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.
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.
- 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.
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!