Application Acceleration
Application Acceleration é um modulo de Edge Application que acelera aplicações web e APIs através da otimização de protocolo e do gerenciamento de requisitos de conteúdo dinâmico. 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 cookies e query string. Este módulo também oferece recursos como Bypass Cache, Forward Cookies e suporte a métodos HTTP.
1. Como funciona
Você pode utilizar a Azion Edge Application para entregar seu conteúdo dinâmico ou estático. A parte dinâmica de um site pode ser cacheada para um perfil de usuários, agrupado de acordo com as necessidades específicas de sua aplicação, como cidade, perfil de navegação, ou perfil de compras.
Por padrão, a Azion considera cada URL como um objeto distinto no cache. O módulo Application Acceleration permite que seu conteúdo dinâmico seja armazenado em cache nos edge nodes da Azion.
2. Advanced Cache Key
Ao habilitar a Application Acceleration, você pode criar regras avançadas de cache key baseadas em Query String ou Cookies para definir a segmentação do conteúdo em sua aplicação.
Para ativar essa funcionalidade, siga os passos:
- Acesse o Real-Time Manager.
- No canto superior esquerdo da página, selecione Products menu > Edge Application.
- Selecione uma aplicação ou crie uma nova.
- Para habilitar o módulo de Application Acceleration, clique na aba Main Settings e selecione a opção Application Acceleration na seção Modules.
- Após habilitar o módulo, clique na aba Cache Settings.
- Adicione ou edite uma configuração customizada de cache.
- Na seção Advanced Cache Key, defina sua configuração customizada de Cache by Query String e de Cache by Cookie.
- Na aba Rules Engine, adicione ou edite uma regra de sua lista em Request Phase a fim de definir o comportamento para um ou mais paths.
- No behavior Set Cache Policy, selecione a configuração customizada de cache.
2.1. Cache by Query String
Na Azion, você define como deseja que o conteúdo seja armazenado em cache 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. Ou seja, duas URLs distintas apenas pela variação da Query String serão consideradas o mesmo objeto em cache. Por exemplo,
http://seudominio.com/path?queryA
ehttp://seudominio.com/path?queryB
irão entregar o mesmo conteúdo do cache para seus usuários. -
Content varies by some Query String fields (Allowed rules): 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 URLshttp://seudominio.com/path?cidade=A&nome=X
ehttp://seudominio.com/path?cidade=A&nome=Y
serão consideradas um único objeto em cache, enquanto as URLshttp://seudominio.com/path?cidade=A&nome=X
ehttp://seudominio.com/path?cidade=B&nome=X
serão consideradas 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 URLshttp://seudominio.com/path?cidade=A&random=123
ehttp://seudominio.com/path?cidade=B&random=123
serão consideradas objetos distintos em cache, enquantohttp://seudominio.com/path?cidade=A&random=123
ehttp://seudominio.com/path?cidade=A&random=456
serão consideradas 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. Ou seja, duas URLs distintas pela variação da Query String serão consideradas dois objetos distintos em cache. Por exemplo,
http://seudominio.com/path?queryA
ehttp://seudominio.com/path?queryB
serão armazenadas como objetos distintos no cache da Azion.
Dica: para aumentar a eficiência do cache, você pode ativar a funcionalidade Query String Sort. Se ativada, ela ordena todos os campos da query string, 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.
2.2. 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): considera a URL para diferenciar objetos no cache da Azion, não levando em consideração os cookies.
-
Content varies by some Cookies (Allowed rules): 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, permitindo segmentar seu conteúdo por perfis de usuários e outras configurações. 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 (Blocklist): você pode listar o nome dos cookies que deseja ignorar na definição da cache key, considerando todos os cookies com exceção dos listados.
-
Content varies by all Cookies: além da URL, considera todos os cookies para diferenciar objetos no cache da Azion.
Dica: 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.
3. 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 acessar essa funcionalidade, siga os passos:
- Acesse o Real-Time Manager.
- No canto superior esquerdo da página, selecione Products menu > Edge Application.
- Adicione uma Edge Application ou edite uma de sua lista.
- Na aba Rules Engine, adicione ou edite uma regra de sua lista em Request Phase a fim de definir o comportamento para um ou mais paths.
- Selecione o behavior Bypass Cache.
Através do Bypass Cache, você configura o serviço da Azion para repassar todas as requisições a um path diretamente para sua origem. Contudo, você contará com importantes otimizações de protocolo para acelerar sua aplicação e conexão keepalive entre os edge nodes da Azion e sua origem sempre que possível.
3.1. Diferença entre Bypass Cache e TTL 0
Há uma diferença de comportamento entre Bypass Cache e cache com time-to-live (TTL) definido em 0 (zero) segundos. Ao utilizar 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. Selecione a funcionalidade 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 através do Edge da Azion.
Dica: utilize TTL zero se o conteúdo puder ser entregue idêntico para todos os usuários que o requisitarem simultaneamente, mas varia a cada instante de tempo.
Além disso, ao utilizar TTL zero, os Edge Nodes da Azion irão validar as alterações do conteúdo com sua origem utilizando o parâmetro If-Modified-Since. 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.
4. Forward Cookies
Se sua origem gerencia cookies de aplicações, talvez você precise da funcionalidade Forward Cookies.
Por padrão, a Azion filtra o Response Header Set-Cookie enviado por sua origem. Se desejar, você pode configurar para que o Set-Cookie seja repassado para seus usuários.
Para acessar essa funcionalidade, siga os passos:
- Acesse o Real-Time Manager.
- No canto superior esquerdo da página, selecione Products menu > Edge Application.
- Adicione uma Edge Application ou edite uma de sua lista.
- Na aba Rules Engine, adicione ou edite uma regra de sua lista em Request Phase a fim de definir o comportamento para um ou mais paths.
- Selecione o behavior Forward Cookies.
Ao utilizar a funcionalidade Forward Cookies, você determina que a Azion encaminhe para seus usuários o cabeçalho Set-Cookie proveniente 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 da sua configuração de Content Delivery, na seção Advanced Cache Key, em Cache by Cookie.
4.1. JavaScript Cookies
Uma alternativa ao envio do Response Header Set-Cookie é a criação de cookies por JavaScript, que permite criar, ler e expirar cookies através da propriedade document.cookie
. Saiba mais sobre JavaScript Cookies.
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=/”;
Por padrão, a Azion não irá filtrar o Request Header Cookie, independentemente de sua configuração de Forward Cookies. Sendo assim, JavaScript Cookies poderão ser enviados para sua origem para viabilizar o gerenciamento de sua aplicação.
5. Suporte a métodos HTTP
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 e DELETE além de GET, HEAD e OPTIONS, já suportados nativamente.
Para ativar a funcionalidade para os paths desejados, siga os passos:
- Acesse o Real-Time Manager.
- No canto superior esquerdo da página, selecione Products menu > Edge Application.
- Adicione uma Edge Application ou edite uma de sua lista.
- Na aba Main Settings, ative o módulo Application Acceleration.
Não encontrou o que procurava? Abra um ticket.