Azion Edge Caching: a evolução da CDN com Edge Computing

Edite no GitHub

Em 2019, o comércio eletrônico faturou sozinho no Brasil cerca de 61,2 bilhões de reais. Em 2020, o setor prevê um crescimento acima dos 20%. Se somarmos também os setores de educação e financeiro, por exemplo, esses números são ainda maiores. Suportar esse grande volume de transações pela internet exigirá soluções cada vez mais eficientes.

Para enfrentar esse desafio, serviços tradicionais de Content Delivery Network (CDN) não são mais suficientes. Levar o processamento para mais próximo do usuário, através de uma plataforma de Edge Computing e Edge Caching, será o grande diferencial das organizações.

Mais agilidade e desempenho, menos custos e processamento em Real-Time

Em períodos de pico de audiência, como promoções ou datas especiais (Black Friday e natal, por exemplo), o alto número de requisições e acessos simultâneos pode causar instabilidade ou até mesmo queda das aplicações. Perdas de qualidade de serviço impactam diretamente a experiência do usuário e tem um reflexo negativo nas taxas de conversão dos sites.

A plataforma de Edge Computing da Azion oferece soluções dinâmicas para suportar grandes aumentos de demandas, atendendo milhares de requisições simultâneas sem comprometer sua infraestrutura, garantindo a melhor experiência para seus usuários.

Nossa rede de Edge Nodes definida em software (software-defined network - SDN), orquestrada de forma dinâmica e em tempo real para encaminhar o dispositivo (seja pessoa, mobile, IoT device, etc) para o Edge Node em melhor condição de prover a melhor experiência do serviço para o usuário. Tudo isso com SLA de 100% e mantendo os atacantes e ofensores afastados da infraestrutura de datacenter ou de nuvem dos clientes.

Você pode otimizar e acelerar o processamento de suas APIs com as soluções de Edge Caching. Com o processamento serverless na borda, é possível criar códigos, regras de negócio, lógicas de clusterização e categorização de dados cacheados no Edge para definir qualquer gradação de tempo de consistência na resposta, independente do tamanho.

A lógica é suportar grandes cargas de requisições para conteúdos dinâmicos sem necessidade de uso de sistemas de fila e sem criar situações de sobrecargas no call center pela dificuldade ( impossibilidade técnica ou financeira) em escalar horizontalmente os sistemas de retaguarda.

Quando você executa seus códigos e regras de negócio no Edge, as requisições são processadas e respondidas de forma muito mais rápida, diretamente pela Azion, invertendo a lógica das CDNs de ser necessário consultar a todo instante sua infraestrutura de TI (pelo bypass de cache para conteúdos dinâmicos).

O Software da Azion irá inspecionar e se encarregar da segurança necessária para a conexão e utilizar os recursos da sua nuvem ou datacenter quando não for viável responder diretamente na plataforma. Você economiza recursos e tempo de processamento, além de reduzir drasticamente seus custos com licenças de software, bancos de dados, infraestrutura (on premises e off premises) ou serviços na nuvem.

Como funciona

Antes de começar, certifique-se de que o serviço Application Acceleration está ativo em sua conta da Azion. Caso não esteja, entre em contato com nosso time de suporte ou comercial para habilitar este serviço.

Para entender a configuração do Application Acceleration, usaremos como exemplo uma página de capa de um site de e-commerce. Vamos considerar que, além do corpo, temos algumas seções especiais, cujos conteúdos são entregues por APIs:

  • login: área para que o usuário possa se logar na página. Não cacheado. Origem do conteúdo: api.myeccomerce.com/login;
  • destaques: destaques de promoções do dia. Cache de 1 dia. Origem do conteúdo: api.myeccomerce.com/destaques;
  • recomendações: recomendações de ofertas baseadas na navegação do usuário. Micro cache de 5 segundos. Origem do conteúdo: api.myeccomerce.com/recomendacoes.

Nesse nosso exemplo, vamos definir algumas regras de cache e microcashing para conteúdos dinâmicos. O primeiro passo então é definir as regras (Cache Settings), e o segundo será definir os mecanismos de execução dessas regras (Rules Engine).

Começando pela seção do site “destaques”, acesse no Real-Time Manager a Edge Application que deseja configurar. Na aba Main Setting, certifique-se que o módulo Application Acceleration está ativo. Na aba Cache Settings, clique no botão Add Cache Settings. Informe um nome para sua Cache Setting (utilize um nome significativo, por exemplo DestaquesCacheSet, pois é por meio dele que sua Cache Setting será identificada posteriormente na configuração da sua regra no Rule Engine).

Na seção Expiration Settings são definidas as regras básicas de expiração de cache. No campo “Browser Cache Settings” , selecione “Honor Origin Cache Headers” para que prevaleça as definições de cache da origem. Em “Honor Origin Cache Headers”, selecione “Override Cache Settings” e atribua o valor 3600 (1 dia) para “Maximum TTL”. As outras informações não precisam ser alteradas. Clique em Save. Ou seja, essa regra define que o tempo de expiração na Edge é de 1 dia.

Agora, seguindo os passos anteriores, adicione uma nova regra de cache para a seção “recomendações”, informando o nome RecomendacoesCacheSet. A única mudança será na seção “CDN Cache Settings**, onde será informado no campo “Maximum TTL” o valor 5 (5 segundos). Ou seja, essa regra define que o tempo de expiração do conteúdo será de 5 segundos.

Para criar os mecanismos de regras de validação, acesse a aba “Rules Engine”. Vamos começar criando a regra para a seção “login” do nosso exemplo. Clique no botão “New Rule”, opção “Request Phase”. Informe um nome para sua nova Rule (utilize um nome significativo, por exemplo RuleLogin, pois é por meio dele que a rule será identificada).

Na seção “Criteria” definimos a condição de validação da regra. Para a condicional “If” informe o valor ${uri}, indicando que validaremos a URI da request. Selecione a seguir “starts with” e informe “/login” como string de comparação. Isso quer dizer que a regra será acionada toda vez que a URI começar com a string “/login”.

A seguir, definimos o comportamento que será executado quando a regra for acionada. Na seção “Behavior”, no campo “Then”, selecione “Bypass Cache”. Clique no botão “+” para incluir outra ação e selecione “Forward Cookies”. Quando a regra for acionada, será feito um bypass dessa requisição.

Criaremos agora a regra para a seção “destaques”. Clique no botão “New Rule”, opção “Request Phase”. Informe o nome RuleDestaques para sua nova Rule . Na seção “Criteria” informe o valor ${uri}, indicando que validaremos a URI da request. Selecione a seguir “starts with” e informe “/destaques” como string de comparação. Isso quer dizer que a regra será acionada toda vez que a URI começar com a string “/destaques”.

Na seção “Behavior”, no campo “Then”, selecione “Set Cache Policy” e selecione a regra de cache criada anteriormente, neste caso “CacheDestaques”. Clique no botão “Save”. Quando a regra for acionada, será aplicada a regra de cache de 1 dia para o conteúdo.

Por fim, adicione uma nova “Rule Engine”, seguindo os passos anteriores, com o nome RuleRecomendações. Na seção “Criteria” informe “/recomendacoes” como string de comparação, e na seção “Behavior”, no campo “Then”, selecione “Set Cache Policy” e selecione a regra de cache criada anteriormente, neste caso “CacheRecomendacoes”. Clique no botão Save. Temos então que, quando a rule for acionada, será aplicada a regra de cache de 5 segundos para o conteúdo.


Não encontrou o que procurava? Abra um ticket.