O blog da AWS

Como a CGU obteve 10x mais desempenho ao migrar para o Amazon RDS

Por Timotheo Barbosa Borges, Auditor Federal de Finanças da CGU

e Kevin Lira, Senior Solutions Architect, Brazil Public Sector

A Controladoria Geral da União (CGU) é o órgão do Governo Federal responsável por assistir direta e imediatamente o Presidente da República quanto aos assuntos que, no âmbito do Poder Executivo federal, sejam relativos à defesa do patrimônio público e ao incremento da transparência da gestão, por meio das atividades de controle interno, auditoria pública, correição, prevenção e combate à corrupção, e ouvidoria.

O Portal da Transparência da CGU é um importante mecanismo na manutenção da democracia no Brasil, levando visibilidade de informações para qualquer cidadão interessado nos gastos públicos. E essa importância se traduz em um portal de acesso público onde qualquer cidadão ou servidor público realiza buscas. O resultado é exibido em forma de relatórios, com os dados coletados e disponibilizados pela CGU. Trata-se de um dos maiores portais do mundo dessa natureza.

Desafios

O Portal de Transparência da CGU hospedado em infraestrutura on-premisses exige uma manutenção complexa e de alto custo. Sua infraestrutura baseada em um cluster de appliances analíticos apresentava sérias restrições e limitações, que se traduziam em uma pobre experiência dos usuários, além de indisponibilidades frequentes de serviço. Somado a isso, o gerenciamento de acessos “não-humanos”, como integrações sistêmicas e robôs de busca de dados se tornou um grande desafio, em especial considerando a falta de ferramentas adequadas para gerenciá-los. Ataques DDoS ou aumento de tráfego no portal geravam problemas e interrupção de serviço. Importante ressaltar que, se trata de uma aplicação crítica que é amplamente utilizada por diversos processos de negócio do governo brasileiro, como por exemplo, a consulta de empresas punidas (exigência para celebração de contratos administrativos). Além disso, as informações que o portal disponibiliza são de extrema relevância para garantir a transparência das ações de governo para a sociedade, um dos pilares da democracia.

Atuação da AWS

Após identificarmos os principais pontos de melhoria nesse portal, a equipe da CGU e da AWS realizaram um estudo para estrangular (StranglerFigApplication) parte da aplicação que implementava API’s do portal da transparência, servindo esse recorte através da nuvem AWS (EventInterception e AssetCapture). Os serviços recortados, seriam parte do cluster EKS que a CGU já  havia construído, assim reutilizando e expandindo a arquitetura atual. Aproveitando o processo de Transformação digital, realizamos uma prova de conceito para migrar as API’s do portal (iniciando com a API do auxilio emergencial) para a AWS. E nessa prova de conceito, identificamos que o Amazon Aurora seria a escolha correta para o tipo de transações efetuadas no portal. Utilizando essa abordagem, seria possível desonerar o cluster analítico (que atende às demais partes do portal) desta carga que sobrecarregava sobremaneira o cluster. Para dar início ao processo, foi executado o AWS Schema Conversion Tool (SCT), para analisar o esforço para converter as queries que eram executadas dentro do cluster analítico, e remontar e/ou readequar estas queries dentro do Amazon Aurora.

Figura 1 – Conexão do SCT com o Teradata

Este momento também serviu para melhorar a postura de segurança e disponibilidade da CGU, inserindo uma camada para distribuição de conteúdo, balanceador de carga, Firewall de Aplicação, proteção anti DDoS gerenciados, substituindo algumas dessas peças que ficavam on-premises, e o Amazon Secrets Manager para não termos nenhum tipo de credencial armazenada nas aplicações.

Figura 2 – Arquitetura geral das Api’s

Resultados alcançados

Durante o teste de carga, observou-se que o Amazon Aurora ofereceu uma performance até 10x superior ao cluster on-premises, e utilizando apenas 50% da capacidade. Isso trouxe segurança para a prova de conceito, e também ao time.

Já para o processo de carga, foi reutilizado o mecanismo de ingestão previamente desenvolvido pela equipe da CGU em uma primeira fase, ou seja, toda regra de negócio escrita pela CGU foi aproveitada. Mas já faz parte dos próximos passos, evoluir também o framework de ingestão de dados.

A melhora de desempenho, foi perceptivelmente melhor, visto que foi possível retirar alguns limitadores que eram aplicados à API, para que não comprometesse a infra estrutura do cluster on-premisses, o que gerou elogios dos usuários do portal.

Também houve melhora na experiencia dos usuários do portal da transparência, pois as requisições eram destinadas apenas ao ambiente AWS.

Do lado financeiro, essa melhora acarretou em economia, visto que o ambiente de appliances foi drasticamente reduzido, visto que não existia mais o overhead das API’s.

Conclusão e próximos passos

A CGU está passando por uma migração das API’s para essa nova solução. Contudo, do ponto de vista de desempenho, as diferenças já são evidentes. 10x mais requisições são feitas com uma estrutura com 50% do tamanho da anterior. Isso quer dizer que o portal passou a aceitar mais requisições e clientes conectados, levando dados ao alcance de milhares de cidadãos, e também reduzindo o consumo da infraestrutura on-premises e seu cluster analítico.

A CGU está trabalhando em melhorias da solução apresentada neste blog post. Entre elas podemos destacar:

  • Estudo para a migração do cluster analítico;
  • Modernização do framework de ingestão de informações;
  • Testes de bloqueio de bots, com o AWS WAF BotControl;
  • Right sizing da instancia do Amazon Aurora;
  • Teste do recurso de CAPTCHA no AWS WAF;

Sobre os autores

Kevin Lira é Arquiteto de Soluções Sênior na AWS, atuando no Setor Público. Anteriormente já atuou como desenvolvedor de software, tech lead e arquiteto em diversos setores. É bacharel em Sistemas de informação, especialista em tecnologias Microsoft, fã de Star Wars e Música.

 

 

 

 

Timotheo Barbosa Borges, Auditor Federal de Finanças e Controle da Controladoria-Geral da União, onde exerce o papel de Arquiteto de Soluções de Infraestrutura de TI. Formado em Ciências da Computação e Especialista em Gestão de Segurança da Informação. Atualmente lidera o projeto de adoção de Computação em Núvem na CGU.