Pular para o conteúdo principal
BlogComputaçãoComo o Cloud Wrapper evoluiu para otimizar o cache de objetos pequenos

Como o Cloud Wrapper evoluiu para otimizar o cache de objetos pequenos

Como o_Cloud_Wrapper_Evoluiu_para_Otimizar_o_Cache_de_pequenos_objetos

Este blog foi escrito em colaboração com Ulhas Math, cuja experiência como arquiteto sênior do Cloud Wrapper definiu a evolução da arquitetura e as melhorias de desempenho descritas abaixo. Sua orientação foi fundamental para enfrentar os desafios de dimensionamento apresentados pelo tráfego de pequenos objetos na Web.

O Cloud Wrapper foi lançado em 2018 como a solução de cache dedicada da Akamai, criada sob medida para grandes objetos de mídia. Na época, nossos clientes de mídia precisavam de uma melhor descarga em face do aumento dos custos de saída para suas bibliotecas de streaming cada vez maiores. 

O Cloud Wrapper atendeu a essa necessidade e passou de um benefício adicional com o objetivo geral de buscar um objeto uma vez para um componente essencial da infraestrutura de fornecimento de conteúdo de grandes clientes de mídia. Agora vemos os clientes aproveitando o Cloud Wrapper para reduzir os custos ao criar soluções de recuperação de desastres, e ele se tornou o padrão para os clientes de streaming ao vivo. Ele oferece proteção de origem durante eventos de alto tráfego, recursos de várias CDNs e fornece um cache dedicado no qual os clientes, inclusive a Roku, podem confiar em todas as CDNs de terceiros.

Captura de tela

Em setembro de 2024, expandimos o Cloud Wrapper para oferecer suporte a pequenos objetos e ativos da Web.

Adaptação ao conteúdo da Web

Embora o Cloud Wrapper tenha sido criado especificamente para grandes objetos de mídia, o descarregamento e a proteção da origem não são apenas um problema específico de mídia. Os clientes com muitos outros casos de uso, como empresas de comércio eletrônico com milhares de fotos de produtos e outros aplicativos com muitos ativos, estavam solicitando que o Cloud Wrapper armazenasse em cache seus ativos da Web para reduzir os custos de saída da nuvem e melhorar o desempenho (resultando em melhores classificações de SEO). No entanto, os ativos da Web são significativamente menores do que os objetos de mídia. O ethos de armazenamento em cache do Cloud Wrapper atenderia às necessidades dos clientes, mas o produto enfrentou problemas ao tentar tratar um ativo da Web minúsculo (~0,030 MB) como um objeto de mídia grande (~1,90 MB).

Precisávamos aprimorar o Cloud Wrapper para que ele pudesse lidar com objetos pequenos (e cada vez menores), garantindo que a solução fosse de alto desempenho, capaz de ser dimensionada e otimizada para lidar com uma taxa de despejo mais alta em seus servidores dedicados. 

Dimensionamento do Cloud Wrapper para desempenho na Web de objetos pequenos

À medida que as experiências na Web se tornam cada vez mais dinâmicas e pesadas em termos de ativos, garantir um desempenho consistente no tráfego da Web de objetos pequenos e em arquivos de mídia grandes é mais importante do que nunca. O Cloud Wrapper é, há muito tempo, a pedra angular do fornecimento de conteúdo de alto desempenho, especialmente para grandes fluxos de trabalho de mídia. Mas, à medida que as necessidades dos clientes evoluíam, precisávamos rearquitetar partes do sistema para lidar com um novo desafio: armazenar em cache e fornecer com eficiência um grande número de pequenos objetos da Web sem sacrificar a velocidade ou a escala.

Separação de tráfego para preservar o desempenho

Verificou-se que a combinação de tráfego da Web de objetos pequenos com grandes ativos de mídia prejudicava o desempenho de ambos os tipos de cargas de trabalho. Para resolver isso, criamos uma implementação separada de servidores do Cloud Wrapper especificamente para o tráfego da Web. Essa separação permitiu que cada implementação fosse otimizada para sua carga de trabalho exclusiva, garantindo um desempenho consistente independentemente do tamanho do objeto.

Também atualizamos a infraestrutura para essa nova implantação, selecionando hardware de alto desempenho com discos SSD, semelhantes aos já comprovados para lidar com o tráfego do Edge na escala da Akamai.

Dimensionamento para lidar com milhões de objetos adicionais

Nos casos de uso de mídia tradicional, o espaço em disco era a principal restrição, portanto, tínhamos que garantir armazenamento suficiente para arquivos de vídeo e ativos de mídia enormes. Mas com objetos pequenos, como fragmentos de HTML, arquivos JSON e respostas de API, encontramos um gargalo diferente: o número de objetos que um servidor pode armazenar e gerenciar.

Para dar suporte a essa mudança, atualizamos nossos principais serviços de cache para lidar com quase três vezes o número de objetos que as versões anteriores do Cloud Wrapper podiam suportar. Essa atualização aumentou consideravelmente a densidade de objetos por servidor, o que nos permite atender às necessidades dos clientes que priorizam a Web e, ao mesmo tempo, melhorar a eficiência geral da infraestrutura.

Aprimoramento do tratamento de despejo para um cache justo e rápido

A arquitetura do Cloud Wrapper foi criada com base no princípio de canalizar as solicitações por meio de um conjunto menor de servidores para maximizar a eficácia do cache. No entanto, esse design também significava que um único servidor tinha que ingerir e gerenciar um enorme volume de pequenos objetos durante picos de tráfego ou implementações frequentes.

Cada cliente tem uma cota de cache dedicada, o que significa que, à medida que o novo conteúdo entra, o conteúdo mais antigo deve ser eliminado no mesmo ritmo para manter a equidade e a consistência. Para dar suporte a isso, aprimoramos nossos mecanismos de despejo, garantindo que os servidores pudessem liberar espaço de forma eficiente e confiável sem afetar as taxas de acerto do cache ou diminuir a velocidade da entrega.

Resultados

Com esses aprimoramentos arquitetônicos, o Cloud Wrapper agora funciona como um escudo de origem de alto desempenho para tudo, desde pequenos ativos da Web até enormes arquivos de mídia. Nosso objetivo continua simples: buscar cada objeto apenas uma vez.

Para o tráfego da Web de objetos pequenos, os clientes observaram uma melhoria de 5% a 10% no descarregamento, com alguns atingindo taxas de descarregamento superiores a 99%. Isso significa menos solicitações de origem, tempos de resposta mais rápidos e custos de infraestrutura mais baixos.

Atualmente, o Cloud Wrapper continua sendo a proteção de origem líder de mercado. Saiba mais sobre como o Cloud Wrapper pode melhorar seu desempenho na Web aqui.

Você também pode gostar...

Comentários

Deixe uma resposta

Seu endereço de e-mail não será publicado. Os campos obrigatórios estão marcados com *