Proteção de dados sensíveis durante o processo de desenvolvimento utilizando o Amazon Aurora
O Desafio
A AGE Technology enfrenta o desafio de assegurar a entrega contínua de novas funcionalidades. Para alcançar esse objetivo, a empresa lança novos releases a cada duas semanas, submetendo-os a rigorosos testes de segurança e funcionalidades. Esses testes abrangem aspectos comuns e personalizados para cada cliente, visando garantir a eficácia de cada entrega, incluindo a validação de scripts de migração.
Para viabilizar esse processo e garantir que os testes ocorram com um volume de dados apropriado, a empresa adota uma réplica dos bancos de dados de produção, com todos os dados sensíveis devidamente descaracterizados para o ambiente de homologação.
Historicamente, esse procedimento era realizado de forma manual. Iniciava-se com a restauração de um snapshot de 5TB, processo que demandava mais de 12 horas para ser concluído. Posteriormente, eram executados scripts SQL para a limpeza de dados confidenciais diretamente no banco de dados restaurado. Somente após a conclusão de todas as validações, a base de dados era liberada para uso no ambiente de homologação, um processo que frequentemente demandava até 3 dias úteis. Além disso, vale destacar que esse ambiente demandava uma considerável quantidade de espaço de armazenamento adicional, resultando em custos mais elevados.
A Solução
A CloudDog apresentou uma estratégia em duas fases para abordar os desafios enfrentados pela AGE Technology.
Na primeira fase, realizou-se a migração do banco de dados RDS MySQL Community para o Amazon Aurora MySQL. O objetivo foi aprimorar a escalabilidade do banco de dados, permitindo a criação de réplicas de leitura para equilibrar a carga, aumentar a tolerância a falhas e tirar proveito da exclusiva funcionalidade "Fast Database Cloning" do Amazon Aurora.
Na segunda fase, o processo manual de preparação da base de homologação foi automatizado utilizando o AWS Step Functions. Essa ferramenta orquestrou a execução de APIs de clonagem do cluster do Amazon Aurora, criando uma nova instância em uma VPC dedicada para realizar o processo de limpeza dos dados.
Em seguida, foram executadas dezenas de tarefas usando o AWS Batch, responsável por remover todos os dados sensíveis, como informações relacionadas a funcionários, empresas, usuários, entre outros. Após a conclusão, o acesso à base de dados foi liberado por meio da criação de uma nova instância em uma VPC acessível exclusivamente pela conta AWS de homologação. Essas mudanças não apenas otimizaram os processos, reduzindo significativamente o tempo necessário, mas também garantiram maior segurança e eficiência na gestão dos dados sensíveis.
Resultados
O processo de preparação da base de homologação é iniciado de forma agendada todos os domingos à noite, sendo conduzido de maneira segregada do ambiente de produção, em uma estrutura de sandbox, assegurando assim a inviolabilidade dos dados.
Após a conclusão do processo de sanitização do banco de dados, o ambiente de homologação é disponibilizado de maneira previsível toda segunda-feira pela manhã. Isso possibilita à equipe de qualidade realizar todos os testes necessários antes da liberação de cada release.
Através do uso da função de clonagem rápida de banco de dados do Amazon Aurora, o armazenamento do cluster no novo ambiente inicialmente aponta para as mesmas células de armazenamento do ambiente de produção. À medida que o processo de limpeza de dados é executado, novas células são criadas. Ao término, a diferença no tamanho do banco de dados chega a ser apenas de 750GB, representando cerca de 15% do tamanho original. Essa otimização resulta em uma significativa redução nos custos de armazenamento, uma vez que a cobrança incide somente sobre os 750GB excedentes desse novo ambiente.