В этой статье описывается решение, которое отслеживает изменения, внесенные администраторами служб, и добавляет процесс утверждения в развертывания в клиенты Microsoft 365. Это поможет предотвратить неуправляемые изменения в клиентах Microsoft 365 и предотвратить смещение конфигурации между несколькими клиентами Microsoft 365.
Архитектура
Скачайте файл Visio для этой архитектуры.
Рабочий процесс
- Администратор 1 добавляет, обновляет или удаляет запись в форке администратора 1 файла конфигурации Microsoft 365.
- Администратор 1 фиксирует и синхронизирует изменения в вилку репозитория администратора 1.
- Администратор 1 создает запрос на вытягивание (PR), чтобы объединить изменения в основной репозиторий.
- Конвейер сборки выполняется на pr.
- Администраторы просматривают код и объединяют pr.
- Объединенный pr активирует конвейер для компиляции файлов формата управляемых объектов (MOF). Конвейер вызывает Azure Key Vault для получения учетных данных, используемых в MOF-файлах.
- Задача Azure PowerShell в многоэтапном конвейере использует скомпилированные MOF-файлы для развертывания изменений конфигурации с помощью Microsoft365DSC.
- Администраторы проверяют изменения в поэтапном клиенте Microsoft 365.
- Администраторы получают уведомления из процесса утверждения в Azure DevOps для рабочего клиента Microsoft 365. Администраторы утверждают или отклоняют изменения.
Компоненты
- Azure Pipelines — это служба Azure DevOps для непрерывной интеграции и непрерывной доставки (CI/CD). Используйте Azure Pipelines для тестирования и сборки кода и отправки его в любой целевой объект. Вы также можете использовать Azure Pipelines для реализации шлюзов качества, чтобы обеспечить развертывание изменений в управляемом и согласованном режиме.
- Key Vault улучшает безопасность хранилища для маркеров, паролей, сертификатов, ключей API и других секретов. Он также обеспечивает строго контролируемый доступ к этим секретам. Используйте Key Vault для хранения субъектов-служб и сертификатов, используемых для развертывания изменений конфигурации в клиентах Microsoft 365.
- Microsoft365DSC обеспечивает автоматизацию развертывания, настройки и мониторинга клиентов Microsoft 365 с помощью PowerShell Desired Stage Configuration (DSC). Используйте Microsoft365DSC для развертывания изменений конфигурации в клиентах Microsoft 365 с помощью Azure Pipelines.
- Windows PowerShell DSC — это платформа управления в PowerShell. Ее можно использовать для управления инфраструктурой разработки с помощью модели конфигурации как кода. Эта модель является базовой технологией, используемой Microsoft365DSC.
Альтернативные варианты
DSC можно использовать в служба автоматизации Azure для хранения конфигураций в центральном расположении и добавления отчетов о соответствии требуемому состоянию.
Эта архитектура использует Key Vault для хранения сертификатов службы приложение Azure или учетных данных пользователя, используемых для проверки подлинности в клиенте Microsoft 365. Key Vault обеспечивает масштабируемость. В качестве альтернативы можно использовать переменные конвейера для уменьшения сложности решения. Используя виртуальную машину Azure для Windows и DSC, вы можете применить и отслеживать конфигурацию к клиентам Microsoft 365, использующим Microsoft365DSC. Группы действий Azure можно использовать для отправки электронной почты администраторам Microsoft 365, когда виртуальная машина Windows Azure обнаруживает смещение конфигурации с помощью Microsoft 365DSC. Кроме того, группа действий Azure может запустить веб-перехватчик для активации модуля Runbook Azure для создания отчета о перемещении конфигурации в клиентах Microsoft 365.
Подробности сценария
Многие компании принимают методики DevOps и хотят применить эти методики к своим клиентам Microsoft 365. Если вы не используете DevOps для Microsoft 365, могут возникнуть некоторые распространенные проблемы:
- Неправильные настройки
- Проблемы с изменениями конфигурации отслеживания
- Процесс утверждения для изменений клиента не выполняется
Решение, описанное в этой статье, можно использовать для автоматизации изменений конфигураций клиентов Microsoft 365 с помощью Azure DevOps и Microsoft365DSC. Microsoft365DSC — это модуль PowerShell DSC . Его можно использовать для настройки клиентов Microsoft 365 и управления ими в истинном стиле DevOps, который является конфигурацией в виде кода.
Потенциальные варианты использования
Это решение поможет вам управлять конфигурацией клиента Microsoft 365 в управляемом и автоматизированном режиме с помощью средств и методик DevOps в разных странах:
- Разработка, тестирование, принятие и рабочие среды.
- Несколько клиентов, например в сценарии с управляемым поставщиком услуг.
Рекомендации
Эти рекомендации реализуют основные принципы платформы Azure Well-Architected Framework, которая является набором руководящих принципов, которые можно использовать для улучшения качества рабочей нагрузки. Дополнительные сведения см. в статье Microsoft Azure Well-Architected Framework.
Большинство пользователей, начиная с PowerShell DSC, находят, что требуется некоторое время для изучения. Это помогает, если у вас есть твердое понимание PowerShell и опыт создания скриптов.
Безопасность
Безопасность обеспечивает гарантии от преднамеренного нападения и злоупотребления ценными данными и системами. Дополнительные сведения см. в контрольном списке проверки конструктора для безопасности.
Большинство ресурсов Microsoft365DSC поддерживают проверку подлинности с помощью имени пользователя и пароля. Мы не рекомендуем использовать этот тип проверки подлинности, так как рекомендации Майкрософт рекомендуют многофакторную проверку подлинности. Если ресурсы Microsoft 365 поддерживают их, учетные данные приложения являются предпочтительным методом. SharePoint в Microsoft 365, идентификатор Microsoft Entra и другие ресурсы поддерживают учетные данные приложения.
Если вы создаете решение Microsoft365DSC в Azure DevOps, вы также можете воспользоваться безопасностью в Azure Pipelines и процесс утверждения для защиты развертывания в рабочем клиенте.
Оптимизация затрат
Оптимизация затрат заключается в том, чтобы подумать о способах сокращения ненужных расходов и повышения эффективности работы. Дополнительные сведения см . в контрольном списке проверки конструктора для оптимизации затрат.
Сведения о ценах На Azure DevOps см. в разделе "Цены на Azure DevOps". Если вы включили Key Vault в решение, ознакомьтесь с ценами на Key Vault.
Вы также можете использовать калькулятор цен Azure для оценки затрат.
Эффективность работы
Операционное превосходство охватывает процессы, которые развертывают приложение и продолжают работать в рабочей среде. Дополнительные сведения см . в контрольном списке проверки конструктора для повышения эффективности работы.
Некоторые группы операций считают Azure DevOps инструментом для разработчиков. Но эти команды могут воспользоваться azure DevOps. Команды операций могут:
- Сохраните свои скрипты в репозитории и добавьте управление версиями и управление версиями.
- Автоматизация развертываний скриптов.
- Используйте доски для отслеживания задач и проектов.
Использование модели конфигурации как кода не является одноразовой задачей. Это сдвиг в вашем пути работы и фундаментальных изменений для всех членов команды. Вы больше не вносите изменения вручную. Вместо этого все реализуется в скриптах и развертывается автоматически. Все члены команды должны иметь навыки, чтобы внести это изменение.
Уровень производительности
Эффективность производительности — это возможность масштабирования рабочей нагрузки в соответствии с требованиями, заданными пользователями. Дополнительные сведения см . в контрольном списке проверки конструктора для повышения эффективности.
Это решение можно использовать при работе с несколькими средами, несколькими рабочими нагрузками или несколькими командами. Вы можете настроить процесс проверки, чтобы эксперты должны утвердить каждую рабочую нагрузку. Вы также можете расширить решение для развертывания в нескольких клиентах для сценариев, включая разработку, тестирование, принятие и рабочие сценарии или для нескольких организаций.
Развертывание этого сценария
Технический документ Microsoft 365 DSC, управление Microsoft 365 в стиле DevOps с помощью Microsoft365DSC и Azure DevOps предоставляет подробные шаги по развертыванию этого сценария.
Соавторы
Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участниками.
Автор субъекта:
- Дерек Смай | Старший архитектор облачных решений
Следующие шаги
- Управление Microsoft 365 в стиле DevOps с помощью Microsoft365DSC и Azure DevOps
- Исходный код Microsoft365DSC
- Канал YouTube Microsoft365DSC
- Сайт Microsoft365DSC
- Средство генератора экспорта Microsoft365DSC
Связанные материалы
центра решений и архитектуры Microsoft 365