CDN
(em
ingles
:
Content Delivery Network ou Content Distribution Network
), termo tecnico, traduzido literalmente para o portugues como
Rede de fornecimento, entrega e distribuicao de conteudo
,
[
1
]
e um termo criado em fins da
decada de 1990
para descrever um sistema de
computadores
e redes interligados atraves da
Internet
, que cooperam de modo transparente para fornecer conteudo (particularmente grandes conteudos de
midia
) a
usuarios
finais. a Maioria dos CDNs atuais utilizam
Anycast
para distribuicao e roteamento. Simplificando, CDN, e uma maneira de enviar conteudo massivo para usuarios sem ter problemas com desempenho.
No entanto, uma
CDN
moderna vai muito alem de apenas redistribuir conteudo. Novas tecnologias foram agregadas e estas redes atualmente oferecem tambem protecao contra ataques de hackers, spammers e ataques de
DDoS
, atraves de mecanismos chamados
WAF
(Web Application Firewall). As CDN atuais sao tambem capazes de armazenar e redistribuir conteudos dinamicos (gerados por scripts), algo que as anteriores nao conseguiam, pois so armazenavam conteudos estaticos como codigos
HTML
e imagens.
O funcionamento de uma CDN se da pela alocacao de servidores dentro de Datacenter, sendo que quando e solicitado aos servidores DNS a resolucao de um nome, este obtem a resposta com o endereco do servidor local. O servidor local analisa a existencia de cache, que caso haja, e entregue ao usuario. Se nao houver a informacao em cache, e solicitado a outro servidor dentro de seu backbone. Basicamente os servidores CDN trabalham em “malha”, interligados e realizando comunicacoes entre si, visando fornecer os conteudos mais rapidamente e com a melhor qualidade possivel.
[
2
]
Apesar de sua importancia, essas redes ainda tem um uso discreto no
Brasil
, sendo majoritariamente utilizada por grandes websites
[
3
]
. Acredita-se, no entanto, que com o crescimento do numero de CDNs atuando no Brasil (como
CloudFlare
,
CloudFront
, GoCache, Fastly e Sucuri) uma parcela maior de sites brasileiros, pequenos e medios, deverao adotar a tecnologia nos proximos anos.
Nodos
de CDN sao geralmente distribuidos em diversos locais, frequentemente utilizando de varios
backbones
. Os beneficios incluidos em utilizar CDNs sao a reducao dos custos de transferencia de dados, melhorando o tempo de carregamento de paginas, ou aumentando a disponibilidade do conteudo ao redor do mundo. O numero de servidores e nodos que compoem uma CDN pode variar, dependendo da arquitetura, alguns alcancando milhares de nodos com dezenas de milhares de servidores em muitos
Point of Presence
("pontos de presenca" ou PoPs) remotos. Outros compoem uma rede global e tem um pequeno numero de PoPs no mapa.
[
4
]
As solicitacoes de conteudo sao normalmente direcionadas por algoritmos para os nodos que estao mais disponiveis. Quando otimizados para obter desempenho, os locais ideais podem ser escolhidos para oferecer o conteudo ao usuario. Isso pode ser feito escolhendo locais que tem o menor numero de
saltos
, o menor tempo entre o cliente e o servidor, ou a maior disponibilidade em termos de desempenho do servidor, de modo a otimizar a entrega de dados atraves da
rede local
. Para minimizar os custos, locais que vao exigir menos investimentos podem ser escolhidos. Em um cenario ideal, esses dois objetivos tendem a se alinhar, criando
servidores de borda (edge)
que sao proximos ao usuario final, que estao na "borda" da rede, obtendo assim uma vantagem em desempenho ou custo.
A maioria dos provedores CDN irao prover os seus servicos sob uma quantidade, definida, de PoPs, dependendo da area desejada, tal como o Brasil, o Mundo todo, a regiao da Asia-Pacifico, etc. Esses conjuntos de PoPs podem ser chamados de "nodos de borda" ou "redes de borda", pois seriam a borda mais proxima ao usuario final da CDN.
[
5
]
Referencias