Curso Livre de Redes de Computadores II/Redes de Distribuição de Conteúdo - CDNs

 CDN ( Rede de Entrega de Conteúdo )

Introdução. editar

Uma CDN é uma plataforma de servidor, a qual é altamente distribuída, ajuda a minimizar atrasos no carregamento de conteúdos de Web, Reduzindo a distancia entre o servidor e o usuário. Fazendo com que todo mundo possa visualizar a mesma imagem com a mesma alta de qualidade. Em termos específicos, a tecnologia CDN fornece como benefícios principais para uma empresa:

- Desempenho 
- Disponibilidade 
- Segurança
- Inteligência

Sem uma CDN, os servidores de origem de conteúdo devem responder a cada solicitação de usuário final, resultando em um tráfego significativo, fazendo com que aumente assim as chances de falha na origem.

O maior consumidor de tráfego de Internet são os vídeos, onde temos a Netflix, que consome 37% e o Youtube, que fica com 16% do tráfego de downstream nos ISPs dos usuários. O problema disso é como escalar essa alta demanda, onde uma das principais soluções é baseada em uma infraestrutura distribuida a nível de aplicação, fazendo com que o conteúdo seja replicado e seja possível atender uma demanda escalonável.

A CDN pode ser uma CDN privada ou de terceiros. A CDN privada pertence ao provedor de conteúdo como, por exemplo a Google que prove conteúdo ao Youtube. Enquanto a CDN de terceiros distribui conteúdo em nome de outros provedores de conteúdo, por exemplo, a Akamai que é uma CDN de terceiros que distribui conteúdos do Netflix e da Hulu.[1]

As CDN's comumente utilizam um desses 2 tipos de instalação de serviços:

Enter deep: começou sendo utilizada pela Akamai e consiste em usufruir redes de acesso dos Provedores de Serviço de Internet pelo uso de clusters de servidores no acesso de ISPs por todo o mundo.

Bring home: baseia-se em trazer consigo os ISP's, criando clusters grandes mas em pequenas quantidades utilizando uma rede privada de alta velocidade para conectá-los.

Funcionamento de uma CDN editar

Basicamente, o funcionamento das CDN’s consiste em reproduzir conteúdos que estão armazenados dentro dos Datacenter's. A versão reproduzida do conteúdo será salva em cache em várias localizações geográficas do planeta, chamados de Pontos de Presença (PoP). Esses PoPs conterão seus próprios servidores de cache e serão responsáveis por entregar esse conteúdo no local do usuário.

Quando um usuário desejar visualizar um conteúdo, o mesmo será mapeado para um servidor de CDN idealmente localizado, e o servidor responderá com a versão em cache dos arquivos solicitados. Se em alguma ocasião o servidor mais próximo não conseguir entregar o conteúdo ao usuário, ele irá procurar por outros servidores em um ambiente de CDN. Resumidamente, os servidores CDN trabalham em “malha”, interligados e realizando comunicações entre si, visando fornecer os conteúdos mais rapidamente e com a melhor qualidade possível. [2][3][4]


Características editar

Benefícios de se usar CDN editar

Uma grande vantagem de se utilizar CDN é a redução do tempo de resposta dos servidores, pois os dados passam a não ter mais a necessidade de trafegar por longas rotas, fazendo com que o site consiga facilitar a interação dos usuários com os componentes, tendo assim uma otimização na rede. Dessa forma, transmissões de streaming também se beneficiam da CDN, pois ele auxilia na redução de delay (atraso) na transmissão de vídeo e áudio, já que disponibiliza à quem está assistindo o servidor mais próximo ao seu provedor de conexão de acesso a internet, dificultando que haja oscilações na transmissão. [5]

A CDN ajuda na economia de recursos de infra e na percepção de desempenho, um simples problema de rota, que poderia resultar em reclamações de lentidão, passa despercebido, já que os servidores da CDN estão espalhados em diversas redes e locais diferentes distribuindo o conteúdo do site do indivíduo normalmente.


Desvantagens de se usar CDN editar

Custos adicionais por mês para redes de distribuição de conteúdo Existe um certo número redes de CDN gratuitas acessíveis, como: GoogleAPI, BootstrapCDN, Coral Content Distribution Network e CloudFlare. No entanto, a maioria dos CDNs é fornecida mensalmente com base no número de solicitações de recursos. O custo depende do número de visitantes e dos recursos disponíveis no seu site. Porém, essa situação pode se demonstrar custosa com o tempo, além do plano mensal de hospedagem. [6]


Provedores de CDN editar

Existem diversas empresas que fornecem serviços nessa área de distribuição de conteúdo. Entre as mais famosas, destacam-se a Cloudfare, Google,

Amazon e Microsoft.

  • Cloudfare CDN: Utilizando o seu sistema de roteamento Argo Smart Routing,[7] a Cloudfare dá suporte mais de 10 trilhões de requisições globalmente, com detecção de congestionamento em tempo real para entregar conteúdo de forma rápido pelas redes mais seguras.[8]
  • Cloud CDN (Google): Com armazenamento de cache pareado com diversos dos principais ISPs do mundo, a Cloud CDN fornece conteúdo para usuários em qualquer lugar do mundo, suportando protocolos como HTTP/2 e QUIC. [9]
  • Amazon CloudFront: É um serviço de CDN que entrega dados, vídeos, aplicações e APIs a clientes espalhados por todo mundo, de forma rápida, segura e com um ambiente facilitado para desenvolvedores. Por se tratar de um serviço da Amazon, pode ser facilmente integrado com serviços da Amazon Web Services. [10]
  • Azure CDN (Microsoft): Serviço com cobertura global e escalabilidade em massa, também é integrado aos serviços de cloud do Microsoft Azure. Este serviço de CDN também se integra com provedores como a Akamai e a Verizon. [11]
  • Akamai: Fornece serviços CDN melhores e seguros para as empresas, provisionando uma transferência de dados de alta velocidade e protegendo as companhias contra ataques. Possuem servidores no mundo todo que colaboram com taxas de transferência de dados mais rápidas, chegando ao cliente no local mais próximo.
  • Cachefly: Oferece a implantação em tempo de execução com seu JavaScript Fly. Utilizando o anycast CDN, eles fornecem taxas de transferência até 10 vezes mais rápidas, com transferências seguras garantidas.
  • Jsdelivr: Serviço de CDN gratuito para o gerenciamento de projetos de código aberto. Oferecendo uma API para os desenvolvedores que atuam nestes projetos. Tendo como seus principais focos a confiança e a segurança,


CDN Virtual (vCDN) editar

vCDN são aplicativos de software de CDN virtualizados, ajudam a reduzir os custos ao se afastar dos servidores dedicados e são construídos especificamente para servidores compartilhados e multifuncionais. Com a capacidade dos processadores de hoje de oferecer suporte de vários sistemas de gerenciamento de vídeo, uma função do CDN usada para fornecer vídeo pode ser executada em uma VM(sistema de gerenciamento de vídeo), enquanto outros serviços podem operar em diferentes VMs no mesmo servidos físico. Com esse modelo permite que as operadoras utilizem melhor os recursos dos servidores, a CDN virtualizado pode ser mais econômico do que um CDN executado em uma infraestrutura dedicada. Mas, embora o vCDN diminua o custo, ainda não resolve os desafios relacionados ao planejamento de capacidade, agilidade ou qualidade.[12]

Referencias editar

  1. KUROSE, Jim F.; ROSS, Keith W.. Redes de computadores e a internet: uma abordagem top-down. 6. ed. São Paulo: Pearson Education, 2013.
  2. https://www.hostinger.com.br/tutoriais/o-que-e-cdn
  3. https://www.akamai.com/br/pt/cdn/what-is-a-cdn.jsp
  4. https://www.riuni.unisul.br/bitstream/handle/12345/3163/Artigo_LuisFernando_Vfinal.pdf?sequence=1&isAllowed=y
  5. https://blog.brasilcloud.com.br/cdn-entenda-agora-o-que-e-e-suas-principais-vantagens/
  6. https://www.researchgate.net/publication/299532516_The_Role_of_Content_Distribution_Networks_in_the_Future_Media_Networks
  7. Cloudfare CDN
  8. Argo Smart Routing
  9. Cloud CDN
  10. Amazon CloudFront
  11. Microsoft Azure CDN
  12. https://stlpartners.com/edge-computing/cdn-what-is-edge-cdn-and-virtual-cdn-vcdn/