Necessidade do cliente
Por ser uma startup existe a necessidade de constantes mudanças tecnológicas e frequentes readaptações de negócio. O fluxo de trabalho anterior dificultava a velocidade das mudanças, devido à falta de automação levando a um grande número de processos manuais.
Com um time global trabalhando em diferentes fusos horários, também existia a necessidade de dar autonomia e independência para os desenvolvedores testarem e implantarem suas aplicações em produção. O modelo de trabalho anterior dependia da atuação do líder técnico para gerenciamento de infraestrutura e implantação de mudanças.
Também era necessário liberar o time de desenvolvimento para focar em inovações tecnológicas e em soluções de negócio que impulsionam a evolução da Quoretech, ao invés de gastar o tempo fazendo implantações e alterações de infraestrutura.
Solução proposta
Foi definido o git flow como padrão de desenvolvimento, permitindo que diferentes times em diferentes fusos horários pudessem trabalhar nos mesmos repositórios de código.
Com o intuito de agilizar as entregas e garantir a consistência na execução, foi também criado um pipeline de CI / CD com base na ferramenta Gitlab, que já era utilizada pela Quoretech. Para garantir a qualidade das entregas, foi definido um modelo de testes unitários e configurado no pipeline travas caso não atinjam um threshold definido pelo cliente.
Para facilitar a gestão da infraestrutura e trazer mais previsibilidade na configuração, toda a gestão de infraestrutura passou a ser feita por código, utilizando AWS CloudFormation, AWS SAM e AWS CDK. Dessa forma, foi possível criar padrões de arquitetura e infraestrutura e garantir que esses padrões sejam respeitados, sendo também entregues pelo pipeline de CI / CD.
Além da mudança na forma de gerir a infraestrutura e o ciclo de vida das aplicações, também foi revista toda a arquitetura mais de uma vez, com o intuito de chegar em uma solução escalável e de baixo custo.
Resultados
Após a implementação dos pipelines, houveram zero problemas na execução de implantações, enquanto que a dependência de um recurso-chave para execução foi eliminada, trazendo autonomia para os times globais e liberando o líder técnico para focar na arquitetura da solução, trazendo inovações para o produto. O processo de implantação de novas funcionalidades também ficou mais rápido, passando de horas para minutos.
Durante o processo de automatização da infraestrutura foi possível perceber algumas falhas de arquitetura e segurança, que puderam ser sanadas durante a criação do código. Não somente isso, também foi possível eliminar por completo os erros operacionais na configuração da AWS.
Dessa forma, a Quoretech ficou muito bem preparada para a entrada de seu produto no mercado, que aconteceu em 2022 com zero incidentes em produção causados por implantações e/ou infraestrutura.