CI/CD de infraestrutura imutável usando Jenkins e Terraform na arquitetura virtual do Azure visão geral

Log Analytics
Managed Disks
Conjuntos de Dimensionamento de Máquinas Virtuais
GitHub

Ideia da solução

se você quiser nos ver, expanda este artigo com mais informações, como casos de uso em potencial, serviços alternativos, considerações sobre implementação ou diretrizes de preços, fale conosco com GitHub comentários!

O Azure é uma nuvem de nível mundial para hospedar máquinas virtuais que executam Windows linux. Independentemente de usar Java, Node.js, Go ou PHP para desenvolver seus aplicativos, você precisará de um pipeline de CI/CD (integração contínua e implantação contínua) para enviar alterações por push a essas máquinas virtuais automaticamente.

Arquitetura

Diagrama de arquitetura Baixe um SVG dessa arquitetura.

Fluxo de Dados

  1. Altere o código-fonte do aplicativo.
  2. Commit code to GitHub.
  3. Gatilho de integração contínua para Jenkins.
  4. O Jenkins dispara um build de imagem do Packer para criar uma VM e a armazena como uma imagem de VM usando o Azure Managed Disks.
  5. O Jenkins dispara o Terraform para provisionar um novo Conjunto de Dimensionamento de Máquinas Virtuais usando a imagem Managed Disks VM do Azure.
  6. O Azure Log Analytics coleta e analisa logs.
  7. Monitore o aplicativo e faça melhorias.

Componentes

  • Managed Disks:armazenamento em disco persistente e seguro para máquinas virtuais do Azure.
  • Conjuntos de Dimensionar MáquinasVirtuais: gerencie e dimensione para milhares de máquinas virtuais Linux e Windows virtuais.
  • Log Analytics: colete, pesquise e visualize dados do computador do local e da nuvem.
  • Visual Studio Code:crie e implante aplicativos de várias plataformas para obter o máximo de serviços do Azure.

Próximas etapas

Implantar no Azure