Introdução
Este módulo apresenta os padrões de implantação e explica a arquitetura de microsserviços para ajudar a aprimorar o ciclo de implantação e examinar padrões de implantação clássicos e modernos.
A entrega contínua é uma extensão da integração contínua. Trata-se de levar as alterações aos clientes rapidamente e usar métodos sustentáveis.
A entrega contínua vai além e as alterações que passam pelos pipelines de produção são liberadas aos clientes.
A entrega contínua é mais do que o gerenciamento de versão.
A entrega contínua se trata do processo, das pessoas e das ferramentas necessárias para garantir que você possa entregar seu software sob demanda.
A implantação é apenas uma etapa dentro do processo de entrega contínua. Para implantar sob demanda ou várias vezes por dia, todos os pré-requisitos precisam estar em vigor.
Por exemplo:
Estratégia de teste
Sua estratégia de teste deve estar em vigor. Se você precisa executar muitos testes manuais para validar seu software, este é um gargalo para a entrega sob demanda.
Práticas de codificação
Se o software não for escrito de maneira segura e fácil de manter, há chances de que você não consiga manter uma alta cadência de lançamentos.
Quando seu software é complexo devido a uma grande quantidade de dívida técnica, fica difícil alterar o código de maneira rápida e confiável.
Escrever software de alta qualidade e testes de alta qualidade é uma parte essencial da entrega contínua.
Arquitetura
A arquitetura do seu aplicativo é sempre algo significativo. Mas, ao implementar a entrega contínua, talvez ela se torne ainda mais importante.
Se o software for monolítico com muitos acoplamentos rígidos entre os vários componentes, será um desafio fornecer seu software continuamente.
Cada parte que é alterada pode afetar outras partes que não foram alteradas. Os testes automatizados podem rastrear muitas dessas dependências inesperadas, mas ainda fica difícil.
Também há o aspecto de tempo ao trabalhar com equipes diferentes. Quando a Equipe A depende do serviço da Equipe B, a Equipe A não pode entregar até que a Equipe B conclua. Isso introduz outra restrição na entrega.
A entrega contínua de produtos de software grandes é complexa.
Para partes menores, é mais fácil. Portanto, a divisão do seu software em partes menores e independentes é uma boa solução em muitos casos.
Uma abordagem para resolver esses problemas é implementar microsserviços.
A integração contínua é um dos pilares fundamentais de DevOps.
Depois que seu código estiver em um sistema de controle de versão, você precisará de uma forma automatizada de integrar o código de maneira contínua.
O Azure Pipelines pode ser usado para criar um serviço completo de CI e CD multiplataforma.
Ele funciona com seu provedor de Git preferido e pode ser implantado na maioria dos principais serviços de nuvem, incluindo o Azure.
Este módulo detalha a prática de integração contínua e os pilares para implementá-la no ciclo de vida de desenvolvimento, bem como seus benefícios e suas propriedades.
Objetivos de aprendizagem
Depois de concluir este módulo, os alunos e profissionais poderão:
- Descrever padrões de implantação.
- Explicar a arquitetura de microsserviços.
- Entender padrões de implantação clássicos e modernos.
- Planejar e projetar sua arquitetura.
Pré-requisitos
- Noções básicas sobre o que é DevOps e seus conceitos.
- É útil estar familiarizado com os princípios de controle de versão, mas não é obrigatório.
- É benéfico ter experiência em uma organização que fornece software.