quarta-feira, 18 de maio de 2016

O que é uma CDN?


CDN (Content Delivery Network) é uma rede de distribuição de informação que permite fornecer conteúdo Web de uma forma mais rápida a um grande número de utilizadores, distribuindo o conteúdo por múltiplos servidores.

Essa explicação é simples e objetiva e também fácil de encontrar em qualquer canto da internet.
Mas eu gostaria de explicar minuciosamente o que é na verdade a CDN, e como ela "controla a internet que você usa".

O que é uma CDN?


Imagine por exemplo que a empresa DEVIC (Developer is Coming rs) libera uma atualização para um software e o servidor onde essa atualização está hospedada encontra-se na América. Até aqui tudo normal.
Agora imagine que para esse sistema temos vários usuários pelo mundo todo, e que a Europa é o principal usuário desse software, também precisa fazer o download dessa atualização. Dessa forma torna-se muito mais cômodo utilizar uma rede de distribuição de conteúdo com servidores localizados em vários pontos do mundo para permitir que os usuários Europeus tenham um acesso mais rápido a atualização.

Outro cenário: sua empresa cresceu muito, você exporta para a China, porém seu site em mandarim leva 40 segundos para ser exibido em Pequim. Você atende do sul ao norte mas a qualidade só é aceitável no sudeste. Sua empresa exporta para a Ásia, mas seu site só pode ser visto nas Américas.

E por último: quantos usuários eu espero para datas comemorativas, como dia das Mães e o Natal? Onde segundo pesquisas são os melhores períodos de venda.
Como prever a demanda?
Para suportar essa demanda eventual a infraestrutura do seu serviço precisa estar muito bem balanceada, mas o que devo considerar a mediana de acessos? a maior demanda?

Todo esse drama chega ao fim. Tudo está resolvido, e o aplicativo é um sucesso.
A proposta da rede distribuída de CDN é resolver todas os pontos citados de maneira, simples e elegante, sem que tenhamos alem dos problemas de desenvolvimento e infraestrutura que nos preocupar com o que não está no nosso controle: a internet.

Para o exemplo da atualização com clientes espalhados pelo mundo, teríamos o mesmo arquivo de atualização espalhados por vários servidores de forma que casa usuário possa acessar a atualização nos servidores mais próximos, onde um usuário Francês tenha o conteúdo ofertado por servidores na França, o usuário brasileiro recebe seu conteúdo também regionalizado. Isso significa:
  • ausência de infraestrutura própria para disponibilizar o conteúdo;
  • menor latência e maior banda para download.
Uma das primeiras e mais básicas funcionalidades da CDN é cachear o conteúdo para o usuário final, o mais próximo possível dele.



E para as datas comemorativas, como a CDN pode nos auxiliar?
O servidores onde estão hospedados os serviços, ficam responsáveis por subir máquinas ou desligar máquina, dessa forma você nunca terá máquinas ociosas, gastando uma fortunas para mante-las no ar, quando na verdade não está sendo necessário.
Ou seja, quando seu serviço tiver uma demanda baixa, poucas máquinas estarão ligadas disponibilizando serviço, quando a demanda aumenta, as máquinas passam a funcionar para suportar a quantidade de acessos.

Hoje a maior CDN do mundo é a Akamai e possui mais de 130mil servidores, reunindo vários nomes fortes do mundo da tecnologia em sua lista de clientes. Essa mesma rede suporta em dias normais 6Tb/seg de tráfego. Aproximadamente 30% de toda a internet mundial.

Até a próxima!
Luiz Fagner Zordan Analista de Sistemas

Graduado em Sistemas de Informação, atualmente trabalhando na Embraer pela FocusNetworks como FullStack. Sou apaixonado por tecnologia, fascinado por jogos e adoro passar o tempo assistindo séries.