Serviço CDN – o que é e porque utilizar

Neste post vamos analisar o que são os chamados links ou serviços CDN, utilizados para otimizar a performance de websites e sistemas na internet.

Fiz este post apenas para esclarecer o que são os chamados links ou servidores CDN, utilizados para otimizar a performance de websites e sistemas.

Introdução

CDN – Content Delivery Network – é o nome dado a um serviço que basicamente consiste em um conjunto de servidores, estrategicamente posicionados no globo terrestre, que ganhou notoriedade de um tempos para cá na otimização de páginas de web (carregamento de páginas), onde são disponibilizados acessos a certos arquivos de interesse mútuo em projetos Web, como é o caso de algumas bibliotecas e frameworks como o jQuery e o Bootstrap.

Apenas isso? Sim, apenas isso, mas o que realmente torna esse serviço útil é a maneira como ele opera.


Como funciona?

Todo equipamento que opera através da internet funciona com principio básico de enviar um sinal (geralmente a um servidor) e aguardar a resposta que pode vir em forma de uma página web, execução de uma função, entre outras milhares de possibilidades de retorno de resposta. Com os servidores CDN não é diferente, todo projeto que tiver arquivos linkados a servidores CDN tendem a carregar mais rápido devido a localização estratégica dos servidores no globo, o que faz com que a sua requisição busque o servidor mais próximo para diminuir ao máximo possível o tempo de resposta do servidor (o que em larga escala representa uma melhora e tanto, principalmente para o servidor que recebe requisições). Observe a topologia abaixo:

CDN – o que é e porque utilizar - Web Social Dev

Então a cada solicitação, o servidor principal verifica se já existe cache do arquivo solicitado, e encaminha sua solicitação para o servidor mais próximo que de fato disponibiliza o acesso ao arquivo liberando os recursos do framework ou plugin na sua página.

Na verdade ocorrem outros processos (que para o usuário final não fazem diferença alguma) para de fato você receber o arquivo do servidor mais próximo, a imagem abaixo complementa a topologia de rede do serviço e exemplifica melhor como é tratada cada requisição do serviço.

CDN – o que é e porque utilizar - Web Social Dev


Como utilizar

A utilização de links para conteúdo CDN é bem simples, basta linkar o arquivo necessário na sua página da mesma forma que você linka arquivos para plugins, porém o direcionamento será dado para o serviço CDN em questão. Exemplo:

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

Esse exemplo é um link da bilbioteca jQuery versão 1.7.2 através do serviço CDN do Google (que é chamado de Google Hosted Libraries). Um fato interessante sobre este é que muitos desenvolvedores e comunidades de desenvolvimento recomendam o uso da biblioteca jQuery através do CDN do Google por dois motivos simples:

  • é ministrado pelo Google e está em constante atualização, de acordo com a biblioteca jQuery original (respeita todos os padrões da mesma)
  • O Google é onipresente, o que facilita a requisição destes arquivos sem contar que você provavelmente já tem esse arquivo em cache no navegador, pois outros sites (muitos, principalmente serviços) podem utilizar o mesmo.

Além do Google, existem diversas empresas atuando neste campo, disponibilizando servidores ao redor do globo para otimizar o funcionamento global da internet, replicando não só arquivos simples como também projetos inteiros, tudo isso para otimizar o carregamento dos serviços e páginas online.

Segue lista de serviços pagos e gratuitos:

  • Rackspace – empresa com atuação nacional, disponibiliza serviço CDN para arquivos e projetos web. Serviço pago.
  • Google Hosted Libraries – serviço CDN do Google com link para os diversos repositórios para desenvolvimento web disponibilizados pelo Google como o Angular.js, jQuery, jQuery Mobile, jQuery UI, Dojo, entre outros. Serviço gratuito.
  • CDNJS – este na minha opinião é um dos serviços CDN mais uteis que temos disponveis gratuitamente. Na verdade este serviço é um projeto Open Source da CloudFlare que disponibiliza scripts (em sua maioria arquivos CSS e JS) de diversas bibliotecas e frameworks para desenvolvimento web. O repositório, é gerenciado através do GitHub, então qualquer um pode fazer um pull request para inclusão de algum plugin ou framework no serviço. Serviço grátis e Open Source.


Além destes, várias outras empresas disponibilizam o serviço, como Microsoft, Amazon, WordPress, Magento, entre muitas outras, pois facilita o funcionamento de seus serviços e em contra partida beneficia o usuário.

Conclusão

Bom galera é isso, esse post se originou de pesquisas que fiz para entender como funciona esse serviço e porque comunidades e desenvolvedores recomendavam a utilização do mesmo. Realmente este tipo de serviço ajuda a otimizar o carregamento de páginas (seja de sistemas ou websites básicos) e vale a pena utilizar o mesmo, visto que temos vertentes do mesmo gratuitas.

Qualquer duvida estou inteiramente a disposição nos comentários.

🙂