Saiba como preparamos os servidores da Yourviews para a Black Friday - Yourviews - Blog
E como conseguimos isso? Com planejamento, preparação antecipada e monitoramento constante.
Uma semana antes da Black Friday
O primeiro passo é o planejamento, neste caso, precisamos verificar quais servidores e sistemas precisam de atenção, quais são os mais críticos e quais podemos simplesmente desativar. Em geral, nosso sistema possui um escalonamento automático, mas dados os picos de acessos da data preferimos sempre fazer ajustes manuais.
Sendo assim, nós elaboramos um card no Trello com todas as atividades que precisamos desenvolver. Em sua maioria, se tratam de escalar servidores, desligar rotinas, ajustar tempos e realizar alguns pequenos ajustes de última hora, como otimização de Queries (comando de consulta).
Como temos um histórico, fica fácil reproduzir os planos que já deram certo. Quando precisamos introduzir um novo item "sempre erramos pra mais", escalando para muito acima daquilo que consideramos correto. Assim, no ano seguinte, já teremos uma ideia melhor de quanto é um escalonamento coerente.
Na semana da Black Friday
Nos primeiros anos da Black Friday era comum a liberação de todas as ofertas exatamente à meia-noite da sexta-feira, causando picos absurdos de acesso em todas as lojas. Com o passar dos anos, as ofertas começaram a aparecer logo no começo da semana da Black Friday e o pico de acesso se distribuiu em vários dias. Dessa forma, a preparação para a Black Friday precisou ser adiantada – em geral, já começamos os ajustes logo na segunda-feira anterior ao evento. A imagem abaixo detalha o início do pico da semana.
O primeiro ajuste que fazemos é nos servidores Web – os que mais "sofrem" com os picos de acesso. Em geral, realizamos a escala vertical (subimos a capacidade das máquinas) e forçamos a escala horizontal (fixamos um número adequado de máquinas, sem escalonamento automatizado).
Durante a madrugada, melhoramos as máquinas de acesso crítico (cuja parada pode gerar indisponibilidade do sistema). Dentro dessa categoria estão nossos servers NoSQL e NGINX. Geralmente a indisponibilidade dura no máximo 10 minutos.
Como utilizamos o princípio do CQRS, nosso banco relacional (MySQL) sofre bem pouco e não precisa de upgrades. O que fazemos nesse caso é desligar as dezenas de rotinas (workers) não-essenciais que rodam durante todo o dia e consomem muitos recursos do banco.
Por fim, na semana da Black Friday, evitamos deploys de desenvolvimentos não-essenciais. Essa prática evita surpresas de última hora e nos permite focar na monitoria.
Iniciamos o dia com uma revisada geral no planejamento e verificamos se falta algo. Em seguida, desligamos as últimas rotinas não-essenciais que ainda estiverem rodando, como por exemplo as integrações com as plataformas de e-commerce.
O resto do dia é dedicado para a monitoria. Montamos um Dashboard na Amazon CloudWatch para acompanhar as métricas que consideramos importantes. Além disso, também temos nosso Dashboard padrão utilizando o Grafana.
Assim, nosso time da Yourviews acompanha a operação completa durante toda a noite e boa parte da madrugada, estando todos prontos para agir ao menor sinal de problema. Ah! claro, se tudo estiver calmo, então aproveitamos para fazer umas compras também.
A semana seguinte da Black Friday
Logo após a Black Friday, começam as ofertas da Cyber Monday, geralmente esse período costuma ser mais calmo, mas ainda mantemos nossa infra super-escalonado por alguns dias. Aos poucos vamos reduzindo as máquinas e voltando ao normal.
Parte do planejamento é o Rollback, que visa voltar o sistema para o estado anterior, bem como reconfigurar as rotinas e religar os workers. Como ele é feito aos poucos, pode levar até 2 semanas para que todo o plano seja executado.
Aprendizados na Black Friday
Ao fim do período de Black Friday, após retornar a infraestrutura para o normal, nós atualizamos nosso card do Trello com todos os aprendizados. Tiramos ainda prints das métricas, assim, no ano seguinte, podemos entender se o escalonamento foi adequado.
Também colocamos comentários nesse card, detalhando o comportamento dos servidores, horários de pico e ajustes de última hora – se tiver existido algum.
black friday compras e-comerce servidores de internet yourviews
Alex Sander Camargo é CTO da Yourviews, formado em Engenharia da Computação pela Universidade São Judas e tem 13 anos de experiência em TI, dos quais os últimos 6 foram voltados para o e-commerce.