Ultrafarma: Redução de custos de CPU e ganho de escala

Sobre a Ultrafarma

A Ultrafarma é líder no comércio eletrônico farmacêutico no Brasil com mais de 1 milhão de clientes ativos. Desde sua criação em 2000, a Ultrafarma revolucionou o setor de comercialização de medicamentos com a venda de genéricos, proporcionando a economia de até 80% nos medicamentos.

Recentemente, a Ultrafarma passou a fazer parte da rede de distribuição de conteúdo da GoCache, com o objetivo de aumentar escalabilidade de sua plataforma, melhorar a experiência de seus usuários e reduzir sua exposição cambial em custos com cloud.


O Desafio: Escalabilidade e Custos de Cloud

Além de entregar seus assets estáticos para aumentar a capilaridade de entrega no Brasil e reduzir latência, o time da Ultrafarma utilizou a granularidade do painel da GoCache para implementar cache dinâmico em sua aplicação, dando ainda mais escalabilidade para sua infraestrutura.

Para isso, foi necessário desenvolver Smart Rules de full cache (HTML, json..) tanto para o site, quanto para o aplicativo, excluindo do cache apenas áreas sensíveis como carrinho, checkout de pagamento, área de usuÁrios, entre outras.

Gráfico de HTML da Home em cache
HTML da Home sendo entregue em cache

Após implementar o cache dinâmico, o uso de CPU sofreu uma queda considerável, reduzindo a necessidade de instâncias na Azure para sustentar a operação. Antes da implementação eram utilizadas 2 a 3 instâncias, e hoje são necessÁrias apenas 1 a 2 para sustentar o mesmo volume de tráfego.

Gráfico de queda no uso de CPU
Queda expressiva no uso de CPU após implementar cache dinâmico

Chave de cache para aplicativos IOS e Android

O time também tinha o desafio de diferenciar versões de cache para uma mesma URL, já que a aplicação distribui conteúdos distintos com base na localização de seus usuários. Para isso, foi necessário customizar uma chave de cache baseado no header da requisição.

Gráfico de regra de customização de cache
Exemplo chave de cache

Resultados Expressivos

Com pontos de distribuição do norte ao sul do país, logo após substituir a solução anterior pela GoCache, foi possível identificar melhorias no response time (tempo de resposta) da aplicação. O response time do HTML caiu de aproximadamente 500 ms para 37 ms (monitorado de São Paulo).

Gráfico de redução de latência
Redução de latência identificada via Freshping

Economia de mais de 70% com custos em CDN

Além dos ganhos em escalabilidade e performance, a Ultrafarma também consegui reduzir os custos com CDN em mais de 70% com a aplicação da GoCache. Todos os custos de GoCache são fixados em reais, sem influência cambial, reduzindo a exposição da empresa.

"O suporte e expertise do time da GoCache foi essencial para auxiliar no desenvolvimento de todas as regras de negócio, atingindo o resultado esperado com pouco esforço desprendido. Além disso, já em seu primeiro mês em GoCache, foi possível reduzir mais de R$ 25.000 em custos com CDN."

Rolar para cima