Información general sobre la integración continua y la implementación continua de la infraestructura inmutable mediante Jenkins y Terraform en Azure Virtual Architecture

Log Analytics
Managed Disks
Virtual Machine Scale Sets
GitHub

Idea de solución

Si le gustaría que expandamos este artículo con más información, como posibles casos de uso, servicios alternativos, consideraciones de implementación o una guía de precios, comuníquese a través de los Comentarios de GitHub.

Azure es una nube de primer nivel para hospedar máquinas virtuales que ejecutan Windows o Linux. Independientemente de que use Java, Node.js, Go o PHP para desarrollar las aplicaciones, necesitará una canalización de integración continua e implementación continua (CI/CD) para enviar automáticamente los cambios a estas máquinas virtuales.

Architecture

Diagrama de la arquitectura Descargue un SVG de esta arquitectura.

Data Flow

  1. Cambie el código fuente de la aplicación.
  2. Confirme el código en GitHub.
  3. Desencadene la integración continua en Jenkins.
  4. Jenkins desencadena una compilación de imagen de Packer para crear una máquina virtual y la almacena como una imagen de máquina virtual mediante Azure Managed Disks.
  5. Jenkins desencadena Terraform para aprovisionar un nuevo conjunto de escalado de máquinas virtuales mediante la imagen de máquina virtual de Azure Managed Disks.
  6. Azure Log Analytics recopila y analiza registros.
  7. Supervise la aplicación y realice mejoras.

Componentes

  • Discos administrados: almacenamiento de disco persistente y seguro para máquinas virtuales de Azure.
  • Virtual Machine Scale Sets: administre y escale verticalmente hasta miles de máquinas virtuales Linux y Windows.
  • Log Analytics: recopile, busque y vea datos de máquinas en entornos locales y en la nube.
  • Visual Studio Code: Cree e implemente aplicaciones multiplataforma para sacar el máximo partido de los servicios de Azure.

Pasos siguientes

Implementar en Azure