Confiabilidade e redundância da CDN

Uma CDN é projetada para contornar o congestionamento da rede e ser resiliente contra a interrupção do serviço. Saiba mais sobre a confiabilidade da CDN.

Objetivos de aprendizado

Após ler este artigo, você será capaz de:

  • Entender como funciona o balanceamento de carga da CDN
  • Saber como uma CDN pode utilizar o failover
  • Explorar como algumas CDNs utilizam o roteamento Anycast

Copiar o link do artigo

Benefícios da CDN – Confiabilidade e Redundância

Uma das características importantes de uma CDN é sua capacidade de manter o conteúdo do site on-line diante dos problemas comuns de rede, incluindo falhas de hardware e congestionamento da rede. Ao fazer o balanceamento de carga do tráfego da internet, usar failover inteligente e manter servidores em muitos data centers, uma CDN é projetada para contornar o congestionamento da rede e ser resiliente contra a interrupção do serviço.

O que é balanceamento de carga? Como uma CDN faz o balanceamento de carga do tráfego?

O objetivo de um balanceador de carga é distribuir o tráfego de rede igualmente entre vários servidores. O balanceamento de carga pode ser baseado em hardware ou software. Uma CDN usa o balanceamento de carga em um data center para distribuir as solicitações de entrada no pool de servidores disponíveis para garantir que os picos de tráfego sejam tratados da maneira mais eficiente possível. Usando de forma eficiente os recursos disponíveis, o balanceamento de carga é capaz de aumentar as velocidades de processamento e utilizar a capacidade do servidor de maneira eficaz. O balanceamento de carga adequado do tráfego de entrada é um componente-chave para atenuar os picos de tráfego que ocorrem durante a atividade atípica da internet, como quando um site está enfrentando um número excepcionalmente alto de visitantes ou durante um ataque distribuído de negação de serviço.

Uma CDN também usa balanceamento de carga para fazer alterações com rapidez e eficiência quando a disponibilidade dos recursos do servidor aumenta ou diminui. No caso de um servidor falhar e ocorrer failover, um balanceador de carga redirecionará o tráfego alocado para o servidor com falha e o distribuirá proporcionalmente pelos servidores restantes. Isso fornece resiliência e confiabilidade, aumentando a probabilidade de que as falhas de hardware não interrompam o fluxo de tráfego. Quando um novo servidor fica on-line no data center, um balanceador de carga remove proporcionalmente a carga de outros servidores e aumenta a utilização do novo hardware. Os serviços de balanceamento de carga baseados em software permitem que uma CDN dimensione a capacidade de balanceamento de carga rapidamente sem os gargalos presentes ao usar hardware de balanceamento de carga físico.

O que é o failover? Como uma CDN faz o failover entre servidores?

Em sistemas de computador que exigem um alto grau de confiabilidade e disponibilidade quase contínua, o failover é usado para evitar que o tráfego seja perdido quando um servidor estiver indisponível. Quando um servidor fica inativo, o tráfego precisa ser redirecionado para um servidor que ainda esteja funcional. Ao descarregar automaticamente as tarefas para um sistema em espera ou outra máquina com capacidade disponível, o failover inteligente pode evitar a interrupção do serviço aos usuários.

Como uma CDN fornece conteúdo de maneira confiável na internet?

Uma CDN é como um sistema GPS acoplado a estradas com pedágio expresso; uma CDN será capaz de encontrar o caminho ideal para chegar a um local distante e poderá usar sua própria rede para encontrar a rota ideal para chegar lá o mais rápido possível.

Quando um usuário carrega conteúdo de um ativo da internet, como uma página web ou aplicativo web, uma série de conexões são feitas para chegar ao local em que o conteúdo está disponível. O tráfego da rede pode ser pensado metaforicamente como um sistema de estradas e rodovias; ruas de superfície menores movem o tráfego local em torno da mesma área e rodovias interestaduais transferem o tráfego para diferentes estados. Quando algo dá errado, como quando um caminhão-tanque bloqueia todas as pistas de uma rodovia interestadual no caminho principal para um estado diferente, o tráfego deve encontrar outro caminho ao redor. Como uma rodovia que cruza diferentes estados, o tráfego frequentemente precisa se mover por diferentes redes para chegar ao seu destino final. Se houver um bloqueio em uma rede específica, o tráfego deve ser redirecionado por um caminho diferente. Este processo pode ser demorado e ineficiente.

Digamos que um usuário em São Francisco esteja carregando um site em Los Angeles. A conexão faz várias etapas, mas, neste exemplo, uma das etapas mais importantes é onde o sinal da rede passa por um provedor de telecomunicações com sede em San Jose a caminho do destino final. Quando um engenheiro de rede acidentalmente derrama café no equipamento de roteamento em San Jose, o provedor fica offline, interrompendo a conexão (coisas estranhas aconteceram). Quando isso ocorre, o usuário não consegue mais carregar seu conteúdo da internet, a menos que o tráfego da rede seja redirecionado para acomodar o novo cenário de rede. A solicitação do usuário agora precisa passar por um provedor de telecomunicações diferente se quiser chegar a Los Angeles.

Agora que o tráfego não consegue mais passar pela rede pretendida, ele deve entrar em uma rede totalmente diferente mantida por uma organização diferente. Este processo de renegociação e comutação de redes pode ocorrer várias vezes em uma solicitação de rede e instâncias como essas podem adicionar latência e podem mover o tráfego para uma via congestionada, resultando em um atraso. Uma CDN de tamanho suficiente, normalmente, controlará suas próprias conexões de rede, colocando servidores em pontos de troca de Internet (IXPs) e outros locais estratégicos. Esses esquemas de rede otimizados permitem que os provedores de CDN otimizem a rota e reduzam a latência.

Como uma CDN pode usar uma rede Anycast para aumentar a confiabilidade?

Algumas CDNs usarão um método de roteamento Anycast para transferir o tráfego da internet para data centers disponíveis específicos. Isso ocorre para garantir um tempo de resposta melhorado e evitar que qualquer data center fique sobrecarregado com tráfego, em caso de demanda extraordinária, como durante um ataque DDoS.

Com a Anycast, várias máquinas podem compartilhar o mesmo endereço de IP. Quando uma solicitação é enviada a um endereço de IP Anycast, os roteadores a direcionam para a máquina na rede mais próxima. No caso de um data center inteiro falhar ou de outra forma ficar incapacitado com tráfego pesado, uma rede Anycast pode responder à interrupção de maneira semelhante a como um balanceador de carga transfere o tráfego entre vários servidores dentro de um data center; os dados são roteados para longe do local com falha e, em vez disso, são roteados para outro data center que ainda está on-line e funcional.

Os ataques DDoS são atualmente uma das ameaças mais substanciais à confiabilidade dos ativos da internet. As CDNs que usam Anycast têm flexibilidade adicional para mitigar ataques DDoS. Na maioria dos ataques DDoS modernos, muitos computadores comprometidos ou “bots” são usados para formar o que é conhecido como botnet. Essas máquinas comprometidas podem gerar tanto tráfego de internet que podem sobrecarregar uma máquina típica conectada por Unicast. Com uma rede Anycast, uma parte do tráfego do ataque de botnet pode ser distribuída por vários data centers, reduzindo o impacto do ataque. Saiba mais sobre a CDN da Cloudflare com roteamento Anycast.