Promobit

Este case é muito especial, pois foi escrito espontaneamente pelo Leandro Menezes dos Anjos, CIO da Promobit.

Muito mais do que um site ou APP de ofertas, o Promobit é uma comunidade de apaixonados por promoções e economizar, compartilhar dicas e aproveitar cupons de desconto.

MODERAÇÃO & CURADORIA

As ofertas são verificadas pela equipe de moderação do promobit, garantindo segurança e o menor preço!

Nossa moderação leva em conta fatores como histórico de preços, relevância dos produtos e recorrência das ofertas para desmascarar falsas promoções e garantir o menor preço.

COMPRA COM SEGURANÇA

O promobit verifica e bloqueia os sites que o Procon não recomenda, evitando dores de cabeça.

O promobit está do lado do consumidor: ofertas provenientes de lojas não confiáveis ou com algum problema com o procon ou reclame aqui não são liberadas na plataforma.

Principais resultados:

✓ Economia de custos com S3 e EC2 na AWS – De U$ 1.800 para U$ 700,00.

✓ Mais de 80 % de eficiência com cache estático

✓ Mais de 26% de eficiência com cache dinâmico

Redução de custos com AWS e CDN:

Neste artigo, eu gostaria de compartilhar meu feedback de como a GoCache ajudou o Promobit a trafegar com 8x mais requisições por segundo na BlackFriday sem aumentar nossos custos e, o mais importante, com alta performance.

Ocupo a posição de CIO no Promobit, sendo o responsável pela infraestrutura da Startup, ou seja, minha responsabilidade vai desde a segurança, estabilidade e escalabilidade até os cuidados com os custos de servidor que nossa plataforma possa gerar.

Somos hoje a maior comunidade de compartilhamento de ofertas do Brasil. Desde 2014 estamos desenvolvendo uma plataforma colaborativa capaz de reunir as melhores promoções do e-commerce, sem esquecer da segurança e da qualidade do conteúdo.

A situação

Com o alto crescimento da nossa plataforma, precisamos mudar nossa infraestrutura e, como qualquer empresa, ainda mais sendo uma startup, o custo é uma questão muito importante. Optamos por escolher a AWS (Amazon Web Services) como solução para nossos servidores, pela facilidade de implementação e pelo aparente preço justo pelo serviço.

Não se engane: a AWS possui um leque de soluções sem igual, que facilita e muito a vida do seu SysAdmin e muitas vezes até dispensa tal cargo em sua empresa, quando bem praticada a cultura de DevOps. Mas toda facilidade tem seu preço. No caso da AWS, você paga pelo uso.

O problema

Parece justo não é mesmo? O problema acontece quando você precisa escalar. Quando você deixa 1 servidor web virar 8 para aguentar um pico de acessos no BlackFriday e seu tráfego de dados passa de 1 terabyte para 3 ou 4 terabytes mensais.

Apenas nesses dois fatores o custo se elevaria significativamente, não concorda?

Vamos ao mundo real.

Em um acesso na timeline do Promobit, temos aproximadamente 30 requisições apenas de produtos listados e fotos de usuários, fora o HTML, Javascript e CSS que são utilizados para renderizar a página.

Vamos pensar que essas imagens possuam uma média de 190 bytes (peguei uma como base), 190 x 30 requisições = 5,7KB. Parece pouco, mas vamos pensar que esse tráfego é apenas um acesso e um único usuário.

Em um pico de BlackFriday, em que tivemos cerca de 50 mil usuários simultâneos entre Web e Mobile, você chega a 1.500.000 requisições e 285 megabytes, isso com apenas um acesso de cada usuário.

Estamos falando apenas de imagens, que são arquivos estáticos e que eu poderia cachear em algum lugar por não haver nenhum processamento por parte do servidor, é apenas servir a imagem.

A solução

Pensando nisso adotamos a GoCache para servir como nossa CDN, ficando responsável por cachear parte do conteúdo e servir esse mesmo conteúdo a nossos usuários sem precisar encostar em nossos servidores novamente.

Agora quando um usuário acessa a Timeline e faz aquelas 30 requisições, elas são cacheadas. Na prática, o que acontece é que das 1.500.000 requisições que eu deveria receber apenas por servir imagens, agora eu recebo apenas 30. As outras 1.499.970 requisições a GoCache responde por mim com o conteúdo correto.

Com isso obtivemos a economia de uma máquina, uma vez que eu recebia essas requisições pelo meu EC2 e depois redirecionava o acesso aos arquivos em um S3.

Agora eu preciso de menos máquina WEB e meu site responde mais rápido, uma vez que ele se preocupa apenas com o conteúdo dinâmico, e eu economizo banda do meu S3, que é um dos fatores de custo da AWS.

Falando em números:

Hoje economizamos em média 95% da nossa banda com a CDN e uma média de 87% das requisições nós não precisamos nos preocupar em processar a resposta.

Isso reflete em toda a infraestrutura da aplicação. Não utilizamos esse conceito apenas para arquivos estáticos, mas algumas páginas com conteúdo dinâmico também. Então economizamos com nosso tráfego interno entre as máquinas, processamento e memória RAM de servidor de banco de dados, servidor de cache, load.balancer, servidores web etc. Ou seja, tudo que possa envolver uma requisição e que eu possa de alguma forma cachear a resposta HTTP, eu posso deixar nas mãos desse serviço.

O resultado:

Essa economia resulta diretamente em nosso financeiro, uma vez que um valor que giraria em torno de $1.800,00 na AWS passa a custar uma média de $700,00.

Acertamos em adotar a GoCache como parceira. No dia a dia, ela não apenas se paga pela economia que gera, mas também agrega em todo nosso ecossistema, oferecendo uma experiência melhor a nossos usuários e entregando nosso conteúdo de forma mais rápida, além da proximidade com seus clientes, em que fazem um ótimo trabalho de coletar feedbacks e implementar funcionalidades que realmente utilizamos.

Quer conhecer a Promobit?

Does your company need help?

If your company has challenges similar to the scenarios of our successful cases, please contact us :)