Стратегии архитектуры для стандартизации операций

Применяется к этой контрольной рекомендации по операционному превосходству в Azure Well-Architected Framework:

OE:02 Используйте стандартизацию в качестве способа сделать обычные, нерегламентированные и чрезвычайные операции согласованными и предсказуемыми.

Прогнозируемые процессы приводят к предсказуемым результатам. Командам необходимо стандартизировать процесс выполнения работы и последовательно следовать установленным стандартам. При необходимости они должны реализовать автоматизацию намеренно, чтобы уменьшить вариативность.

В этом руководстве объясняется, как команды должны определять и поддерживать стандартные процессы в пределах надежности, безопасности, оптимизации затрат, производительности и ежедневных операций. Команда, отвечающая за рабочую нагрузку, управляет и улучшает эти процессы в соответствии с управлением организацией.

Определение контрольных списков, доступных для выполнения стандартных задач

Разбить стандартные задачи на простые, отдельные пункты контрольного списка, которые легко исполнять и повторять. Каждый шаг должен быть четко определен и исполним.

Рассмотрим вариант использования, в котором рабочая нагрузка зависит от библиотеки с открытым кодом. Обычной задачей является применение обновлений для получения исправлений безопасности, исправлений ошибок и улучшений функциональности. Контрольный список может включать такие элементы:

  • Протестируйте обновление в нижних средах
  • Отправьте запрос на изменение в продакшн
  • Развертывание обновления
  • Обновление документации для отражения новой версии

Составлять импровизированные контрольные списки для чрезвычайных задач

Чрезвычайные задачи отличаются по ситуации, но роли, обязанности и пути связи всегда должны быть четкими. Команды должны следовать общим стандартам и контрольным спискам, которые можно использовать повторно, даже для новых задач.

Например, экстренное исправление может развернуть новый ресурс. Это развертывание должно использовать существующие стандарты инфраструктуры как кода и стандартные тесты производительности, безопасности и надежности. Чтобы ускорить выполнение задачи, контрольный список может быть изменен, чтобы включать инструкции о том, какие низкорисковые и требующие временных затрат элементы могут быть пропущены с разрешения авторизованного персонала.

Для чрезвычайных ситуаций аварийного восстановления следуйте плану реагирования на инциденты точно так же, как определено для обеспечения быстрого, согласованного действия. Дополнительные сведения об этом сценарии см. в статье "Создание эффективного плана управления инцидентами" для управления нарушениями.

Внедрение проверенных отраслевых методик, применимых к рабочей нагрузке

Используйте установленные методики, чтобы сократить время, которое команда тратит на создание процессов и стандартов. Гибкие методы, такие как Scrum, визуализация работы с досками Kanban и использование подхода сдвига влево, доказали, что могут повысить согласованность и эффективность рабочих процессов. Зрелые организации часто используют управляемые версиями SOP, вики и эксплуатационные руководства для применения стандартов.

Опирайтесь на опыт вашей команды, чтобы выбрать методики, которые соответствуют жизненному циклу рабочей нагрузки, и узнать из других команд о подходах, которые работали в аналогичных контекстах.

Возможности искусственного интеллекта: Чтобы сократить ручные усилия и повысить согласованность, начните со стандартизации создания и проверки общих артефактов с помощью Office Copilot и GitHub Copilot. Используйте эти инструменты для создания документации, определений конвейеров, тестовых случаев и содержимого pull request в единой манере. Эти возможности можно дополнить сторонними инструментами, такими как SonarQube, которые предоставляют анализ с помощью ИИ для сценариев проверки.

Внедрение отраслевых стандартных методик иногда может приводить к обратным последствиям. Команды могут тратить чрезмерные усилия на соответствие требованиям, испытывать разочарование и задержки в предоставлении ценности, пытаясь следовать рекомендациям. ИИ может помочь определить, когда стандарты препятствуют, а не помогают.

Рассмотрите возможность реализации решения на основе искусственного интеллекта, которое отслеживает исторические сигналы, такие как время, затраченное на стандарты, тональность разработчика и частоту дефектов. Начните с LLM (крупные языковые модели), чтобы обнаружить шаблоны, а затем обучить прогнозные модели на исторические данные, чтобы предсказать, когда стандарты могут препятствовать рабочему процессу и принимать упреждающие действия.

Действовать рано, оставаться упреждающим

Поощряйте группы рабочих нагрузок взять на себя полную ответственность за свои рабочие нагрузки в области безопасности, надежности и экономичности. Команды должны заранее определить улучшения и добавить их в бэклог, а не ждать, пока другие команды начнут действовать.

Эта стратегия особенно важна для проверки надежности и безопасности. Предположим, что команда не выполняет исследовательское тестирование или берет на себя ответственность за ранние проверки безопасности, уязвимость может оставаться незамеченной до следующей ежемесячной проверки, потенциально предоставляя рабочую нагрузку риску.

Использование централизованных стандартов и ресурсов

Используйте установленные организационные требования и кросс-командные стандарты вместо создания новых процессов с нуля. Применяйте обязательные стандарты, где они существуют, и создавайте собственные только при необходимости, выравнивая их с другими командами, где это возможно. Задокументируйте любые различия между процессами вашей команды и другими пользователями, чтобы упростить совместную работу, особенно в точках пересечения, таких как безопасность или соответствие требованиям.

Обратите внимание на требования соответствия. Оцените, какие дополнительные шаги могут потребоваться в процедуре для выполнения этих требований. Ознакомьтесь с применимыми правилами для вашей отрасли и региона, внедряйте их в рабочие процессы и регулярно обучайте команду, чтобы обеспечить согласованное соблюдение.

Реализуйте автоматизацию, где это целесообразно.

Используйте автоматизацию для обеспечения согласованности. Автоматизируйте задачи, которые повторяются и подвержены человеческим ошибкам, чтобы снизить управленческую нагрузку с вашей команды. Ищите возможности для автоматизации процессов, таких как создание билетов ITSM, например. Дополнительные сведения см. в рекомендациях по реализации автоматизации.

Управление использованием с открытым кодом

Будьте преднамеренными при внедрении средств с открытым кодом. Определите четкие правила того, когда и как их можно использовать, обеспечивая соответствие требованиям организации и соответствия требованиям. Определите, могут ли члены группы рабочей нагрузки участвовать во внешних проектах с открытым исходным кодом и могут ли внутренние коды предоставляться другим командам.

Компромисс: стандарты помогают поддерживать согласованность, но не должны быть жесткими. Следуйте процедурам, оставляя место для инноваций, чтобы процессы могли безопасно развиваться с течением времени.

Документируйте стандарты и относитесь к ним как к живому активу.

Документация должна записывать стандартные операционные процедуры и четко определять, как выполняется работа. Сделайте документацию эффективной, создавая контрольные списки с ссылками на соответствующие инструменты.

Процедуры должны развиваться по мере развития рабочей нагрузки и команды, а стандарты должны регулярно проверяться и оспариваться, чтобы обеспечить их соответствие. Используйте шаблоны и управление версиями для поддержания согласованности и записи обновлений. Например, храните runbooks в репозитории, управляемом версионностью, и требуйте запланированных проверок как часть рабочего ритма команды. Включите даты авторства и проверки и выделите изменения в процедурах.

Возможность искусственного интеллекта: обеспечение синхронизации документации с изменяющимися ресурсами и проверка соответствия стандартам требует значительных усилий. С помощью интерактивного анализа GitHub Copilot можно создавать и поддерживать документацию по стандартам непосредственно из ресурсов проекта. Более продвинутым вариантом является использование агентов, основанных на документации по стандартам, для обеспечения соблюдения стандартов и создания новых ресурсов, соответствующих этим стандартам. Например, агент может анализировать пулл-реквест, определять отклонения, давать отзывы и, в случае необходимости, автоматически обновлять код для соответствия вашим стандартам.

Упрощение функций Azure

Хотя нет продуктов Azure, которые напрямую упрощают формализацию процессов и процедур, корпорация Майкрософт публикует множество рекомендаций по этой теме. Используйте это руководство, чтобы понять проверенные и рекомендуемые отраслевые методики и подумать о том, как применить их к рабочей нагрузке.

Архитектурная структура Well-Architected также предоставляет подробные рекомендации по процессам и процедурам, которые должны быть кодифицированы, чтобы обеспечить, чтобы ваша рабочая нагрузка и команда выполняли свою работу в соответствии с отраслевыми стандартами.

Контрольный список операционного превосходства

Ознакомьтесь с полным набором рекомендаций.