Ultrafarma reduz uso de CPU e ganha escala com GoCache

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, criando assim um novo conceito de farmácia: beneficiar todos aqueles que dependem de medicamentos para ter uma melhor qualidade de vida.

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.

Aumento de escalabilidade com cache dinâmico:

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.

HTML da Home sendo entregue em cache

Instantaneamente após a implementação de cache dinâmico foi possível observar uma grande redução no uso de CPU dos servidores de aplicação, conforme vemos abaixo.

Queda expressiva no uso de CPU após implementar cache dinâmico

E se analisarmos o percentual de uso em Julho, percebemos que desde a implementação do cache dinâmico em 17/07, o uso de CPU sofreu uma queda considerável.

Redução no uso de CPU após dia 17/07 – Ultrafarma

Outro ponto de destaque, e que está estreitamente ligado a aplicação de cache dinâmico, foi a redução 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.

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 onde, a GoCache, passou a armazenar diferentes versões de cache para uma mesma URL, variando com o valor desse header.

Apesar de soar complicado, essa regra é feita na GoCache com esforço de poucos minutos, conforme vemos abaixo:

Exemplo chave de cache


E não para por ai…

Reconhecendo o desafio de conectividade do Brasil e buscando melhorar sua entrega em todas as regiões do país, a solução de CDN da GoCache foi ainda mais atrativa para a aplicação da Ultrafarma.

Com pontos de distribuição do norte ao sul do país, logo após substituir a solução da Verizon pela GoCache, foi possível identificar melhorias no response time (tempo de resposta) da aplicação.

Redução de latência identificada via Freshping

Como vemos acima, desde a implementação do cache dinâmico em 17/07, o response time da aplicação caiu de aproximadamente 500 ms para 37 ms. Deve-se levar em consideração que os dados do Freshping monitoram o HTML da página rastreada, através de consultas feitas de um ponto em São Paulo, trazendo a perspectiva de reduções ainda mais expressivas em regiões mais afastadas do eixo RIO/SP.

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.

Segundo Michel Banagouro, Diretor de TI da Leanwork, 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, Michael destaca que já em seu primeiro mês em GoCache, foi possível reduzir mais de R$ 25.000 em custos com CDN.

Isso pois todos os custos de GoCache são fixados em reais, sem influência cambial, reduzindo a exposição cambial dos custos com CDN.


E você, tem desafios parecidos com os citados acima? Caso precise de ajuda, entre em contato com o time de especialistas da GoCache.