O blog da AWS
Gran acelera o aprendizado de 800 mil alunos com mais performance e menor custo com Amazon Aurora Serverless
Por Roger Pereira, Head de Arquitetura Cloud no Gran; Allyni Costa, Coordenadora de DBRE (Database Reliability Engineering) no Gran; Flávia Bortoletto, DBA no Gran e Thayne Rodrigues, Technical Account Manager na AWS.
Introdução
Recentemente, a empresa modernizou sua infraestrutura de banco de dados e migrou seu principal banco transacional — com mais de 4 TB — do Amazon RDS for MySQL para o Amazon Aurora Serverless v2. Essa migração estratégica resultou em transformações importantes na infraestrutura do Gran, cujos benefícios em desempenho, escalabilidade e disponibilidade serão detalhados ao longo deste artigo. Este caso demonstra não apenas como milhares de estudantes se beneficiaram com mais estabilidade da plataforma, capacidade para atender mais estudantes, dentre outros benefícios, mas também como a colaboração estratégica com a AWS permitiu ao Gran resolver complexidades técnicas durante o processo de modernização.
Sobre o Gran
O Gran, uma das principais EdTechs do Brasil, iniciou suas operações em 2012 com a missão de melhorar a empregabilidade no país por meio de tecnologia que acelera o aprendizado e personaliza o ensino. Com mais de 800 mil alunos ativos em 4.472 cidades, a empresa já atendeu mais de 7 milhões de estudantes em sua plataforma e, recentemente, expandiu sua atuação para o mercado universitário. De acordo com a SimilarWeb, o Gran é o site de educação mais acessado do país.
O desafio
O crescimento constante do Gran trouxe novos requisitos de escalabilidade para sua infraestrutura de banco de dados. Com o Amazon RDS for MySQL, a arquitetura da empresa atendeu bem às necessidades iniciais, que porém à medida a base de usuários expandiu, a equipe identificou a necessidade de uma solução que se adaptasse mais dinamicamente aos padrões de tráfego variáveis.
Durante picos inesperados de utilização, a equipe precisava realizar ajustes manuais na infraestrutura para manter a continuidade do serviço, o que demanda recursos operacionais significativos. O evento anual do Gran, que atrai milhares de estudantes simultaneamente com o lançamento de inovações na plataforma de ensino e oferta de promoções, exigia um planejamento antecipado de capacidade no ambiente Amazon RDS for MySQL, um processo que uma solução de escalonamento mais automatizada poderia otimizar.
Ao passo que a plataforma educacional evoluía, a empresa buscava características adicionais que complementassem a infraestrutura: escalabilidade automática, maior resiliência e performance otimizada para cargas de trabalho variáveis. Estas características tornaram-se essenciais para promover alta disponibilidade e baixa latência necessárias para proporcionar uma experiência de aprendizado online fluida aos seus alunos.
Considerando estes requisitos específicos do cenário de crescimento da empresa, a migração de Amazon RDS for MySQL para o Amazon Aurora Serverless v2 emergiu como uma evolução da infraestrutura do Gran, oferecendo o equilíbrio entre performance, escalabilidade automática e otimização de recursos que o modelo de negócio em expansão demanda.
A transição também permitiu ao Gran resolver um outro desafio pendente: a necessidade de alterar o usuário master da instância do banco de dados. Essa operação não seria possível sem tempo de inatividade ou migrações complexas, então a empresa aproveitou a oportunidade da migração para o Amazon Aurora Serverless v2 para implementar essa mudança, utilizou uma replicação via Binlog (Binary Log: Registro de alterações em um banco de dados MySQL usado para replicação) do banco de dados existente para um novo cluster Amazon Aurora Serverless v2, já configurado com o usuário master correto, reduzindo assim o impacto e o tempo de inatividade associados a essa alteração.
A solução para o cenário do Gran: Amazon Aurora Serverless v2
Com base nos desafios enfrentados, o Gran escolheu o Amazon Aurora Serverless v2. Este é um banco de dados relacional totalmente gerenciado, compatível com MySQL, que se destaca por sua escalabilidade automática e modelo de pagamento por uso, alinhando-se perfeitamente às necessidades da plataforma.
O funcionamento do Amazon Aurora Serverless v2 é baseado em Aurora Capacity Units (ACUs – Unidade de medida que combina capacidade de processamento e memória no Amazon Aurora Serverless v2). Cada ACU combina determinada quantidade de capacidade de processamento e memória. O grande diferencial do Amazon Aurora Serverless v2 é sua capacidade de ajustar a quantidade de ACUs utilizadas pelo banco de dados de forma automática e granular, escalar instantaneamente a capacidade conforme a demanda da carga de trabalho varia, sem a necessidade de intervenção manual ou provisionamento prévio.
Para o cenário do Gran, como uma plataforma de cursos online que possui inerentemente momentos de alta e baixa utilização ao longo do dia, semana, ou devido a eventos específicos, a utilização do Amazon Aurora Serverless v2, com a configuração adequada de quantidade mínima e máxima de ACUs, é de extrema vantagem. A equipe configurou o cluster para escalar automaticamente dentro de um intervalo de ACUs que atende tanto a demanda mínima da plataforma nos períodos de menor tráfego, quanto permite o escalonamento rápido e robusto para suportar os picos de acesso. Isso proporciona ao Gran não apenas entregar alta disponibilidade e performance durante os momentos de maior utilização (eliminando os problemas de picos que existiam com o Amazon RDS), mas também gerar economia significativa nos períodos de baixo throughput (taxa de processamento de dados ou operações que um sistema consegue realizar em determinado período de tempo, medindo sua capacidade efetiva de trabalho), pagando apenas pela capacidade efetivamente consumida.
Essa solução proporcionou à empresa:
- Escalabilidade automática: Lida com picos de tráfego e crescimento futuro sem intervenção manual.
- Alta disponibilidade e resiliência: Proporciona a continuidade do serviço com failover automático.
- Performance otimizada: Oferece alta performance para cargas de trabalho transacionais, melhorando a experiência do usuário.
- Otimização de custos: Reduz custos operacionais com o modelo de pagamento por uso.
A migração, a descoberta e a solução
A migração foi conduzida de forma estruturada, seguindo um processo otimizado que incluiu um extenso e rigoroso ciclo de testes. Este processo foi crucial para validar a capacidade elástica do Amazon Aurora Serverless v2 e analisar o comportamento da aplicação sob diferentes níveis de carga. Foram testadas múltiplas configurações de tamanho e carga que consistiram em testes de regressão para validar a integridade das execuções da aplicação com o banco, testes de stress para avaliar o desempenho do banco Amazon Aurora Serverless v2 em picos de uso intenso e prolongado, e testes de carga que simulam situações do cotidiano da aplicação com cargas pequenas, médias e grandes para prover eficiência e segurança.
O objetivo primordial deste esforço foi assegurar a eficiência e a segurança da solução, especialmente se levar em consideração o grande volume de dados envolvidos.
Outro ponto levantado internamente foi a necessidade de alterar o usuário master do banco para adequá-lo a taxonomia atual da empresa, com um menor downtime possível.
A AWS recomenda o uso de read replicas (réplicas de leitura) como uma das estratégias para migração do Amazon RDS para Amazon Aurora. No entanto, o Gran considerou outros pontos além das read replicas para atender de forma mais abrangente às necessidades de negócio. A empresa adotou a seguinte estratégia devido à necessidade de alterar o usuário master:
- A equipe ativou os logs binários no Amazon RDS for MySQL, o que permite o rastreamento preciso das alterações no banco de dados.
- Dado que a base possuía 4TB, o Gran escolheu a ferramenta open-source Mydumper (Ferramenta de alta performance para exportação de dados MySQL) para tornar o processo de exportação mais rápido e eficiente, pois sua capacidade de paralelização permitiu dividir a carga de trabalho em múltiplos threads. Para proporcionar um desempenho adequado, o dump foi realizado a partir de uma instância Amazon EC2, a qual foi acoplado um volume de armazenamento dedicado com Amazon EBS, resulta em maior velocidade na leitura e escrita dos dados.
- Com a ferramenta pt-show-grants (Utilitário do Percona Toolkit para extrair configurações de privilégios de usuários), a equipe extraiu as configurações dos usuários, ignorando o usuário master padrão do Amazon RDS. Em seguida, revisou os dados e importou no cluster Amazon Aurora MySQL, esse processo possibilita que os privilégios fossem preservados e ajustados conforme as políticas de segurança.
- A equipe configurou a replicação utilizando o pacote de procedures para replicação de Binlog do Amazon RDS (
CALL mysql.rds_set_external_source()). Vale ressaltar que a exportação dos dados foi realizada a partir de uma réplica de leitura, o que minimizou o impacto na base de dados de produção durante todo o processo. Após validar a sincronização completa, o DNS foi redirecionado no Amazon Route 53 para apontar para o Amazon Aurora, possibilitando uma transição imperceptível para os usuários finais. O processo incluiu testes rigorosos com times internos antes de liberar o ambiente para produção.
O diagrama a seguir ilustra como funcionou o fluxo explicado acima para a migração do banco de dados do Gran para o Amazon Aurora Serverless v2:
Figura 1. Fluxo de Migração: Diagrama ilustrando o processo de migração do banco de dados do Gran do Amazon RDS for MySQL para o Amazon Aurora Serverless v2, destacando as etapas de replicação via Binlog e sincronização dos dados.
Essa abordagem atendeu aos requisitos técnicos e de segurança e permitiu que a migração ocorresse com mínima interrupção no serviço, promovendo uma experiência contínua e confiável para os alunos do Gran.
Após a migração, a equipe de DBRE (Database Reliability Engineering) do Gran enfrentou um problema que causava restarts inesperados e abriu um chamado para o AWS Support , colaborando ativamente com detalhes e na realização de testes.
A colaboração com o suporte da AWS foi fundamental não apenas para análise, identificação da causa raiz e correção, mas também proporcionou ao time uma oportunidade valiosa de aprofundar seu conhecimento sobre o funcionamento do serviço. Durante as interações, o time recebeu insights sobre melhores práticas de utilização, estratégias de monitoramento e definição de thresholds. Além disso, as discussões técnicas com especialistas do serviço permitiram uma análise detalhada da arquitetura atual e identificação de potenciais melhorias para otimizar o ambiente.
Resultados e benefícios
- Melhora na Experiência do Usuário: Tempos de resposta mais rápidos e maior capacidade de processamento. O gráfico seguinte apresenta a comparação de volumetria de queries entre Amazon Aurora Serverless v2 e Amazon RDS.
Mais queries processadas resultam em maior eficiência do sistema
Figura 2. Comparação de processamento de queries: Gráfico comparativo no mesmo periodo de Dezembro de 2024 entre o aumento na capacidade de processamento de queries entre Amazon RDS for MySQL (linha roxa tracejada) e Amazon Aurora Serverless v2 (linha roxa sólida) na plataforma do Gran . Mais queries processadas resultam em maior eficiência do sistema.
Já neste outro gráfico é possível ver a comparação de tempo de duração das consultas entre Amazon Aurora Serverless v2 e Amazon RDS:
- Redução no tempo de processamento de queries
Figura 3. Tempo de processamento de consultas: Gráfico comparativo no mesmo periodo de Dezembro de 2024 entre a redução no tempo de processamento de queries após a migração do Amazon RDS for MySQL (linha roxa tracejada) para o Amazon Aurora Serverless v2 (linha azul sólida), melhorando a experiência do usuário na plataforma do Gran.
- Maior disponibilidade: Continuidade do serviço.
-
- Alta disponibilidade: O Amazon Aurora oferece replicação multi-AZ (Uma zona de disponibilidade (AZ) é um ou mais datacenters distintos com energia, rede e conectividade redundantes em uma região da AWS) e failover automático, promovendo alta disponibilidade e minimizando o tempo de inatividade.
- Recuperação de desastres: As funcionalidades de backup e restauração do Amazon Aurora permitem recuperar dados em caso de falhas ou desastres.
- Resiliência a erros: O Amazon Aurora é projetado para ser altamente resiliente a falhas de hardware e software.
-
- Redução de latência: A arquitetura do Amazon Aurora Serverless v2 proporciona baixa latência de I/O devido ao seu subsistema de armazenamento distribuído. Diferente dos bancos de dados tradicionais, como os bancos de dados relacionais hospedados em servidores on-premise (por exemplo, MySQL, PostgreSQL) ou instâncias de bancos de dados que utilizam armazenamento local, o Amazon Aurora desacopla o processamento computacional do armazenamento. O armazenamento distribui-se por múltiplas Zonas de Disponibilidade, otimiza as operações de leitura e escrita ao lidar eficientemente com logs de transações e replicação de dados. O resultado é uma menor amplificação de escrita e um overhead reduzido, com latência inferior em comparação a soluções convencionais que dependem mais intensamente do I/O de disco direto e local. Na prática é possível observar essa redução de latência no banco de dados da empresa no gráfico a seguir:
Redução na latência de escrita
Figura 4. Redução de latência: O gráfico mostra como o Amazon Aurora Serverless v2 (linha roxa sólida mostrando a média de tempo de resposta em comparação com o Amazon RDS linha azul sólida no mesmo periodo de Dezembro de 2024) reduziu o tempo de resposta nas operações de escrita da plataforma educacional, resultando em uma experiência mais ágil para os usuários.
- Escalabilidade para crescimento: Plataforma preparada para suportar o crescimento contínuo do Gran. No gráfico a seguir observa-se a relação entre o uso da CPU e o aumento das ACUs. Conforme a carga de trabalho da aplicação (representada pelo uso da CPU) cresce, o Amazon Aurora Serverless v2 ajusta de forma autônoma a quantidade de ACUs disponíveis. Isso significa que, em momentos de maior workload, a plataforma escala seus recursos de computação de maneira fluida e automática, permitindo que o banco de dados tenha sempre a capacidade necessária para manter o desempenho ideal, sem intervenção manual e sem provisionamento excessivo.
Figura 5. Escalonamento automático de recursos: Gráfico de correlação entre o uso de CPU e o aumento automático de ACUs (Aurora Capacity Units), ilustra como o Amazon Aurora Serverless v2 escala recursos de forma dinâmica conforme a demanda da aplicação.
- Monitoramento de ACUs e otimização de queries: Com o Amazon Aurora Serverless v2, o Gran ganhou acesso a ferramentas de observabilidade mais robustas que permitiram a equipe acompanhar de perto o consumo de recursos e o comportamento das queries. Através do monitoramento dos ACUs, foram identificados picos de utilização que coincidiam com a execução da query Esses picos indicaram um alto consumo de recursos e, após otimizar a query, a empresa conseguiu uma redução de 14% no custo mensal com o cluster de banco de dados.
A imagem a seguir mostra um gráfico com a diferença de consumo de ACUs após a identificação e correção de queries problemáticas.
Figura 6. Otimização de consumo de ACUs: Gráfico comparativo mostrando a diferença no consumo de ACUs antes e depois da otimização de queries, resultando em redução de 14% nos custos mensais do cluster de banco de dados do Gran.
A otimização de uma query, que antes causava o aumento desnecessário do consumo de ACUs, resultou em uma redução significativa de custos em comparação ao antigo Amazon RDS. Ao eliminar o gargalo de performance e ajustar o escalonamento automático do Amazon Aurora Serverless v2, o Gran conseguiu utilizar os recursos de forma mais eficiente e pagar apenas pelo que realmente precisa. Essa otimização aliada à capacidade do Amazon Aurora Serverless v2 de escalar de acordo com a demanda, proporcionou à empresa uma economia considerável nos custos de infraestrutura.
A equipe percebeu uma diminuição considerável na latência (cerca de 46%) da aplicação responsável pela query, conforme gráfico seguinte:
Figura 7. Impacto da otimização na latência da aplicação: Gráfico demonstrando a diminuição considerável de aproximadamente 46% na latência da aplicação responsável pela query após a otimização. Esta melhoria significativa no tempo de resposta contribui diretamente para uma experiência mais fluida dos alunos na plataforma do Gran.
Conclusão:
Com a migração para o Amazon Aurora Serverless v2, o Gran melhorou a experiência do aluno, tornando-a mais fluída, ao mesmo tempo em que otimizou os custos de infraestrutura, escalabilidade e performance da plataforma. A parceria com o AWS Support, demonstrada na resolução conjunta do cenário de restarts inesperados trouxe insights para o time do Gran em como configurar e otimizar o uso do Aurora Serverless para o seu caso de uso além de reforçar o compromisso com a excelência e a melhoria contínua.
“A modernização com o Amazon Aurora Serverless v2 elevou nossa infraestrutura a um novo patamar de desempenho e escalabilidade, refletindo diretamente na experiência dos nossos alunos. Sou grato ao time do Gran e à AWS pela parceria e pela excelência técnica em cada etapa.”
— Rodrigo Calado, cofundador do Gran.
Próximos passos:
Para começar sua própria jornada com o Amazon Aurora Serverless v2:
- Descubra como funciona o Aurora Serverless v2 e seus benefícios para cargas de trabalho variáveis.
- Explore os casos de uso.
- Entre em contato com um especialista AWS.
Autores
![]() |
Róger Pereira é Head de Arquitetura e Cloud, acumula mais de 20 anos de experiência no setor financeiro, e desde 2017 especificamente em Cloud. Juntou-se ao Gran em 2022, com o objetivo de escalar times, processos e soluções em Cloud com inovação e sustentabilidade. |
![]() |
Allyni Costa Atua como coordenadora de DBRE (Database Reliability Engineering) no Gran, tendo mais de 9 anos de experiência em soluções de nuvem com foco em banco de dados, liderando a equipe de DBRE na busca por soluções inovadoras e eficientes para os desafios do Gran Cursos Online. |
![]() |
Flávia Bortoletto é DBA com mais de quatro anos de experiência, com foco em sustentação, monitoramento, otimização de desempenho, migração e automação de tarefas. Há dois anos, faz parte do time do Gran, onde atua na otimização e gestão eficiente de ambientes de banco de dados, garantindo alta disponibilidade e performance para as operações da empresa.
|
![]() |
Thayne Rodrigues atua como Technical Account Manager na AWS auxiliando organizações em sua trajetória na nuvem. Possui mais de 10 anos de experiência em tecnologia com formação em Sistemas de Informação pela Universidade Presbiteriana Mackenzie. |



