top of page

Integrando Azure DevOps e AWS: pipelines automatizadas para ambientes em nuvem


Você enfrenta desafios com processos manuais e demorados para desenvolver e implantar soluções? Precisa de maior agilidade, segurança e eficiência para atender às demandas do seu negócio? Se essas dificuldades fazem parte do seu dia a dia, temos uma abordagem que pode transformar o modo como sua equipe opera.

Por meio da integração de ferramentas AWS com repositórios hospedados no Azure DevOps, desenvolvemos uma solução robusta de CI/CD que automatiza deploys, aumenta a escalabilidade e otimiza custos. Essa estrutura conecta o melhor dos dois mundos: o gerenciamento centralizado no Azure DevOps e a eficiência operacional das pipelines rodando diretamente na AWS. Além disso, a adoção do Serverless Framework para deploy de aplicações serverless trouxe ainda mais agilidade e redução de custos operacionais. Essa abordagem permite inovação contínua, reduz o tempo de entrega e assegura que as equipes possam se concentrar no que realmente importa – entregar valor ao cliente.



O desafio de sustentar processos eficientes e escaláveis

Manter a eficiência e a escalabilidade em operações dinâmicas é um desafio constante para as equipes técnicas. Processos manuais de deploy frequentemente levam a atrasos, erros de configuração e dificuldade na integração entre sistemas. Além disso, o gerenciamento manual da infraestrutura consome tempo e recursos, limitando a capacidade das equipes de focar em inovação e entregas estratégicas.

A solução integrada utilizando AWS CodePipeline, AWS CodeBuild e o Serverless Framework resolve esses entraves ao automatizar totalmente o pipeline de desenvolvimento e entrega contínua. Essa abordagem elimina grande parte dos erros humanos, reduz significativamente o tempo de deploy e garante uma operação fluida e segura. Ao mesmo tempo, a infraestrutura gerenciada do AWS Elastic Beanstalk e a arquitetura serverless reduzem o esforço com a manutenção, permitindo que as equipes concentrem esforços em atividades de alto impacto, como otimização e evolução do produto.



Execução da solução

Passos implementados:

  • Levantamento de requisitos: Identificamos critérios de avaliação como custo, facilidade de uso e compatibilidade com o ambiente atual no Azure DevOps e AWS.

  • Configuração de repositórios: Sincronizar os repositórios no Azure DevOps diretamente com os pipelines na AWS, garantindo integração transparente entre os dois ambientes.

  • Automação de pipelines: Configuramos gatilhos automáticos no AWS CodePipeline para build e deploy, assegurando que Pull Requests (PRs) aprovados no Azure DevOps acionem automaticamente as pipelines na AWS. O uso do Serverless Framework tornou o processo de deploy de aplicações serverless mais ágil e eficiente.

  • Gerenciamento de acessos: Criamos grupos de acesso no IAM e associamos permissões diretamente aos repositórios e pipelines, assegurando a segurança do fluxo de trabalho.

  • Simulação de cenário real: Validamos o ambiente com ferramentas AWS, garantindo que o ciclo CI/CD funcione de forma integrada com o Azure DevOps e que os deploys serverless estejam alinhados às práticas recomendadas.



Diagrama de arquitetura


No desenho da arquitetura, cobrimos critérios relevantes para cenários de integração contínua de software. Incluímos funcionalidades como integração com um aplicativo de comunicação instantânea para notificações rápidas e o uso do CloudFront para monitorar métricas operacionais. Também exploramos a utilização do Savings Plans para redução de custos, Cost Explorer para análises detalhadas e AWS Budgets para controle financeiro.

Definimos três branches: develop, staging e prod.

  • O branch develop é o padrão para desenvolvedores, permitindo commits ou PRs sem restrições.

  • O branch staging requer aprovação do QA ou do arquiteto do projeto para PRs, enquanto o prod exige ao menos duas aprovações para atualização.

O deploy do ambiente de desenvolvimento pode ser feito localmente pelo desenvolvedor. Nos ambientes staging e prod, pipelines são acionadas automaticamente após a aceitação de PRs e execução do merge. Utilizamos AWS Pipelines e AWS Build para os builds, com contêineres dedicados para computação sob demanda. Com a abordagem serverless, o deploy é realizado diretamente pelo Serverless Framework durante o build, eliminando a necessidade de etapas adicionais.



Resultados obtidos

A integração entre o Azure DevOps e as ferramentas AWS otimizou operações em vários aspectos, como:

Redução de custos operacionais: A migração para a AWS permitiu um controle mais eficiente sobre os custos operacionais, com uma economia considerável através do uso de recursos sob demanda e da opção de Savings Plans. A utilização de Cost Explorer e AWS Budgets possibilitou uma visão detalhada dos custos da operação, permitindo ajustes rápidos e eficientes para evitar excessos.

Aumento de eficiência nas pipelines: Antes da migração, o tempo de deploy dos códigos e versões de produção era um processo manual e demorado, o que impactava diretamente a agilidade da equipe. Com a automação das pipelines, que agora são acionadas automaticamente após a aprovação das Pull Requests (PRs), o tempo de entrega foi reduzido significativamente. A integração do AWS CodePipeline, AWS CodeBuild e o Serverless Framework possibilitou a criação de pipelines mais rápidas e seguras, sem a necessidade de intervenção manual. Esse processo reduzido em horas significa maior eficiência operacional e menor margem para erros humanos.

Escalabilidade e flexibilidade: O modelo adotado permite que a arquitetura escale facilmente, suportando aumentos de demanda sem grandes investimentos em infraestrutura física. Com o uso de AWS Lambda, a execução de funções serverless para backends foi otimizada, permitindo que as equipes de desenvolvimento escalassem suas operações sem a preocupação de gerenciar servidores.

Notificações e acompanhamento: A integração com o Slack para notificações instantâneas manteve a equipe informada sobre o andamento das builds e status das pipelines. Essa automação das notificações melhorou a comunicação e diminuiu o tempo de resposta a problemas de integração.

Resultados financeiros detalhados: O custo mensal de operação foi mantido dentro de parâmetros controláveis, com um gasto total de $3.22 USD/mês, que inclui:

  • $0.22 por 78 minutos de build,

  • $3.00 por 1 dashboard no CloudWatch,

  • Notificações grátis de até 100.000 por mês.

Esse custo reflete a eficiência da solução, proporcionando uma excelente relação custo-benefício, especialmente considerando o número de usuários e a quantidade de repositórios utilizados.

Tempo de deploy: A principal melhoria observada foi a redução do tempo de deploy. Antes da migração, o ciclo de deploy poderia levar várias horas, com a necessidade de intervenção manual e verificações. Agora, com a automação das pipelines e a utilização de Serverless Framework, esse tempo foi reduzido a menos de 1 hora, o que representa uma melhoria de mais de 90% na velocidade de entrega de novas versões, permitindo uma entrega contínua mais ágil e segura.



Conclusão

A migração para a AWS e a automação de CI/CD com ferramentas como AWS CodePipeline, AWS Lambda e Serverless Framework transformaram o ciclo de desenvolvimento, reduzindo o tempo de deploy de horas para menos de 1 hora. Isso trouxe maior agilidade, segurança e eficiência, permitindo que as equipes se concentrem em inovação.

Com essa integração, os repositórios no Azure DevOps agora se beneficiam de pipelines robustas e automáticas na AWS, unindo segurança, agilidade e eficiência. A solução permite um ciclo de entrega contínua mais rápido e escalável, enquanto simplifica o gerenciamento de custos e acessos.

A escalabilidade simplificada e o controle otimizado de custos criaram um ambiente flexível e sustentável, enquanto notificações automatizadas e gestão de permissões garantem uma operação segura.






 

Sobre a nScreen

nScreen | Eclipseworks company

Somos o braço especializado em cloud da Eclipseworks, atuamos da migração on premise para a nuvem, até o uso de serviços avançados como IA Generativa. Além disso, nós somos especialistas na criação de experiências digitais, combinando metodologias centradas no usuário com engenharia de software avançada para desenvolver soluções inovadoras e eficazes.


6 visualizações
bottom of page