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.