O blog da AWS
Case de Sucesso – Migração do Sistema Positivo de Ensino para AWS
Por Matheus Macan Munhoz, DevOps Engineer, Positivo
Gabriel Bella Martini, Solutions Architect, AWS Brazil Public Sector
Ricardo Murer, Customer Success Manager, AWS Brazil Public Sector
Alan Xavier, Solutions Architect , DaRede
12 de setembro de 2022: Este blogpost foi atualizado para refletir o novo nome do AWS Single Sign-On (SSO) – AWS IAM Identity Center. Leia mais sobre a mudança de nome aqui.
Visão Geral
Com mais de 40 anos dedicados à inovação e à excelência no ensino, o Sistema Positivo de Ensino trabalha em parceria com uma rede de milhares de escolas. Atualmente possui soluções para recursos didáticos, tecnologia educacional, assessoria, formação e gestão escolar.
Neste blog post será abordado como o Sistema Positivo de Ensino modernizou o Positivo On, sua solução de tecnologia educacional na nuvem AWS em conjunto aos parceiros DaRede, Kumulus e New Relic e quais foram os ganhos em relação a custos, operação, escalabilidade, disponibilidade e segurança.
O desafio
Em março de 2019, a Arco Educação comprou o Sistema Positivo de Ensino. A partir de então, assumiu a gestão tecnológica do sistema Positivo On, a plataforma virtual de aprendizagem do Sistema Positivo de Ensino, a qual apresenta um conjunto de tecnologias e recursos que potencializam o aprendizado e o engajamento dos alunos, os quais aprendem de acordo com o próprio ritmo. Entre as ferramentas estão a Sala de Aula Virtual, Livros Digitais e Plano Semanal de Aulas, entre outros. Gestores, professores e famílias também acessam o Positivo On para obter relatórios em tempo real sobre o desempenho do aluno. Atualmente são milhares de alunos e escolas atendidas, sendo que em 2021 foram mais de 3600 alunos aprovados no SiSU.
Todo o sistema Positivo On estava baseado em outro provedor de nuvem, e sua arquitetura não seguia boas práticas em relação a escalabilidade, disponibilidade e segurança. A arquitetura foi implementada manualmente, dificultando a gestão de centenas de componentes pelo time de engenharia de DevOps, os times de desenvolvimento não tinham visibilidade dos logs e métricas e a implantação não era totalmente automatizada, atrasando correções e novas entregas. Além disso, era necessário manter sistemas legados que estavam super provisionados e não eram performáticos.
Com novas escolas utilizando o sistema Positivo On, as dificuldades aumentavam e consequentemente a necessidade de modernização e melhoria da arquitetura em um curto prazo de tempo.
A decisão de migrar para nuvem AWS veio a partir da análise de custos e necessidades de escalabilidade e segurança. Com o uso de metodologia Ágil, foram formadas squads dedicadas a cada uma das aplicações do sistema Positivo On. Foram engajados três parceiros, DaRede, Kumulus e New Relic, para suprir as necessidades técnicas dos squads e acompanhar a entrada em produção de cada um dos workloads.
Definição da Estratégia de Migração
O processo de migração seguiu três fases se adequando as necessidades dos squads:
- Avaliação: No início de sua jornada, a organização é avaliada em termos de como operar na nuvem. São também identificados os resultados de negócio desejados e desenvolvido o caso de negócios para a migração.
- Mobilizar: Um plano de migração começa com uma levantamento das interdependências entre aplicações e avalia as estratégias de migração para atender aos objetivos do caso de negócios. Também é colatado os dados do portfólio de aplicações e definida a estratégia de migração: realocar, reformular a hospedagem, replataforma, refatorar, comprar novamente, retirar ou reter.
- Migrar e Modernizar: Durante a fase Migrar e Modernizar, cada aplicação é projetada, migrada e validada.
Para os ambientes mais novos foi decidido manter a arquitetura de microsserviços, mas efetuar uma replataforma para ambientes containerizados. Além da estratégia de containerização, serviços de migração como o AWS Migration HUB e AWS Application Discovery foram utilizados para auxiliar no processo de migração do ambiente legado, efetuando uma nova migração e refatorando em alguns casos para utilizar a nova plataforma.
Arquitetura do projeto
A containerização possibilitou uma melhor escala, além da facilidade de empacotamento das aplicações, economia de recursos, maior isolamento e portabilidade, para facilitar a gestão do ambiente. Também foi utilizado serviços serverless, diminuindo a quantidade de recursos de infraestrutura para efetuar manutenção e gestão, passando a maior parte do gerenciamento para AWS e focando na melhoria da aplicação. Além disso, essa escolha arquitetural possibilitou otimizar o uso dos serviços em nuvem e escalando conforme a necessidade.
Figura 1 – Arquitetura AWS
Foi construída uma estrutura de fundação utilizando o AWS Control Tower para gerenciamento de GuardRails, AWS IAM Identity Center (sucessor do AWS Single Sign-On) para autenticação centralizada, AWS Transit Gateway para centralização do tráfego de rede e VPN Client-to-site gerenciada AWS, provendo uma conectividade de alta performance e altamente disponível.
O diagrama de arquitetura ilustrado acima possui os principais componentes utilizados na solução, sendo esses componentes replicados para os diferentes ambientes em diferentes contas, como desenvolvimento, homologação e produção. A arquitetura foi desenhada para ser escalável através de serviços serverless para containers, sendo o Amazon ECS o orquestrador utilizado e o AWS Fargate para provisionamento das APIs. Para camada de dados foi utilizado armazenamento de objetos no Amazon S3 e o Amazon RDS como serviço gerenciado de banco de dados para SQL Server e PostgreSQL. Pensando em segurança na borda, foram utilizados serviços como o AWS WAF e AWS Secrets Manager.
As integrações entre o Azure DevOps, ferramenta já utilizada pelos times do Sistema Positivo de Ensino, foram configurados para integrar com a AWS. Todos componentes foram provisionados através de infraestrutura como código (IaC) utilizando os módulos AWS para Terraform.
Durante os testes de cada microsserviço, foi adicionada uma nova etapa para testes de carga utilizando a solução Distributed Load Testing, automatizando o processo de simulação de alto tráfego de usuários de forma distribuída, ajudando os times de desenvolvimento a identificarem as métricas de escala e performance da aplicação.
Resultados obtidos
Como resultado, o projeto obteve:
- Redução de custos: A economia em relação ao custo anterior no outro provedor de nuvem foi de mais de 50%. Além da otimização do ambiente, a utilização de serviços serverless possibilitou o pagamento conforme o uso, permitindo o sistema Positivo On enfrentar momentos de pico específicos em situações como início das aulas e entrega de provas e atividades.
- Segurança: Após a migração para AWS, foi implementada segurança na camada 7 (aplicação) através do AWS WAF, camada 3 (redes) utilizando serviços de rede do Amazon VPC além do uso de serviços de segurança em nuvem como o AWS Config e o AWS Security Hub para identificar ações fora de conformidade.
- Excelência Operacional: A equipe de engenharia de DevOps da SPE foi capaz de automatizar toda a infraestrutura utilizando Terraform, facilitando a gestão e provisionamento dos diferentes ambientes de sandbox, desenvolvimento, homologação e produção. Além disso, a observabilidade do produto foi melhorada com a solução de Application Performance Management (APM) do parceiro New Relic, implantando métricas, logs, tracing e possibilitando o time de desenvolvimento avaliar o impacto do código na performance da aplicação. Falhas que antes levaram dias para serem identificadas e corrigidas, agora conseguem ser identificadas em minutos.
- Disponibilidade e Escalabilidade: Após a migração para nuvem AWS, não ocorreu nenhum evento que tenha provocado a indisponibilidade do sistema, possuindo um tempo de atividade geral maior que 99.99%.
Voz do cliente
“Trabalhamos desde o início não apenas para realizar uma migração, mas sim buscando uma excelência operacional, quebra de silos e melhoria de processos, parece loucura conseguir realizar tudo isso ao mesmo tempo, porém com o time certo e a vontade de fazer acontecer isso se tornou possível.” Matheus Macan, DevOps Engineer ArcoTech
“O trabalho em parceria com o time AWS, DaRede e Kumulus foi fundamental para o sucesso do projeto. Além da grande redução de custo, conseguimos otimizar todo nosso ambiente, melhorando a segurança, disponibilidade e escalabilidade.” Daniela Barreto, Engineering Manager ArcoTech
“É perceptível a melhoria que tivemos em relação à disponibilidade do sistema após a migração dos nossos serviços para a AWS. Mais do que melhorar nossas métricas internas, geramos um impacto positivo diretamente no dia a dia dos nossos milhares de alunos e professores.” Scheila Giongo, CTO ArcoTech
Conclusão e próximos passos
Neste blog post foi apresentado o caso de sucesso do Sistema Positivo de Ensino, explicando o processo de modernização e migração de seus ambientes de um provedor de nuvem para AWS. Com a nova arquitetura baseada em containers e serverless, o Sistema Positivo de Ensino ganhou melhorias em termos de segurança, resiliência e custos.
Como próximo passo, o Sistema Positivo de Ensino busca melhorar a segurança através das práticas de DevSecOps, otimização de custos através de FinOps e modernização dos bancos de dados SQL Server.
Sobre os autores
Matheus Macan é formado em Sistemas de Informação e atua na parte de Engenharia de Software, atualmente focado em práticas DevOps/SRE. Atualmente trabalha na Arco Educação e possui experiência com projetos de desenvolvimento de software e infraestrutura.
Gabriel Bella Martini é formado em Ciência da Computação e especializado em Engenharia de Software. Atualmente trabalha na AWS atendendo clientes de Educação e possui experiência em diferentes projetos relacionados a Serverless e Inteligência Artificial.
Ricardo Murer é formando em Ciência da Computação e mestre em Comunicação. Atualmente é CSM na AWS para área de Educação e possui experiência em projetos de inovação digital e educacionais com tecnologia Alexa e Machine Learning.
Alan Xavier é formando em Segurança da informação e especializado em arquitetura de soluções baseadas em Cloud Computing. Atualmente trabalha na Darede e possui experiencia em diferentes projetos relacionados a Migração, Modernização e Operação.