Application Acceleration

Edite no GitHub

É o serviço de aceleração de aplicações web e APIs por meio de otimizações de protocolo e do gerenciamento dos diferentes requisitos do conteúdo dinâmico.

Através do Application Acceleration você pode configurar regras avançadas de cache por path que permitem o cache granular, a segmentação de conteúdo e políticas de cache com base em critérios como name/value de Cookies e Query Strings, além de funcionalidades como Bypass Cache, Forward Cookies e suporte a POST/PUT e outros métodos HTTP.

Application Acceleration estende as funcionalidades do produto Azion Edge Application para permitir que você configure regras por path para:

  1. Advanced Cache Key
  2. Bypass Cache
  3. Forward Cookies
  4. Suporte a POST/PUT e outros métodos

1. Advanced Cache Key

Você pode utilizar a Azion para entregar seu conteúdo dinâmico ou estático. Mesmo a parte dinâmica de um site muitas vezes pode ser cacheada para um perfil de usuários, agrupado de acordo com as necessidades específicas de sua aplicação, quer por cidade, perfil de navegação, quer por perfil de compras. Caso você deseje que seu conteúdo dinâmico seja cacheado nos Edge Nodes da Azion, você pode definir regras avançadas de cache key baseadas em Cookies ou em Query String.

Por padrão, a Azion considera cada URL como um objeto distinto no cache. Através do Advanced Cache Key, você pode configurar uma regra 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.

Para encontrar essa funcionalidade:

  1. Acesse o Real-Time Manager e entre no menu Edge Services e selecione Edge Application.
  2. Adicione ou edite uma Edge Application.
  3. Para habilitar o módulo de Application Acceleration, siga na aba Main Settings e selecione a opção Application Acceleration na sessão Edge Application Modules.
  4. Após habilitar o módulo, acesse a aba Cache Settings.
  5. Na aba Cache Settings, adicione ou edite uma configuração de cache.
  6. Na seção Advanced Cache Key, defina sua configuração customizada de Cache by Query String e de Cache by Cookie.
  7. Na aba Rules Engine, adicione ou edite uma regra em Request Phase para definir o comportamento para um ou mais paths.
  8. No behavior Set Cache Policy, selecione a configuração customizada de cache.

Cache by Query String

Na Azion você define como deseja que o conteúdo seja cacheado de acordo com variações de Query String em suas URLs:

  • Content does not vary by Query String (Improves Caching): define que a cache key deve ignorar a Query String, isto é, duas URLs distintas apenas pela variação da Query String serão consideradas como o mesmo objeto em cache, por exemplo http://seudominio.com/path?queryA e http://seudominio.com/path?queryB irão entregar o mesmo conteúdo do cache para seus usuários.
  • Content varies by some Query String fields (Whitelist): você pode listar quais campos da Query String devem ser considerados para diferenciar os objetos no cache da Azion. Todos os demais campos serão ignorados. Por exemplo, se você listar o campo “cidade”, as URLs http://seudominio.com/path?cidade=A&nome=X e http://seudominio.com/path?cidade=A&nome=Y serão considerados como um único objeto em cache, enquanto as URLs http://seudominio.com/path?cidade=A&nome=X e http://seudominio.com/path?cidade=B&nome=X serão considerados como objetos distintos.
  • Content varies by Query String, except for some fields (Blacklist): você pode listar quais campos da Query String devem ser ignorados ao diferenciar os objetos em cache. Todos os demais campos serão considerados. Por exemplo, se você listar o campo “random”, as URLs http://seudominio.com/path?cidade=A&random=123 e http://seudominio.com/path?cidade=B&random=123 serão considerados objetos distintos em cache, enquanto http://seudominio.com/path?cidade=A&random=123 e http://seudominio.com/path?cidade=A&random=456 serão considerados como o mesmo objeto em cache.
  • Content varies by all Query String fields: define que a cache key deve considerar todos os campos da Query String, isto é, duas URLs distintas pela variação da Query String serão consideradas como dois objetos distintos em cache, por exemplo http://seudominio.com/path?queryA e http://seudominio.com/path?queryB serão armazenados como objetos distintos no cache da Azion.

Além disso, para aumentar a eficiência do cache, você pode ativar a funcionalidade Query String Sort. Com a funcionalidade Query String Sort ativada, todos os campos da query string serão ordenados, fazendo com que a posição dos campos seja irrelevante na definição da cache key. Se a posição dos campos é relevante para diferenciar o seu conteúdo, você deve deixar a funcionalidade desativada.

Cache by Cookie

Você pode também distinguir os objetos no cache da Azion por nome/valor de cookies.

  • Content does not vary by Cookies (Improves Caching): define que os cookies não serão levados em consideração para diferenciar objetos no Edge Caching da Azion. Apenas a URL será considerada para diferenciação dos objetos.
  • Content varies by some Cookies (Whitelist): você pode listar o nome dos cookies que sua aplicação utiliza para diferenciar os objetos em cache. Todos os demais cookies, serão ignorados. Como isso você pode segmentar seu conteúdo por perfis de usuários e muito mais. Esta é a opção mais recomendada se você utiliza cookies para gerenciar sessões de usuários.
  • Content varies by Cookies, with the exception of a few (Blacklist): você pode listar o nome dos cookies que deseja ignorar na definição da cache key e, dessa forma, todos os cookies serão considerados, com exceção dos listados.
  • Content varies by all Cookies: define que além da URL, todos os cookies deverão ser considerados para diferenciar objetos no cache da Azion.

Utilize essa funcionalidade para segmentar seu conteúdo por perfil de usuário, por sessão de navegação, por região de acesso ou conforme sua necessidade de segmentação de conteúdo.


2. Bypass Cache

Você também pode utilizar a Azion para entregar seu conteúdo dinâmico e personalizado, mesmo quando parte de seu conteúdo não puder ser cacheado na infraestrutura da Azion. Na Azion você define as regras de cache por path. Crie uma regra de Bypass Cache para os paths de seu site que não puderem ser cacheados em nossa infraestrutura.

Para encontrar essa funcionalidade:

  1. Acesse o Real-Time Manager e entre no menu Edge Services e selecione Edge Application.
  2. Adicione ou edite uma Edge Application.
  3. Na aba “Rules Engine”, adicione ou edite uma regra em Request Phase para definir o comportamento para um ou mais paths.
  4. Selecione o behavior “Bypass Cache.

Ao utilizar Bypass Cache você estará configurando o serviço da Azion para repassar todas as requisições a um path diretamente para sua origem. Ainda assim você contará com importantes otimizações de protocolo para acelerar sua aplicação e conexão keepalive entre os Edge Servers da Azion e sua origem, sempre que possível.

Diferença entre Bypass Cache e TTL 0 (zero)

Há uma diferença de comportamento entre Bypass Cache e cache com TTL (time-to-live) definido em 0 (zero) segundos. Utilizando Bypass Cache, todas as requisições http e https recebidas pelos Edge Nodes da Azion serão enviadas para a sua origem, sem qualquer cache do conteúdo. Utilize Bypass Cache se você deseja entregar conteúdo distinto para cada requisição de usuário.

Já para TTL definido em 0 (zero) segundos, múltiplas requisições em paralelo aos Edge Nodes da Azion serão enviadas como uma única requisição para sua origem, por Edge da Azion . Utilize TTL zero se o conteúdo puder ser entregue idêntico para todos os usuários que requisitarem simultaneamente, mas o conteúdo variar a cada instante de tempo. Além disso, ao utilizar TTL zero, os Edge Nodes da Azion irão validar alterações do conteúdo com sua origem utilizando If-Modified-Since e, caso o objeto não tenha sofrido alterações desde a última requisição, o conteúdo não precisará ser novamente transferido, podendo resultar em uma resposta 304 Not Modified, muito mais rápida.

Essa diferença é importante para que você obtenha o máximo de otimização na entrega de seu conteúdo e redução de carga em sua origem.


3. Forward Cookies

Se sua origem gerencia cookies de aplicação, você pode precisar da funcionalidade Forward Cookies.

Por padrão, a Azion filtra o Response Header Set-Cookie enviado por sua origem. Se desejar, você pode configurar a Azion para que o Set-Cookie seja repassado para seus usuários.

Para encontrar essa funcionalidade:

  1. Acesse o Real-Time Manager e entre no menu Edge Services e selecione Edge Application.
  2. Adicione ou edite uma Edge Application.
  3. Na aba “Rules Engine”, adicione ou edite uma regra em “Request Phase” para definir o comportamento para um ou mais paths.
  4. Selecione o behavior Forward Cookies.

Ao utilizar a funcionalidade Forward Cookies você estará determinando que a Azion encaminhe para seus usuários o cabeçalho Set-Cookie recebido de sua origem, mesmo na situação de conteúdo em cache (cache hit). Para evitar que um usuário receba Set-Cookie de sessão de outro usuário, você deve listar todos os cookies de sessão (cookies privados) de sua aplicação na aba Cache Settings de sua configuração de Content Delivery, na seção Advanced Cache Key, em Cache by Cookie.

JavaScript Cookies

Uma alternativa ao envio do Response Header Set-Cookie é a criação de cookies por JavaScript. JavaScript permite criar, ler e expirar cookies através da propriedade document.cookie.

Para criar um cookie por JavaScript, é necessário informar name=value e, opcionalmente, expires e path:

document.cookie = “username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/”;

Você encontrará mais informações sobre JavaScript Cookies clicando aqui.

Por padrão, a Azion não irá filtrar o Request Header Cookie independentemente de sua configuração de Forward Cookies e, portanto, JavaScript Cookies poderão ser enviados para sua origem para viabilizar o gerenciamento de sua aplicação.


4. Suporte a POST/PUT e outros métodos

Você pode utilizar a Azion para acelerar suas aplicações web e APIs. Através do Application Acceleration você 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.

Você pode ativar a funcionalidade para os paths desejados:

  1. Acesse o Real-Time Manager e entre no menu Edge Services e selecione Edge Application.
  2. **Adicione ou edite uma **Edge Application.
  3. Na aba **Main Settings, ative o módulo Application Acceleration.

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