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.
En muchos escenarios, la adopción de la nube de Azure como solución empresarial implica la migración de un entorno local. Normalmente, no es práctico dejar en desuso el entorno local rápidamente y, en muchos casos, se deberá conservar junto con el entorno en la nube durante un período de tiempo considerable. Las herramientas que se proporcionan en Azure permiten la implementación de una estrategia de DevOps que administra de forma capaz los entornos local y en la nube en conjunto.
Descargue un SVG de esta arquitectura.
Flujo de datos
- GitHub Enterprise se usa como repositorio de código para la aplicación
- Las solicitudes de incorporación de cambios desencadenan compilaciones de CI y pruebas automatizadas en Azure Pipelines
- La supervisión continua con Azure Monitor se amplía a las canalizaciones de versión para dirigir o revertir las versiones en función de los datos de supervisión.
- Una versión en Azure Pipelines integra la herramienta Terraform, que administra la infraestructura local y de la nube como código, y aprovisiona recursos como Azure Web Apps, máquinas virtuales y bases de datos en ambas ubicaciones.
- Azure Pipelines define la entrega continua (CD) en un entorno de desarrollo en la nube y las implementaciones de versiones en un entorno de producción local.
- Azure Key Vault se usa para insertar de forma segura secretos y credenciales en una implementación, lo que impide que los desarrolladores vean los secretos.
- Azure Monitor se puede configurar para registrar análisis del entorno local y en la nube. Application Insights como parte de Azure Monitor se puede conectar a aplicaciones locales y en la nube para su supervisión.
- Azure AD en la nube se puede usar para proporcionar servicios de identidad para la aplicación, que se ejecutan en Azure y en el entorno local.
Componentes
- Azure Boards: Use Azure Boards para planear el trabajo y realizar un seguimiento de su progreso mediante herramientas de Agile, como los paneles Kanban.
- El código fuente se hospeda en GitHub Enterprise, donde los desarrolladores pueden colaborar tanto con su organización como con las comunidades de código abierto. GitHub Enterprise ofrece características de seguridad avanzadas para identificar vulnerabilidades en el código que se escribe y en las dependencias de código abierto.
- Azure Pipelines ejecuta trabajos de integración continua y entrega continua para la aplicación, así como la creación de la infraestructura con la integración con Terraform.
- Puede usar Azure Key Vault para almacenar certificados, cadenas de conexión, tokens y otros secretos. La aplicación lee todos estos elementos en tiempo de ejecución, por lo que los desarrolladores no pueden acceder a ellos.
- Terraform es un producto de terceros desarrollado por HashiCorp que permite la automatización de la infraestructura en Azure, en el entorno local y en otros entornos.
- El uso de Azure Monitor permite obtener información sobre la disponibilidad y el rendimiento de cualquier aplicación e infraestructura.
- Azure AD proporciona servicios de administración de identidades y acceso para la aplicación, tanto en el entorno local como en la nube. Azure AD puede sincronizarse con una instancia local de Active Directory para permitir que los usuarios se autentiquen en cualquier parte sin problemas.
- Azure Web Apps es una plataforma administrada para hospedar aplicaciones basadas en web en la nube.
- Azure SQL Database es un servicio de base de datos administrado para aplicaciones transaccionales.