1 of 20
2 of 20
3 of 20
4 of 20
5 of 20
6 of 20
7 of 20
8 of 20
9 of 20
10 of 20
11 of 20
12 of 20
13 of 20
14 of 20
15 of 20
16 of 20
17 of 20
18 of 20
19 of 20
20 of 20

site

doc

blog

success stories

Blog

Edge Caching: serviços CDN de última geração

Edge Caching: serviços CDN de última geração

Desde seu surgimento no final dos anos 90, content delivery networks, ou CDNs, têm sido fundamentais para reduzir bottlenecks de internet e acelerar a entrega de dados através do cache de conteúdo próximo aos usuários finais. Entretanto, a internet que temos atualmente é muito diferente da internet dos anos 90. Como resultado, os proprietários de sites e aplicações modernas precisam de CDNs capazes de proporcionar mais serviços, processar um maior número de requisições, além de entregar mais rapidamente imagens de alta resolução, streaming de vídeo e conteúdo dinâmico para uma grande variedade de dispositivos.

Para que você consiga alcançar essa meta de serviços eficientes, o Edge Application da Azion aproveita a capacidade de processamento para realizar tarefas complexas no edge da rede, mais perto dos usuários finais, o que contempla as necessidades da internet moderna. Seu módulo padrão é o Edge Caching, que utiliza uma arquitetura proxy reversa para armazenar conteúdo e executar outras tarefas essenciais que são necessárias para acelerar a entrega de conteúdo.

Este post irá analisar mais de perto o Edge Caching, revisando o que é caching, explicando seus tipos diferentes, descrevendo como funcionam os proxies reversos e as tarefas que eles realizam, além de aprofundar as especificidades dessa funcionalidade.

O que é caching?

De acordo com o MDN Web Docs da Mozilla, “Caching é uma técnica que armazena uma cópia de um determinado recurso e a devolve quando uma requisição é feita”. Os arquivos armazenados em cache local podem ser acessados rapidamente posteriormente, o que permite um acesso mais rápido e uso reduzido de recursos.

Como as CDNs armazenam o conteúdo em cache?

Em um post anterior, analisamos com profundidade a história, o propósito e a anatomia de uma CDN. O texto completo pode ser lido aqui, mas faremos uma breve revisão do processo que as CDNs usam para o conteúdo em cache. Veja a seguir:

  1. As CDNs têm pontos de presença, ou PoPs, localizados em áreas geograficamente distribuídas e compostas de um ou mais servidores proxy;
  2. Quando um usuário faz uma requisição de conteúdo de um site usando a CDN, a mesma é encaminhada para o PoP mais próximo;
  3. Se uma cópia válida do conteúdo estiver no cache do servidor proxy, a requisição é atendida a partir dele; caso contrário, o proxy encaminha a requisição para o servidor de origem;
  4. O servidor de origem retorna a requisição ao servidor proxy junto com seu TTL (tempo de vida), que especifica quanto tempo o conteúdo deve permanecer no cache antes de ser removido;
  5. O proxy disponibiliza o conteúdo ao usuário que o solicitou, guardando cópias dos arquivos no cache para futuras requisições;
  6. Quando o TTL de um arquivo expira, ele é limpo do cache e o próximo usuário que solicitar esse arquivo deve esperar que ele seja buscado no servidor de origem.

De acordo com Mozilla em MDN Web Docs, definir o TTL de um arquivo é importante porque o cache “tem que ser configurado corretamente, pois nem todos os recursos permanecem sempre idênticos: é importante armazenar um recurso em cache até que haja alguma alteração, pois não há necessidade de mantê-lo por mais tempo”. Entretanto, os sites atuais apresentam uma variada gama de conteúdo, desde cabeçalhos de sites e logotipos de empresas, que provavelmente não mudarão com frequência, até notícias atuais e vendas a varejo que podem ficar desatualizadas rapidamente.

Além disso, alguns conteúdos podem variar, dependendo de quem está acessando. Muito do conteúdo atual é dinâmico, o que significa que ele é personalizado para vários usuários, dependendo de quanto tempo eles visitam um site, em quais links clicam e outros fatores que estão sujeitos a mudanças. Consequentemente, configurar adequadamente o TTL pode ser uma tarefa complexa, que é ainda mais complicada pelo fato de que o conteúdo não é armazenado em cache apenas uma vez, mas várias vezes.

Tipos de caching

O armazenamento em cache pode ocorrer no back-end, por meio de um servidor proxy, ou no front-end, por meio de um cache de navegador. Embora ambos os tipos acelerem a entrega de conteúdo, eles diferem tanto em local de armazenamento de arquivos quanto em controle e acesso do cache. O MDN Web Docs diferencia esses dois grupos, usando os seguintes termos e definições:

  • cache de proxy compartilhado: um cache do back-end que armazena recursos populares para reutilização por diferentes usuários, geralmente como parte da infraestrutura de rede local configurada para reduzir o tráfego e a latência da rede;
  • cache de navegador privado: um cache front-end dedicado a um único usuário e contém todos os documentos baixados pelo usuário via HTTP para disponibilizar as páginas da web acessadas anteriormente sem precisar de uma nova requisição ao servidor.

Um cache de proxy compartilhado – também conhecido como servidor ou CDN – é o tipo de cache que as CDNs usam para acelerar a entrega de conteúdo e melhorar a disponibilidade do site. Ele atende a muitos usuários finais em uma região geográfica. Isso possibilita uma menor latência com a redução da distância que os arquivos precisam percorrer. No entanto, o armazenamento em cache também ocorre no front-end, para que haja uma aceleração ainda maior da entrega de conteúdo. Enquanto um servidor proxy armazena cópias de arquivos para serem acessados rapidamente por muitos usuários e dispositivos, um cache de navegador é armazenado localmente em um único dispositivo e só pode ser acessado por alguém que use o navegador da web desse dispositivo específico.

Como os navegadores privados armazenam conteúdo em cache?

Conforme explicado em um blog post no Google Developers, todos os navegadores têm algum tipo de cache HTTP incorporado, que é fornecido por meio de suporte para um conjunto de APIs de plataforma web. Essas APIs permitem que os desenvolvedores determinem como o conteúdo de seu site é armazenado por meio da configuração de cabeçalhos de requisição e resposta, como controle de cache. No entanto, de acordo com o Google, o cache HTTP ocorre mesmo que um desenvolvedor não especifique por quanto tempo o conteúdo deve permanecer no cache; ou seja, se o cabeçalho de controle de cache não estiver configurado, “os navegadores adivinham com eficácia que tipo de comportamento de cache faz mais sentido para um determinado tipo de conteúdo”.

Quando um usuário visita um site, a requisição é inicialmente encaminhada para o cache do navegador, que verifica se ela pode ser atendida através dele. Se houver uma correspondência, o conteúdo será atendido a partir do cache. Caso contrário, o conteúdo será baixado deste site e armazenado no disco rígido do usuário para uso posterior, o que faz com que a página carregue mais rapidamente, além de reduzir custos de transferência de dados.

O conteúdo é removido do cache quando os arquivos expiram ou quando o armazenamento está cheio. Como alternativa, os usuários finais podem limpar manualmente o cache do navegador para liberar espaço em um disco rígido ou solucionar outros problemas de desempenho. Uma vez que o conteúdo de uma página tenha sido removido do cache todos os dados da mesma precisarão ser baixados na próxima vez em que ela for visitada, o que resulta em maior lentidão em seu carregamento.

Proxy de envio vs. proxy reverso

Há dois tipos de servidores proxy: de envio e reverso. Os proxies de envio protegem os dispositivos dos usuários finais, agindo como um túnel ou gateway entre o usuário e a internet, o que impede que os usuários recebam tráfego diretamente de um servidor de origem. Isso pode ser usado como um gateway para estabelecer restrições de navegação que impedem que certos conteúdos cheguem aos usuários, ou para ocultar a identidade de um usuário final ao fazer requisições. Um exemplo de um proxy de envio é o Roteador Onion, ou redes TOR, que encaminham o tráfego através de diferentes proxies para proteger o anonimato dos usuários.

Os proxies reversos, ao contrário, protegem os servidores de origem e impedem que eles recebam diretamente o tráfego da internet. Assim como um proxy de envio pode ser usado para ocultar a identidade de um cliente, os proxies reversos ocultam a identidade dos servidores de origem, agindo como a face pública de um website.

  • Proxy de envio: protege o dispositivo de um cliente e atua em nome de um cliente ou grupo de clientes como um túnel ou porta de entrada para a internet;
  • Proxy reverso: protege os servidores de origem e age em seu nome, servindo como a face pública de um website e proporcionando segurança, desempenho e flexibilidade de back-end.

Proxies reversos proporcionam flexibilidade e escalabilidade, permitindo que as empresas mudem sua infraestrutura de back-end sem alterar o endereço do site. Além de armazenar conteúdo em cache, eles podem melhorar a segurança e o desempenho, fornecendo serviços como:

  • mitigação DDoS;
  • blocklisting;
  • compressão;
  • terminação SSL;
  • load balancing.

Edge Caching da Azion

O Edge Caching da Azion é o módulo padrão projetado para reduzir a latência e melhorar a acessibilidade para aplicações edge por meio de uma arquitetura de proxy reverso que conecta os Edge Nodes de nossa rede global amplamente distribuída à infraestrutura de origem de um website.

Com um alto nível de granularidade necessário para um armazenamento em cache eficaz dos complexos websites modernos, o Edge Caching minimiza as requisições para a origem, resultando em maior velocidade e disponibilidade do que as CDNs legadas. Com o Edge Caching, os usuários da Azion podem optar por configurações de cache separadas para navegador e cache CDN, permitir uma segunda camada de cache para arquivos de objetos de longa duração, acelerar a transferência de arquivos maiores e conteúdo dinâmico de cache para agilizar sua entrega.

Cache settings

Os clientes Azion podem definir as configurações de cache separadamente para o servidor de origem e para o cache CDN. Usando o Edge Caching, as aplicações edge podem ser configuradas para atender aos cabeçalhos do cache de origem que manterão o TTL nas configurações de seu servidor de origem. Uma outra alternativa é substituir as configurações de cache de seu servidor, configurando manualmente as TTL.

L2 Cache da Azion

Atualmente, tanto sites quanto aplicações modernas são complexos e ricos em conteúdo, compostos de diversos arquivos com necessidades muito diferentes em termos de cache. Enquanto alguns objetos estão sujeitos a mudanças frequentes, outros permanecem estáveis e, como resultado, podem ser armazenados em cache por um longo período de tempo. Para imagens estáticas e outros objetos que podem ser armazenados por trinta dias ou mais, o L2 Cache Azion fornece uma camada adicional de armazenamento entre o edge e a origem para reduzir ainda mais o carregamento na infraestrutura de origem.

Slice Settings

Vídeos de alta definição e outros conteúdos pesados podem resultar em tempos de transferência longos, o que pode pegar o usuário de surpresa, pois as expectativas em relação ao desempenho estão cada vez maiores. Slice settings é uma característica do Edge Caching que permite o processamento eficiente de grandes quantidades de dados, dividindo os arquivos em partes menores que são entregues gradualmente aos usuários finais, em vez de transferir os arquivos de uma só vez. Esta vantagem não apenas reduz a latência, mas assegura que grandes transferências de arquivos não consumam largura de banda, resultando em congestionamento da rede que afeta a velocidade e a disponibilidade.

Advanced Cache Key

Advanced Cache Key é uma funcionalidade do Edge Caching que permite o cache de conteúdo dinâmico agrupando usuários de acordo com fatores variados, tais como localização geográfica, histórico de navegação ou perfil de compras. Regras de cache personalizadas podem ser definidas com base em metadados, tais como cookies ou strings de consulta.

Veja o que o Edge Caching pode fazer pelo seu website, criando uma conta gratuita e experimentando os produtos de edge computing da Azion. Não perca tempo, venha conhecer hoje mesmo!