Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применяется к следующей рекомендации контрольного списка по достижению операционной эффективности Power Platform Well-Architected:
| OE:10 | Четко определите методы безопасного развертывания вашей рабочей нагрузки. Подчеркивайте идеалы небольших, постепенных, контролируемых по качеству методов выпуска. Используйте современные шаблоны развертывания для контроля рисков. Учитывайте рутинные и аварийные развертывания или развертывания с исправлениями. |
|---|
В этом руководстве описаны рекомендации по использованию методов безопасного развертывания. Процессы и процедуры безопасного развертывания определяют, как безопасно вносить и развертывать изменения в вашей рабочей нагрузке. Их внедрение требует от вас рассмотрения развертывания через призму управления рисками. Внедрив эти методы, вы сможете свести к минимуму риск человеческих ошибок при развертываниях и ограничить влияние проблемных развертываний на ваших пользователей.
Ключевые стратегии проектирования
При внедрении методов безопасного развертывания следует учитывать важные рекомендации:
- Безопасность и последовательность: Все изменения в производственной нагрузке по своей сути рискованны и должны осуществляться с акцентом на безопасность и последовательность.
- Модели работоспособности: Развертывания должны пройти проверку работоспособности до начала каждой фазы постепенного воздействия.
- Обнаружение проблем: при обнаружении проблем развертывание следует немедленно остановить и начать восстановление.
В следующих разделах приведены подробные рекомендации для каждого из этих пунктов.
Безопасность и согласованность
Независимо от того, развертываете ли вы обновление кода приложения, инфраструктуры как кода (IaC), флага функции или конфигурации, вы создаете риск для рабочей нагрузки. Внедрений в производство с низким уровнем риска не предусмотрено. Каждое развертывание должно следовать стандартному шаблону и должно быть автоматизировано, чтобы обеспечить согласованность и минимизировать риск человеческой ошибки. Крайне важно, чтобы ваша цепочка поставок рабочей нагрузки и конвейеры развертывания были надежными, безопасными и имели четко определенные стандарты развертывания. Рассматривайте каждое развертывание как возможный риск и подвергайте каждое развертывание одинаковому уровню управления рисками.
Несмотря на риски, вам следует продолжать регулярно вносить изменения в свою рабочую нагрузку. Отсутствие регулярного развертывания обновлений создает другие риски, такие как уязвимости безопасности, которые необходимо устранять посредством развертывания. Подробнее читайте в разделе Рекомендации по проектированию цепочки поставок для разработки рабочей нагрузки.
Частые небольшие развертывания предпочтительнее нечастых крупных развертываний. Небольшие изменения легче разрешить при возникновении проблем, а частые развертывания помогают вашей команде укрепить уверенность в процессе развертывания. Также важно учиться на производстве, анализируя процессы рабочей нагрузки, когда вы сталкиваетесь с аномалиями во время развертывания. Вы можете обнаружить слабые места в конструкции вашей инфраструктуры или ее развертывании. Если во время развертывания возникают проблемы, обязательно включите в процесс безупречные разборы инцидентов, чтобы извлечь уроки из них.
Модели работоспособности
Разработайте надежную модель работоспособности как часть вашей платформы мониторинга наблюдаемости и стратегий надежности. Ваша модель работоспособности должна обеспечивать детальное представление о компонентах и общем состоянии рабочей нагрузки. Внимательно следите за показателями состояния здоровья после внедрения. Если во время развертывания вы получили оповещение об изменении состояния, немедленно расследуйте проблему и определите дальнейшие действия, например, откат изменения. Если пользователи не сообщат о проблемах и все индикаторы работоспособности останутся зелеными, развертывание следует продолжить. Обязательно включите показатели использования в свою модель работоспособности, чтобы гарантировать, что отсутствие сообщений пользователей о проблемах и негативных сигналов о работоспособности не скрывает проблему. Подробнее читайте в разделе Рекомендации по выполнению анализа видов отказов.
Обнаружение проблем
Если ваше развертывание вызывает проблему в одной из групп развертывания, развертывание должно быть немедленно прекращено. Выясните причину проблемы и серьезность последствий сразу после получения предупреждения. Восстановление после проблемы может включать в себя:
- Откат путем отмены изменений, внесенных в развертывание, и возврата к последней известной рабочей конфигурации.
- Продолжение путем решения проблемы во время развертывания. Вы можете устранить проблемы в середине развертывания, применив исправление или иным образом минимизировав проблему.
- Развертывание новой инфраструктуры с использованием последней известной рабочей конфигурации.
Откат изменений, особенно изменений базы данных, схемы или других компонентов с отслеживанием состояния, может оказаться сложной задачей. Ваши рекомендации по безопасному развертыванию должны содержать четкие инструкции о том, как обрабатывать изменения данных в соответствии с дизайном хранилища данных для вашей рабочей нагрузки. Аналогичным образом, к откату изменений следует подходить осторожно, чтобы не допустить игнорирования безопасных процессов развертывания и обеспечить безопасное выполнение исправлений или других мер по минимизации.
Общие рекомендации
Внедрите управление версиями в артефактах сборки, чтобы при необходимости можно было выполнить откат назад и вперед.
Используйте поток выпуска или структуру ветвления на основе соединительной линии, которая обеспечивает тесное синхронизированное взаимодействие в команде разработчиков, вместо Gitflow или структуры ветвления на основе среды.
Автоматизируйте максимально возможную часть практики безопасного развертывания. Подробнее читайте в разделе Рекомендации по внедрению автоматизации.
Используйте методы непрерывной интеграции (CI) для регулярной интеграции изменений кода в репозитории. Практики CI могут помочь вам выявить конфликты интеграции и снизить вероятность крупных и рискованных слияний. Подробнее читайте в разделе Рекомендации по непрерывной интеграции.
Используйте флаги функций, чтобы выборочно включать или отключать новые функции или изменения в производстве. Флаги функций могут помочь вам контролировать доступность нового кода и быстро откатить развертывание в случае возникновения проблем.
Развертывайте изменения в промежуточных средах, отражающих вашу производственную среду. Тренировочные среды позволяют тестировать изменения в контролируемых условиях перед развертыванием в реальной среде.
Установите проверки перед развертыванием, включая проверку кода, сканирование безопасности и проверку соответствия нормативам, чтобы гарантировать безопасность развертывания изменений.
Используйте автоматические выключатели для автоматической остановки трафика к сервису, в котором возникли неполадки, и помогите предотвратить дальнейшую деградацию системы.
Аварийные протоколы
Разработайте предписывающие протоколы, определяющие, как можно скорректировать процессы безопасного развертывания при наличии исправлений или в случае возникновения чрезвычайных ситуаций, таких как нарушение безопасности или проявление уязвимости. Например, ваши протоколы действий в чрезвычайных ситуациях могут включать:
- Ускорение этапа продвижения и утверждения
- Ускорение дымового тестирования и интеграционного тестирования
- Сокращение времени выпечки
В некоторых случаях чрезвычайная ситуация может ограничить контрольные точки проверки качества и тестирования, но контрольные точки все равно следует запускать как можно быстрее, как внеплановое учение. Обязательно определите, кто может одобрить ускоренное безопасное развертывание в чрезвычайной ситуации, а также критерии, которые должны быть соблюдены для одобрения ускорения. Согласуйте свои протоколы действий в чрезвычайных ситуациях с планом реагирования на чрезвычайные ситуации , чтобы гарантировать, что все чрезвычайные ситуации будут обрабатываться в соответствии с одними и теми же протоколами.
Рекомендации
Создание и поддержание методов безопасного развертывания является сложной задачей. Ваш успех в полном внедрении надежных стандартов зависит от зрелости вашей практики во многих областях разработки программного обеспечения. Использование автоматизации, IaC-подключения только для изменений инфраструктуры, последовательности в стратегиях ветвления, флагов функций и других практик может помочь обеспечить безопасное развертывание. Используйте это руководство, чтобы оптимизировать свою рабочую нагрузку и составить планы по улучшению по мере развития вашей практики.
Возможности в Power Platform
Конвейеры в Power Platform направлены на демократизацию управления жизненным циклом приложений (ALM) для клиентов Power Platform и Dynamics 365 за счет внедрения в службу возможностей автоматизации ALM, а также непрерывной интеграции и непрерывной доставки (CI/CD).
Инструменты Microsoft Power Platform Build Tools для Azure DevOps можно использовать для автоматизации общих задач сборки и развертывания, связанных с приложениями, созданными на основе Power Platform.
GitHub Actions для Power Platform позволяют разработчикам создавать автоматизированные рабочие процессы жизненного цикла разработки программного обеспечения. С помощью GitHub Actions для Microsoft Power Platform вы можете создавать бизнес-процессы в своем репозитории для создания, тестирования, упаковки, выпуска и развертывания приложений; выполнять автоматизацию; и управлять ботами и другими компонентами на базе Power Platform.
Ускоритель ALM представляет собой инструмент с открытым исходным кодом, который состоит из набора приложений, сценариев и конвейеров, предназначенных для автоматизации процесса непрерывной интеграции/непрерывной поставки.
Автоматизация тестов с помощью Azure Pipelines.
Переменные среды в решениях хранят ключи и значения параметров, которые затем служат входными данными для различных других объектов приложения. Отделение параметров от объектов-потребителей позволяет изменять значения в той же среде или при переносе решений в другие среды.
Среды Power Platform обеспечивают функцию восстановления на определенный момент времени, которая может помочь вам выполнить откат.