Este post é muito especial, pois foi escrito espontâneamente pelo Leandro Menezes dos Anjos, CIO da Promobit.
Aprecie sem moderação!
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.
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.
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 trafego 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 trafego é 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.
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 maquinas 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 trafego 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.
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.
Uma solução de Segurança da Informação e Gestão de Eventos (SIEM) é fundamental para manter…
Quer você saiba ou não, se você navega na internet, você interagiu com uma API.…
Ransomware é um malware que emprega criptografia para manter as informações da vítima sob resgate.…
Os hackers éticos desempenham um papel fundamental na segurança cibernética, usando suas habilidades técnicas para…
Os ataques de ransomware são um pesadelo digital que parece saído de um filme, mas…
O balanceamento de carga (load balancer) é uma técnica fundamental para distribuir o tráfego de…