En este artículo se describe una solución que realiza un seguimiento de los cambios que realizan los administradores de servicios y agrega un proceso de aprobación a las implementaciones en los inquilinos de Microsoft 365. Puede ayudarle a evitar cambios no realizados en los inquilinos de Microsoft 365 y evitar el desfase de configuración entre varios inquilinos de Microsoft 365.
Arquitectura
Descargue un archivo Visio de esta arquitectura.
Flujo de trabajo
- El administrador 1 agrega, actualiza o elimina una entrada en la bifurcación de Admin 1 del archivo de configuración de Microsoft 365.
- El administrador 1 confirma y sincroniza los cambios en el repositorio bifurcado del administrador 1.
- El administrador 1 crea una solicitud de incorporación de cambios (PR) para combinar los cambios en el repositorio principal.
- La canalización de compilación se ejecuta en la PR.
- Los administradores revisan el código y combinan la solicitud de incorporación de cambios.
- La PR combinada desencadena una canalización para compilar archivos Managed Object Format (MOF). La canalización llama a Azure Key Vault para recuperar las credenciales que se usan en los archivos MOF.
- Una tarea de Azure PowerShell en una canalización de varias etapas usa los archivos MOF compilados, para implementar cambios de configuración a través de Microsoft365DSC.
- Los administradores validan los cambios en un inquilino de Microsoft 365 almacenado provisionalmente.
- Los administradores obtienen la notificación del proceso de aprobación en Azure DevOps para el inquilino de producción de Microsoft 365. Los administradores aprueban o rechazan los cambios.
Componentes
- Azure Pipelines es un servicio de Azure DevOps para la integración continua y la entrega continua. Use Azure Pipelines para probar y compilar el código y enviarlo a cualquier destino. También puede usar Azure Pipelines para implementar puertas de calidad para ayudar a garantizar que implemente cambios de forma controlada y coherente.
- Key Vault mejora la seguridad del almacenamiento para tokens, contraseñas, certificados, claves de API y otros secretos. También proporciona acceso estrechamente controlado a estos secretos. Use Key Vault para almacenar entidades de servicio y certificados que use para implementar cambios de configuración en los inquilinos de Microsoft 365.
- Microsoft365DSC proporciona automatización para la implementación, configuración y supervisión de inquilinos de Microsoft 365 a través de la configuración de fase deseada de PowerShell (DSC). Use Microsoft365DSC para implementar cambios de configuración en los inquilinos de Microsoft 365 a través de Azure Pipelines.
- Windows PowerShell DSC es una plataforma de administración en PowerShell. Puede usarlo para administrar la infraestructura de desarrollo mediante un modelo de configuración como código. Este modelo es la tecnología subyacente que usa Microsoft365DSC.
Alternativas
Puede usar DSC en Azure Automation para almacenar configuraciones en una ubicación central y agregar informes de cumplimiento con el estado deseado.
Esta arquitectura usa Key Vault para almacenar certificados de Azure App Service o credenciales de usuario, que se usan para la autenticación del inquilino de Microsoft 365. Key Vault proporciona escalabilidad. Como alternativa, puede usar variables de canalización para reducir la complejidad de la solución. Mediante el uso de una máquina virtual (VM) de Azure para Windows y DSC, puede aplicar y supervisar una configuración a los inquilinos de Microsoft 365 que usan Microsoft365DSC. Puede usar grupos de acciones de Azure para enviar correo electrónico a los administradores de Microsoft 365 cuando la máquina virtual Windows de Azure detecta un desfase de configuración mediante Microsoft 365DSC. Además, un grupo de acciones de Azure puede ejecutar un webhook para desencadenar un runbook de Azure para generar un informe de desfase de configuración dentro de los inquilinos de Microsoft 365.
Detalles del escenario
Muchas empresas están adoptando prácticas de DevOps y quieren aplicar estas prácticas a sus inquilinos de Microsoft 365. Si no adopta DevOps para Microsoft 365, puede encontrar algunos problemas comunes:
- Error de configuración
- Desafíos con el seguimiento de los cambios de configuración
- Falta de proceso de aprobación para modificaciones de inquilinos
Puede usar la solución descrita en este artículo para automatizar los cambios en las configuraciones de inquilino de Microsoft 365 mediante Azure DevOps y Microsoft365DSC. Microsoft365DSC es un módulo DSC de PowerShell. Puede usarlo para configurar y administrar inquilinos de Microsoft 365 en un estilo verdadero de DevOps, que es la configuración como código.
Posibles casos de uso
Esta solución puede ayudarle a administrar la configuración de inquilinos de Microsoft 365 de forma controlada y automatizada mediante herramientas y prácticas de DevOps en:
- Entornos de desarrollo, prueba, aceptación y producción.
- Varios inquilinos de cliente, como en un escenario de proveedor de servicios administrados.
Consideraciones
Estas consideraciones implementan los pilares del marco de buena arquitectura de Azure, que es un conjunto de principios guía que se pueden usar para mejorar la calidad de una carga de trabajo. Para más información, consulte Marco de buena arquitectura de Microsoft Azure.
La mayoría de las personas que empiezan con DSC de PowerShell descubren que se tarda un tiempo en aprender a usarlo. Tendrá más facilidad para manejarlo si tiene un conocimiento sólido de PowerShell y experiencia con la creación de scripts.
Seguridad
La seguridad proporciona garantías contra ataques deliberados y el abuso de datos y sistemas valiosos. Para obtener más información, consulte Lista de comprobación de revisión de diseño para seguridad.
La mayoría de los recursos de Microsoft365DSC admiten la autenticación mediante el nombre de usuario y la contraseña. No se recomienda ese tipo de autenticación porque los procedimientos recomendados de Microsoft recomiendan la autenticación multifactor. Si los recursos de Microsoft 365 los admiten, las credenciales de aplicación son el método preferido. SharePoint en Microsoft 365, el identificador de Microsoft Entra y otros recursos admiten credenciales de aplicación.
Si compila una solución Microsoft365DSC en Azure DevOps, también puede aprovechar la seguridad de Azure Pipelines y un proceso de aprobación para proteger la implementación en el inquilino de producción.
Optimización de costos
La optimización de costes trata de buscar formas de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para obtener más información, consulte Lista de comprobación de revisión de diseño para la optimización de costes.
Para más información sobre los precios de Azure DevOps, consulte Precios de Azure DevOps. Si incorpora Key Vault en la solución, consulte Precios de Key Vault.
Puede usar la calculadora de precios de Azure para hacer una estimación de los costes.
Excelencia operativa
La excelencia operativa abarca los procesos de las operaciones que implementan una aplicación y la mantienen en ejecución en producción. Para obtener más información, consulte la Lista de comprobación de revisión de diseño para la excelencia operativa.
Algunos equipos de operaciones consideran Azure DevOps una herramienta para desarrolladores. Pero estos equipos pueden beneficiarse del uso de Azure DevOps. Los equipos de operaciones pueden:
- Almacenar sus scripts en un repositorio y agregar control de código fuente y control de versiones.
- Automatizar las implementaciones de scripts.
- Use paneles para realizar un seguimiento de tareas y proyectos.
El uso de un modelo de configuración como código no es una tarea única. Es un cambio en su forma de trabajar y un cambio fundamental para todos los miembros del equipo. Ya no realiza cambios manualmente. En su lugar, todo se implementa en scripts, automáticamente. Todos los miembros del equipo deben tener las aptitudes necesarias para realizar este cambio.
Eficiencia del rendimiento
La eficiencia del rendimiento es la capacidad de la carga de trabajo para escalar con el fin de satisfacer de manera eficiente las demandas que los usuarios hayan ejercido sobre ella. Para obtener más información, consulte Lista de comprobación de revisión de diseño para la eficiencia del rendimiento.
Puede usar esta solución cuando trabaje con varios entornos, varias cargas de trabajo o varios equipos. Puede configurar el proceso de validación para que los expertos necesiten aprobar cada carga de trabajo. También puede ampliar la solución para implementar en varios inquilinos para escenarios, incluidos los escenarios de desarrollo, prueba, aceptación y producción, o para varias organizaciones.
Implementación de este escenario
Las notas del producto de DSC de Microsoft 365, Administración de Microsoft 365 en el estilo verdadero de DevOps con Microsoft365DSC y Azure DevOps, proporcionan pasos detallados para implementar este escenario.
Colaboradores
Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.
Autor principal:
- Derek Smay | Arquitecto sénior de soluciones en la nube
Pasos siguientes
- Administración de Microsoft 365 en estilo DevOps real con Microsoft365DSC y Azure DevOps
- Código fuente de Microsoft365DSC
- Canal de YouTube de Microsoft365DSC
- Sitio web de Microsoft365DSC
- Herramienta Generador de exportación de Microsoft365DSC