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
Descargue un SVG de esta arquitectura.
Data Flow
- Cambie el código fuente de la aplicación.
- Confirme el código en GitHub.
- Desencadene la integración continua en Jenkins.
- 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.
- 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.
- Azure Log Analytics recopila y analiza registros.
- 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
- Uso de Terraform para crear un conjunto de escalado de máquinas virtuales a partir de una imagen de máquina virtual de cliente de Packer
- Uso de Terraform para planear y crear un conjunto de escalado de máquinas virtuales con Managed Disks
- Uso de Log Analytics para recopilar datos de equipos Linux
- Obtención del paquete de extensiones de Azure para Visual Studio Code