O comércio eletrônico tem sido um dos setores de crescimento mais rápido nos últimos anos, mas com grande presença e demanda vêm desafios significativos. Gerenciar vastos catálogos de produtos e atender milhares de usuários diariamente requer um serviço eficiente e altamente disponível que ofereça a melhor experiência do usuário possível. Atrasos, downtimes durante picos de tráfego e a incapacidade de analisar dados em tempo real podem causar grandes dores de cabeça e muitas vezes parecem exigir melhorias custosas na infraestrutura.
No entanto, você pode melhorar o desempenho do seu comércio eletrônico e reduzir os custos sem pesar muito no bolso, implementando uma estratégia de caching em camadas (tiered caching. Esta abordagem aprimora a disponibilidade, a experiência do usuário e a eficiência operacional.
Como o caching em camadas funciona
O caching armazena temporariamente dados frequentemente acessados ou solicitados recentemente para recuperá-los mais rápido. Quando um usuário solicita dados, a aplicação primeiro verifica o cache. Se os dados forem encontrados (um cache hit), a resposta é enviada diretamente ao usuário. Se não (um cache miss), a aplicação busca os dados na origem, os armazena no cache para futuras requisições e logo os envia ao usuário.
O caching em camadas leva isso um passo adiante, usando várias camadas de cache entre o edge e os servidores de origem. Se os dados não forem encontrados em uma camada de cache inferior, a aplicação verifica as camadas superiores antes de solicitar para a origem. Isso reduz a latência e os custos de infraestrutura ao minimizar as viagens à origem.
A edge computing maximiza os benefícios do caching distribuindo nodes de cache mais próximos aos usuários para respostas ainda mais rápidas e uso mais eficiente de recursos. Veja como funciona uma solução de caching de duas camadas, usando Edge Cache e Tiered Cache da Azion:
- O usuário envia uma requisição para a Plataforma de Edge da Azion.
- A edge application recebe a requisição e aplica regras/políticas.
- A primeira camada de cache é verificada localmente.
- Se os dados não forem encontrados, o Tiered Cache regional é verificado como uma camada secundária.
- Se os dados não forem encontrados em nenhuma camada de cache, a requisição é enviada para a origem.
- A origem responde ao Tiered Cache.
- O Tiered Cache armazena conteúdo e envia a resposta ao edge node.
- O edge node armazena conteúdo e envia a resposta ao usuário.
Implementando o caching em camadas com a Azion
Implementar o caching em camadas é simples usando o Edge Cache e o Tiered Cache da Azion. Aqui está um exemplo de configuração via Azion CLI:
# Crie uma nova edge application
$ azion create edge-application --name "ecommerce-caching"
# Adicione um domínio customizado
$ azion create domain --application-id 1234 --name "domainName"
// Para mais detalhes sobre configuração de domínios e outras flags, consulte essa documentação: https://www.azion.com/pt-br/documentacao/devtools/cli/create/#domains
# Habilite o add-on Tiered Cache
$ azion update edge-application --application-id 1234 --l2-caching true
// Vocé também pode habilitar a funcionalidade de Large File Optimization para o Tiered Cache usado a flag --slice-l2-caching-enabled.
# Crie uma origem
$ azion create origin --application-id 1234 --name "origin-edge" --origin-type single_origin --addresses "azion.com.br" --host-header "azion.com.br"
# Configure as edge cache settings
$ azion create cache-setting --application-id 1234 --name "edge-cache" --browser-cache-settings "override" --browser-cache-settings-maximum-ttl 604800 --cdn-cache-settings "override" --cnd-cache-settings-maximum-ttl 604800
# Configure as tiered cache settings
$ azion create cache-setting --application-id 1234 --name "tiered-cache" --browser-cache-settings "override" --browser-cache-settings-maximum-ttl 15778800 --cdn-cache-settings "override" --cnd-cache-settings-maximum-ttl 15778800 --l2-caching-enabled true
// Para mais detalhes sobre configuração de cache seetings e outras flags, consulte essa documentação: https://www.azion.com/pt-br/documentacao/devtools/cli/create/#cache-settings
# Crie uma Rules Engine rule para Edge Cache
$ azion create rules-engine --application-id 1234 --phase "request" --file `./edge-cache-rule.json`
No arquivo edge-cache-rule.json, inclua:
{
"name": "edge-cache-rule",
"description": "This is a description for your edge cache rule",
"criteria": [
[
{
"conditional": "if",
"variable": "${uri}",
"operator": "matches",
"input_value": "/black-friday/"
}
]
],
"behaviors": [
{
"name": "set_cache_policy",
"target": "edge-cache"
}
]
}
# Crie uma Rules Engine rule para Tiered Cache
$ azion create rules-engine --application-id 1234 --phase "request" --file `./tiered-cache-rule.json`
No arquivo tiered-cache-rule.json, inclua:
{
"name": "tiered-cache-rule",
"description": "This is a description for your tiered cache rule",
"criteria": [
[
{
"conditional": "if",
"variable": "${uri}",
"operator": "matches",
"input_value": ".(webp|avi|video_formats)."
}
]
],
"behaviors": [
{
"name": "set_cache_policy",
"target": "tiered-cache"
}
]
}
// Para mais detalhes sobre configuração de rules e outras flags, consulte essa documentação: https://www.azion.com/pt-br/documentacao/devtools/cli/create/#rules-engine
Esta configuração armazena em cache o conteúdo de /black-friday como catálogos de produtos na camada de Edge Cache com um TTL de 7 dias, e o conteúdo mais estático de /videos na camada do Tiered Cache com um TTL de 6 meses. Quando o edge cache expira, o conteúdo permanece no Tiered Cache para minimizar as requisições de origem.
Benefícios para o e-commerce
O caching em camadas oferece vários benefícios chave para plataformas de comércio eletrônico:
- Custos reduzidos: minimiza a carga do servidor de origem e as necessidades de recursos, economizando em infraestrutura, largura de banda e hospedagem.
- Desempenho aprimorado: entrega conteúdo mais rápido, armazenando em diferentes camadas, aprimorando a velocidade do site e a experiência do usuário.
- Escalabilidade: lida com picos de tráfego e cargas aumentadas de forma mais eficiente sem sacrificar o desempenho.
- Confiabilidade: reduz o tempo de inatividade e problemas de desempenho causados por sobrecarga do servidor de origem.
Em resultados do mundo real, plataformas de e-commerce que utilizam edge computing junto com o cache em camadas alcançaram:
- 97% de offload de transferência de dados da infraestrutura de origem.
- 80% de tempos de carregamento mais rápidos.
- 45% de economia de custos de transferência de dados em comparação com CDNs legados.
- Disponibilidade de 100% em todos os dispositivos, locais e horários.
Conclusão
O cache em camadas é uma tática de otimização poderosa para plataformas de e-commerce que buscam melhorar operações, aprimorar eficiência e oferecer experiências de usuário sem atritos, ao mesmo tempo em que economizam em custos de infraestrutura. Ao armazenar em cache e distribuir conteúdo no edge por meio de várias camadas, as aplicações podem acelerar a entrega de conteúdo e minimizar a carga na origem.
No exigente cenário digital de hoje, esses milissegundos salvos podem fazer toda a diferença entre uma ótima experiência do usuário e uma decepcionante. Implementar uma estratégia de cache em camadas robusta é um investimento inteligente no desempenho, escalabilidade e resultado final de sua plataforma de e-commerce.