Acelerando o desempenho de APIs e websites com Azion Application Acceleration

Edite no GitHub

Application Acceleration é um serviço da plataforma de Edge Computing da Azion desenvolvido para acelerar o desempenho de aplicações web e APIs por meio de otimizações de protocolo e do gerenciamento dos diferentes requisitos de conteúdo dinâmico.

O Application Acceleration habilita a criação de regras avançadas nas fases de request e response com base em geolocalização, tipo de dispositivo, cabeçalhos HTTP, cookies, path, entre outros. Dessa forma, é possível configurar regras de negócio que serão executadas diretamente no Edge, mais próximo dos usuários, aumentando significativamente a performance de suas APIs e diminuindo a complexidade necessária no backend.

Algumas outras vantagens de utilizar o Application Acceleration:

  • melhora do tempo de resposta sobre conexões de redes instáveis ou sobrecarregadas;
  • aplicação de políticas para segmentação de cache ou bypass;
  • criação de regras de rewrite baseadas em user-agent diretamente no Edge;
  • suporte ao protocolo HTTP2.

A seguir, vejamos como implementar regras avançadas com o Application Acceleration.

Como funciona

O Application Acceleration habilita um conjunto de opções avançadas para a configuração de Rules Engine que permitirão aos clientes construir lógicas de negócio diretamente no Edge. Assim, toda vez que uma requisição chegar a um dos Edge Nodes da Azion, o motor de regras dos Edge Applications configurados para aquele domínio será acionado.

O Application Acceleration habilita a configuração de regras por path para:

  • Advanced Cache Key: configurar regras customizada de cache key baseada em Cookies ou Query String e, com isso, definir a segmentação de seu conteúdo em sua aplicação, possibilitando o cache de conteúdo dinâmico;
  • Bypass Cache: definir regras de Bypass Cache para os paths de seu site que não puderem ser cacheados em nossa infraestrutura;
  • Forward Cookies: se desejar, você pode configurar a Azion para que o Set-Cookie seja repassado para seus usuários. Por padrão, a Azion filtra o Response Header Set-Cookie enviado por sua origem;
  • Suporte a POST/PUT e outros métodos: o Application Acceleration estende as funcionalidades do Edge Application para suportar os métodos POST, PUT, PATCH, DELETE, além dos já suportados nativamente GET, HEAD e OPTIONS.

Construindo regras avançadas no Edge com Application Acceleration

Caminho: Real-Time Manager > Edge Computing > Edge Application

Para ativar o Application Acceleration, basta selecioná-lo na lista de serviços disponíveis da aba Main Settings, dentro do Edge Application desejado, a partir do Real-Time Manager (RTM). Uma vez ativo, uma série de opções para configuração de regras passa a estar disponível dentro das Rules Engine e Cache Settings.

Criando regras avançadas de cache para conteúdo dinâmico variando por query string

Vamos utilizar como exemplo uma API de um site de notícias regionais que lista o conteúdo de notícias recentes, variando por cidade, atualizado a cada cinco minutos. Exemplo de URL: api.regionalnews.com/updated_news?city=city_name.

Definindo configurações de cache

O primeiro passo será definir uma regra avançada de cache para variar o conteúdo utilizando a string “cidade”. A partir do RTM, acesse a Edge Application onde será configurada a regra e, na seção Cache Settings, adicione uma nova configuração de cache, declarando um nome significativo para ela (por exemplo, “CacheByCity”).

Definindo configuração de cache (cache setting): escolha as configurações de cache para o Browser e a CDN e defina o TTL para 300 (5 minutos).

Definindo Advanced Cache Key: para o atributo “Cache by Query String”, escolha a opção “Content varies by some Query String fields (Whitelist)”. No campo “Query String fields”, informe o valor “cidade”. Isso fará com que seja criado um objeto de cache com a string “cidade” para o path indicado nas Rules Engine do Edge Application.

Se desejar, você ainda pode optar por configurar que o cache varie por cookie e por tipo de device, mas essas configurações não são obrigatórias. Em seguida, salve sua configuração.

Definindo critérios de validação

A seguir, na aba Rules Engine, adicione ou edite uma regra em Request Phase para definir o comportamento para um ou mais paths. As regras (ou Rule Engines) determinam o conjunto de condições que precisam ser atendidas para a execução dos Behaviors.

Definindo critérios de validação (criteria): escolha as variáveis, operadores de comparação e strings para construção de sua regra de negócio, como no exemplo a seguir:

  • If: ${uri} starts with /updated_news (na sequência: operador lógico, variável, operador de comparação, string)

Aqui a regra é executada se a URL acessada iniciar com a string “/updated_news”.

Definindo comportamentos (behaviors): adicione os comportamentos que deseja executar caso as condições da regra sejam satisfeitas. Exemplo:

  • Then: Set Cache Policy CacheByCity (na sequência: operador lógico, ação, função)

Nesse exemplo, se as condições definidas nas regras forem satisfeitas, então será executada a política de cache CacheByCity.

Por fim, salve a sua Edge Application, e esta já estará pronta para executar a nova regra.


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