Desde o seu surgimento na década de 1990, as CDNs vêm sendo apresentadas como uma solução para reduzir a latência e melhorar a disponibilidade do site – fatores que têm um impacto direto nos resultados financeiros dos sites. De acordo com o relatório da Deloitte de 2020, Milliseconds Make Millions, até mesmo uma redução de 0,1s na latência aumenta as conversões de varejo em 8,4%, o valor médio do pedido em 9,2%, o bounce rate em 5,7% e o envolvimento do cliente em 5,2%.
No entanto, as frequentes atualizações e o conteúdo dinâmico dos sites de hoje são problemáticos para as CDNs legadas, que só podem armazenar em cache conteúdo estático e devem encaminhar requisições para os servidores de origem sempre que o conteúdo desatualizado for removido do cache.
Como resultado, surgiu um novo tipo de plataforma de rede distribuída, capaz de entregar conteúdo com a agilidade da internet de hoje. Pensando nesse cenário, este post vai explicar o que são e como funcionam as CDNs, os fatores que afetam o desempenho de uma CDN, a evolução e a transformação das CDNs, e de que forma o edge computing está inovando o mercado. Além disso, também vai abordar os benefícios de usar os produtos de edge computing como o Edge Application, o Edge Functions e o Edge Cache da Azion como a solução para aplicações modernas.
O que é uma CDN?
CDN, ou Content Delivery Network, é um tipo de serviço de computação que armazena conteúdo em locais amplamente distribuídos no mundo inteiro, ficando mais próximos dos usuários do que data centers centralizados. Dessa forma, as CDNs reduzem a carga nos servidores de origem e permitem que usuários distantes recebam conteúdo mais rapidamente.
As CDNs usam servidores de cache, também conhecidos como servidores forward proxy, para salvar ou manter temporariamente cópias de arquivos acessados previamente por um determinado período de tempo, também conhecido como time-to-live ou TTL. Esse processo de retenção temporária de conteúdo é conhecido como armazenamento em cache.
Quando o cache é limpo, ou quando um novo conteúdo é requisitado, os servidores de cache encaminham essas requisições para os servidores de origem do site. Resumindo:
- Servidor de origem: servidor que é atualizado e mantido por uma empresa digital com o conteúdo mais atualizado do site;
- Servidor de cache: servidores distribuídos geograficamente que armazenam conteúdo em cache e encaminham requisições de novo conteúdo para o servidor de origem de um site;
- Cache: cópias de arquivos armazenados em um servidor de cache por um determinado período de tempo após serem trazidos do servidor de origem de um site;
- TTL: o período de tempo em que os arquivos devem permanecer em um cache antes de serem limpos.
Além de armazenar conteúdo em cache, as CDNs maiores podem oferecer serviços de segurança, tais como proteção contra DDoS Web Application Firewalls. Como as CDNs funcionam como proxies posicionados entre os usuários de um site e seus servidores de origem, eles também podem servir como uma primeira linha de defesa contra ataques de segurança cibernética, filtrando o tráfego malicioso antes que alcance os servidores de origem de um site.
Evolução da CDN
As CDNs foram introduzidas pela primeira vez no final dos anos 1990 para aliviar os gargalos causados pelo aumento do tráfego da internet e melhorar a confiabilidade dos serviços de missão crítica. Desde então, o tráfego, o conteúdo e a infraestrutura da internet mudaram consideravelmente, resultando em uma necessidade maior de CDNs, o que, porém, só terá continuidade futuramente. De acordo com um recentepress release da MarketsandMarkets, o mercado de CDNs deve crescer de US$ 14,4 bilhões em 2020 para US$ 27,9 bilhões em 2025, com crescimento impulsionado por aumentos de:
- necessidade de entrega de conteúdo confiável e de alta velocidade em tempo real;
- expectativas de serviço e da necessidade de maior qualidade da experiência;
- sites com conteúdo de vídeo e rich media;
- demanda por jogos de baixa latência e streaming de vídeo;
- uso da internet e da adoção de dispositivos móveis.
Essas mudanças ocasionaram no mercado uma transformação de CDNs legadas para plataformas de edge computing, que executam workloads no edge através de tecnologias wireless. Tanto edge quanto serverless computing são mercados em rápida expansão, ultrapassando o CAGR de 14,1% das CDNs – com um crescimento de serverless computing a um CAGR de 22,7%, e edge computing com um aumento surpreendente de 34,1% entre 2020 e 2025, de acordo com as previsões recentes da MarketsandMarkets. Além disso, as CDNs tiveram que evoluir com o tempo, buscando mais capacidade, ofertas de serviços e melhor tecnologia subjacente.
Capacidade
O uso da internet aumentou substancialmente desde que a Akamai introduziu a primeira CDN em 1999. Na época, os celulares ainda usavam redes 2G, o smartphone ainda não havia sido introduzido e o termo IoT tinha acabado de ser criado. Desde então, a proliferação de dispositivos conectados à internet explodiu, exigindo capacidade adicional para acomodar bilhões de dispositivos e zettabytes de dados. Além disso, o conteúdo de aplicações web está cada vez mais pesado, incorporando vídeos e imagens de alta definição. Diante disso, as CDNs tiveram que expandir a capacidade de centenas de megabits por segundo e milhões de requisições por dia para dezenas de terabits por segundo e trilhões de requisições por dia.
Serviços
Com o surgimento de IoTs e dispositivos móveis, as CDNs tiveram que oferecer uma variedade maior de serviços. A enorme quantidade de dispositivos e de tamanhos de tela, associada ao aumento de imagens de alta qualidade nos sites, levou à necessidade de serviços de otimização de imagem. Ao mesmo tempo, a expansão de IoTs, que geralmente têm recursos de segurança menos rígidos do que os PCs, e as maiores superfícies de ataque de aplicações web modernas impulsionaram a necessidade de CDNs capazes de mitigar ataques DDoS e de proteger aplicações web. Além disso, esse aumento de IoTs exigiu data centers distribuídos capazes de realizar processamento e análise em tempo real, o que resultou, talvez, no maior passo para a evolução da CDN até o momento: a transição de CDNs tradicionais para CDNs de edge computing.
Tecnologia
A infraestrutura de CDN evoluiu de PoPs, que consistem em servidores de cache, para edge data centers capazes de fazer análises e processamento de dados em tempo real. Essa transição tem se tornado cada vez mais necessária devido ao aumento da automação, que substituiu a velocidade humana pela velocidade da máquina. De acordo com o relatórioState of the Edge mais recente da LFE, “a internet de hoje – embora rápida o suficiente para a maioria dos humanos – parece arcaica quando as máquinas conversam entre si […] À medida que um número cada vez maior de máquinas conecta-se online, as empresas buscarão aplicar o poder do processamento dos servidores em seus comportamentos. Isso exigirá uma internet preparada para edge e que opere na velocidade da máquina”.
Além disso, as aplicações de baixa latência, como VR, AR, videoconferência e serviços ultraconfiáveis habilitados por 5G, exigem cada vez mais recursos de processamento poderosos no edge, substituindo os PoPs CDN por edge data centers. O glossário Open Glossary of Edge Computing da LFE explica que os edge data centers são “capazes de executar as mesmas funções que os data centers centralizados, embora individualmente em menor escala”, um feito que é possibilitado por “operação autônoma, multi-tenancy, resiliência distribuída e local, e padrões abertos”.
Anatomia de uma CDN
PoPs
Os PoPs costumam ser frequentemente confundidos com data centers, já que os dois termos são usados alternadamente. No entanto, para uma CDN tradicional, os PoPs são geralmente muito menores e menos complexos do que os data centers. O Open Glossary of Edge Computing da LFE fornece as seguintes definições para os dois termos:
- PoP: um ponto em sua infraestrutura de rede onde um provedor de serviços permite a conectividade de sua rede por usuários ou parceiros.
- Data center: uma estrutura projetada especialmente para hospedar múltiplos nodes de computação e fazer armazenamento de dados de alto desempenho, de forma que uma grande quantidade de recursos de computação, armazenamento de dados e de rede estejam presentes em um único local. Isso geralmente envolve sistemas especializados de racks e gabinetes, piso construído especificamente para esse fim, bem como sistemas adequados de aquecimento, resfriamento, ventilação, segurança, prevenção de incêndio e fornecimento de energia.
Simplificando, um PoP é qualquer ponto de acesso à rede, podendo ser tão pequeno quanto um único servidor com recursos limitados. Inclusive, alguns dispositivos e equipamentos de rede mais avançados podem servir como PoPs. Os data centers, por outro lado, hospedam vários servidores que podem se traduzir em milhares de PoPs em um local centralizado.
Devido ao seu tamanho e escala, os data centers podem lidar com muito mais tráfego do que um único PoP e são capazes de executar funções de computação mais complexas. Um PoP é projetado para realizar tarefas mais simples, como armazenar conteúdo em cache, servir conteúdo em cache e encaminhar as requisições que não estão armazenadas no cache.
Servidores de Cache
Cada PoP é composto por um ou mais servidores de cache. Os servidores de cache armazenam arquivos temporariamente com o seu TTL, que informa ao servidor por quanto tempo os arquivos devem permanecer no cache antes de serem excluídos. Isso garante que o conteúdo possa ser limpo a fim de remover conteúdo antigo, abrir espaço para novo conteúdo e assegurar que, ao carregar conteúdo, nenhum problema ocorra indefinidamente. Quando o TTL expira ou quando o proprietário do site limpa manualmente o cache, os arquivos em cache são excluídos. Na próxima vez que o conteúdo for requisitado ao servidor de cache, ele encaminhará a requisição ao servidor de origem para buscar o conteúdo, proporcionando conteúdo atualizado, mas com maior latência.
Recursos do Servidor
Os recursos do servidor apresentam-se de duas maneiras: persistente e in-memory. A memória RAM, de acesso aleatório, é usada para armazenamento in-memory, que pode ser rapidamente acessada pela CPU ao mesmo tempo em que os arquivos estão em uso. No entanto, a memória RAM também é volátil. Isso significa que os arquivos não permanecem na memória quando não são necessários ou quando a máquina for desligada. Em contrapartida, o armazenamento persistente tem mais capacidade e não é volátil, ou seja, os arquivos ali armazenados permanecem no local mesmo quando o servidor estiver desligado. No entanto, o armazenamento persistente leva mais tempo para acessá-lo – esse tempo irá depender do tipo de armazenamento que a máquina estiver usando.
Os servidores mais antigos usam unidades de disco rígido (HD) para armazenamento persistente, que usa um processo mecânico semelhante a um toca-discos para ler e gravar dados. Por consequência, é mais lento e frágil do que os solid-state drives (SSD), uma tecnologia mais recente, que armazena dados em chips de memória flash interconectados. Como não há partes móveis, os SSDs são mais rápidos e confiáveis do que os HDs. Eles também são melhores para acessar arquivos fragmentados, que são armazenados em diferentes locais em um disco. A Plataforma de Edge da Azion usa SSDs para oferecer melhor desempenho e confiabilidade. Ou seja:
- RAM: armazenamento in-memory, que mantém os arquivos temporariamente enquanto estão em uso, de maneira que possam ser acessados rapidamente pela CPU;
- HD: método de armazenamento permanente, que usa um dispositivo mecânico para ler e gravar arquivos em um disco magnético giratório;
- SSD: método mais recente de armazenamento permanente, que armazena e acessa dados por meio de chips de computador.
Virtualização
As CDNs armazenam dados de muitos clientes diferentes, sendo que cada um deles deve ser isolado para evitar vazamento de dados e problemas de segurança. Além disso, recursos como CPU e largura de banda devem ser segmentados para garantir acesso equitativo e evitar que o tráfego de um único cliente sobrecarregue um servidor. Uma maneira de fazer isso é segmentar um servidor em máquinas virtuais (VMs): ambientes virtualizados separados e independentes, onde cada um conta com sua própria interface de rede e sua própria CPU, memória e armazenamento. Isso também permite aos CDN vendors fornecerem recursos mais flexíveis, uma vez que as VMs podem ser aceleradas em questão de minutos para atender ao aumento da demanda.
No entanto, os usuários de hoje não esperam minutos até uma página carregar; ao contrário, o usuário-padrão abandona uma página lenta em segundos. A fim de ganhar mais flexibilidade, os recursos podem ser divididos em contêineres, com propriedades de isolamento flexíveis que lhes permitem compartilhar o kernel do sistema operacional, em vez de exigir que cada contêiner inclua seu próprio sistema operacional, como ocorre com as VMs. Como resultado, novos contêineres podem ser implementados em segundos e acelerados em cerca de meio segundo.
Fatores que afetam a performance da CDN
Embora o objetivo de todas as CDNs seja o mesmo – acelerar a entrega de conteúdo, reduzir o uso de recursos e melhorar a confiabilidade – a sua capacidade de executar essas tarefas varia consideravelmente. Primeiro, o desempenho da CDN é altamente dependente da localização, da distribuição e do número de PoPs do CDN vendor. Como as CDNs melhoram o desempenho ao reduzirem a distância entre os usuários e o conteúdo solicitado, os PoPs devem estar localizados o mais próximo possível de onde os usuários finais estão concentrados.
Além disso, os PoPs não são criados de forma igual. Um servidor instalado em um gabinete em um prédio de escritórios não terá a mesma confiabilidade ou segurança de um servidor hospedado em um data center com redundâncias integradas, suporte no local para lidar com questões técnicas e de segurança, e sistemas especialmente desenvolvidos para controlar a temperatura, a umidade e o fluxo de ar.
O desempenho também depende da qualidade e da capacidade do equipamento que está sendo usado. Por exemplo, os HDs não são tão rápidos ou confiáveis quanto os SSDs, e ainda consomem mais energia. A capacidade do servidor também faz a diferença: servidores com mais armazenamento e memória terão menos falhas de cache e, consequentemente, menor latência.
A performance da CDN depende de muitos fatores, tais como:
- localização e número de PoPs;
- cobertura regional ou geográfica;
- QoS e capacidade dos IBXs e data centers;
- qualidade e capacidade do equipamento.
Benefícios do Edge Application
O Edge Application da Azion substitui os serviços das CDN legadas pelos recursos de edge computing, incluindo módulos para Edge Cache, aceleração de aplicações, otimização de imagens e load balancing. Além disso, o Edge Application pode ser estendido com segurança e análises em tempo real por meio dos produtos Edge Firewall e Edge Analytics. Você ainda conta com a capacidade de criar conteúdo personalizado e aplicações edge-native através do Edge Functions.
O Edge Cache fornece serviços de cache projetados para a internet de hoje. Nossa rede definida por software monitora e processa as requisições em tempo real, sempre garantindo que a conexão seja segura e que os usuários finais sejam atendidos pelo edge node mais íntegro e mais próximo. Com nossa plataforma serverless, os clientes da Azion podem criar códigos, regras de negócios, lógica de clustering e categorizar dados em cache no edge para suportar altos volumes de requisições e entrega de conteúdo dinâmico.
Com o Edge Cache, os clientes Azion ganham:
- primeira linha de defesa contra-ataques;
- carregamento de página mais rápido;
- processamento de API otimizado;
- gerenciamento de tráfego otimizado;
- jurisdição local e conformidade;
- controle gerenciado e flexibilidade;
- melhor experiência do usuário.
Experimente, em primeira mão, os benefícios do Edge Cache. Crie umaconta gratuita na Azion ainda hoje e acesse todos os produtos e recursos da nossa plataforma.