Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В основе основных принципов операционного превосходства являются методики DevOps, которые обеспечивают качество рабочей нагрузки с помощью стандартизованных рабочих процессов и сплоченности команды. Этот компонент определяет операционные процедуры для практик разработки, наблюдаемости и управления выпусками. Цель заключается в том, чтобы свести к минимуму дисперсию процесса, вероятность человеческой ошибки и нарушения работы клиентов. Чтобы оценить работоспособность операций, начните с следующих вопросов:
- Выполняете ли вы операции с дисциплиной?
- Используют ли клиенты рабочую нагрузку с максимальной прогнозируемостью?
- Как вы используете опыт и анализ собранных данных для обеспечения непрерывного улучшения?
Операции с рабочей нагрузкой могут превратиться в хаотические практики, когда отсутствует четкая ответственность или лидерство. В этой среде команды часто прибегают к методам, которые выполняются с большими усилиями и создают низкие результаты, что приводит к плохому интерфейсу пользователя. Эти подходы соответствуют только краткосрочным целям. Долгосрочные преимущества реализуются путем непрерывной оценки и стратегических инвестиций.
Принципы проектирования предоставляют рекомендации по операционным стратегиям, которые должны рассматриваться для решения основных причин и не только лечения симптомов. Начните с рекомендуемых подходов, а затем просмотрите, что работает и что не позволяет выявлять области улучшения. После настройки стратегии перейдите к действию с помощью контрольного списка эффективности операционного обеспечения.
Операционные требования рабочей нагрузки являются столь важными, как ее бизнес-требования. Эффективные процессы гарантируют, что рабочая нагрузка достигает бизнес-результатов в рамках ограничений соответствия требованиям, независимо от того, является ли соответствие организационным или внешним. Ключ заключается в поиске повторяемости с согласованностью.
Цели операционного превосходства заключаются в том, чтобы выполнять правильные задачи, делать это правильным образом и решать правильные проблемы как команда.
Если вы соответствуете этим целям, рабочие нагрузки будут работать надежно и прогнозируемо даже во время изменений. Неспособность выполнять операционные требования может привести к неудачным развертываниям, несогласованности взаимодействия с пользователем и добавленным затратам, которые могли бы быть избежать путем надлежащего планирования и упрощенного выполнения.
Примите культуру DevOps
|
---|
DevOps — это сообщество практики, где разнообразие перспектив и навыков ведет к одной миссии. Команды должны развивать атмосферу сотрудничества и обмена знаниями вместо изолированного обучения. Используйте общие функции для преодоления ограничений ресурсов.
Хорошая культура DevOps процветает на общей ответственности. Группы разработчиков и операций должны выравнивать свои цели и приоритеты с ожиданиями своих клиентов и сосредоточиться на бизнесе. Команда разработчиков должна привлекать команду операций в цикл обратной связи, чтобы улучшения инициировались «снизу вверх», и другие команды получали равную выгоду. И наоборот, команды операций несут ответственность за содействие успеху команды разработчиков в их бизнес-результатах, предоставляя ресурсы и отзывы, относящиеся к выполнению задач.
В то же время методики DevOps применяют четкие линии владения и подотчетности для каждой команды. Независимо от того, где работает приложение, команда рабочей нагрузки отвечает за это приложение.
DevOps оптимизирует операционные задачи, чтобы они были эффективными, но не обременительными. Чтобы получить полную выгоду DevOps, культура должна оптимизировать процессы с помощью технологий и иметь процессы для людей в организации для содействия прозрачной коммуникации.
Подход | Преимущества |
---|---|
Используйте общие системы и средства , которые способствуют совместной работе для взаимодействия и отслеживания хода выполнения. | Общие средства и процессы обеспечивают прозрачное взаимодействие. Обе команды разработки и операций получают выгоду от ситуационной осведомленности в различных средах, распространенных проблемах поддержки, а также общих проблемах и победах. Команды уже знакомы с существующими путями эскалации при наличии инцидента. Общий бэклог делает приоритеты, такие как работа над новыми функциями или исправление ошибок, явными. |
Создайте мышление непрерывного обучения и экспериментирования на протяжении всего цикла разработки. Поддержка совместного использования знаний между командами и обслуживание документации по повторному использованию. Проводите безвиновный анализ и разбор после выпуска и/или обсуждения инцидентов. |
Благодаря механизмам экспериментирования, таким как тестирование A/B и разработка доказательств концепции, вы можете поощрять инновации, сохраняя низкие затраты. Совместное использование знаний с помощью совместной работы, которая делает команду опытной в проектировании подходов, инструментов и процессов. Делая ретроспективы после проекта, помогает определить области для улучшения и отпраздновать успех. |
Внедрение проверенных отраслевых гибких методик , ориентированных на оптимизацию действий. Поиск возможностей для перехода влево в операциях для ручных и автоматизированных процессов, развертывания и контроля качества и наблюдаемости. |
Гибкие методики разработки приводят к более коротким жизненным циклам выпуска, которые являются индикатором бизнес-ценности. Обнаружение и разрешение проблем, что позволяет предотвращать их на более ранних стадиях, часто менее нарушает процесс. |
Задайте стандарты для всех процедур разработки и эксплуатации, а также проверьте их на регулярном уровне. Эти процедуры включают в себя стандартные задачи, внеплановые процессы, чрезвычайные учения и ситуации, выбор инструментов, процедуры мониторинга, планы по развитию навыков и даже связь с заинтересованными сторонами и раскрытие информации клиентам. Будьте преднамеренными и явными о ваших решениях. |
Стандарты добавляют прогнозируемость к операциям и делают процессы и практики масштабируемыми. Проверка стандартов — отличный способ привлечь точки улучшения. Подготовьтесь к чрезвычайным ситуациям и ситуациям восстановления путем проведения регулярных учений. Выполните с точностью и включите управление, чтобы предотвратить аномалии , которые приводят к рискам. |
Воспользуйтесь преимуществами централизованных рабочих групп с специализированными навыками и опытом. | Существует экономическое преимущество использования совместных ресурсов как для операций, так и для самого управления ресурсами. Хотя вы управляете своей рабочей нагрузкой, централизованная команда помогает вам с межфункциональными навыками, такими как управление инцидентами, проактивный подход к мониторингу и делегирование задач на основе опыта и доверия. |
Создание стандартов разработки
|
---|
Группа разработчиков отвечает за решение проблем рабочей нагрузки до выпуска с минимальными трениями. Помните об эффективности работы разработчиков и оптимизации для быстрых циклов завершения, от написания кода до результатов тестирования. Реализуйте эффективные и правильные процессы, которые планируют и стандартизуют технические мероприятия, а также управляют консенсусом в команде и заинтересованных лицах.
Подход | Преимущества |
---|---|
Документирование функций рабочей нагрузки и выделение преимуществ для клиентов. Определите объем и подробные функциональные и нефункциональные требования архитектуры. Создайте модели оценки размера , чтобы сообщить о области и стоимости связанных задач. |
Хорошие спецификации сокращают операционные затраты и вероятность сбоя , поддерживая более продуктивные и оптимизированные циклы разработки. Разработчики понимают технический дизайн, цели и критерии завершения перед началом цикла написания кода. Хорошая документация упрощает повторяемое взаимодействие и подключение новых участников команды. |
Используйте стандартную методологию разработки программного обеспечения в отрасли, которая правильно настроена для потребностей рабочей нагрузки и размера группы. Сохраняйте невыполненную работу, общую для всех ролей. |
Внедрение известной методологии задает ритм проекта. Он устраняет неоднозначность процесса, давая членам команды четкие ожидания и подотчетность. Отслеживая общий список, задачи можно уточнить и определить приоритеты с помощью стандартных методик. Проект будет иметь лучшие шансы на доставку вовремя. Стандартные методологии помогают в управлении рисками. С помощью подробных проверок вех разработчики могут решить потенциальные проблемы, прежде чем они превратятся в серьёзные препятствия. |
Используйте единую систему управления версиями для всех кода, скриптов, шаблонов развертывания, определений конвейера и связанной документации. Стратегия ветвления должна поддерживать беспроблемный выпуск как независимых, так и связанных друг с другом функций, исправлений ошибок и критических исправлений. Используйте общие знания в организации для создания стратегии ветвления и процессов развертывания. |
Правильное использование системы управления исходным кодом имеет решающее значение для поддержки параллельных изменений и версий. Поддерживайте воспроизводимый рабочий процесс для внедрения изменений различных размеров и рисков, проводите рецензирование коллегами в рамках процесса и ведите аудиторский журнал. |
Имеют процессы проверки качества , которые подчеркивают тестирование на ранних этапах жизненного цикла разработки. Включите все артефакты для запланированных процедур тестирования, включая компоненты приложения, инфраструктуру и операции с данными, которые являются частью выпуска или обновления функции. Рассматривать артефакты как неизменяемые при их продвижении через среды, увеличивая уверенность каждый раз, когда они проходят контроль качества. При возможности автоматизируйте рутинные проверки. |
Обеспечение качества гарантирует, что функциональные и нефункциональные требования были выполнены с уверенностью, что приводит к положительному влиянию клиентов. Наличие планов тестирования гарантирует качество и полноту и принимает возможные случаи сбоя. Благодаря качественным шлюзам можно применять рекомендации для снижения рисков. Неизменяемость обеспечивает уверенность, так как гарантирует, что система, которую вы тестируете, является именно тем, что вы выпускаете. Циклы тестирования эффективно блокируют ход выполнения, если не выполнены критерии качества. |
Обеспечение согласованности с помощью руководств по стилю и инструментов, которые применяют соглашения, и внедряют общую цепочку инструментов для разработки, тестирования и взаимодействия с заинтересованными лицами. Технологические стандарты для разработчиков должны требовать реализации шаблонов, проектирования API , ведения журнала, обработки исключений и других процессов. |
Согласованность в коде обеспечивает удобочитаемость и упрощенное обслуживание. Он также снижает сложность и позволяет повторно использовать код. Общие инструменты и соглашения также помогают командам оптимизировать процессы без необходимости обращаться к разовым вариантам. |
Последовательно и намеренно настаивайте на документировании кода во время его написания. | Четкая документация по коду гарантирует, что логика и функциональные возможности легко понимаются, когда старый код необходимо пересмотреть или при смене команд разработки. |
Сообщите о прогрессе и тенденциях для измерения эффективности. | Тенденции в ошибках, неудачные обновления, время развертывания, циклы отзывов и другие метрики публикуются, и это повышает производительность. |
Оптимизация операций с помощью наблюдаемости
|
---|
Создайте культуру, которая постоянно повышает качество, отслеживая рабочую нагрузку и принимая во внимание все столпы платформы Azure Well-Architected Framework. Позволяет команде и заинтересованным лицам принимать краткосрочные и долгосрочные решения во многих аспектах, предоставляя необходимые данные, статистику и тенденции. Изучайте данные и внедряйте улучшения.
Операции, созданные в целях наблюдения, являются ключевыми для упреждающего обслуживания приложения, обеспечения качества и безопасности, планирования емкости и управления продуктами.
Важным аспектом мониторинга является использование моделирования работоспособности приложений для прогнозирования проблем, прежде чем они становятся инцидентами и повлиять на взаимодействие с клиентами. Эффективный мониторинг снижает количество реактивных циклов, потраченных на управление инцидентами.
Подход | Преимущества |
---|---|
Создайте систему мониторинга с собственным стеком и потоками. Рассматривайте систему мониторинга как одну из составляющих нагрузки, которая отделена от своей полезности. Стек должен охватывать все слои, включая инфраструктуру, состояние приложений и процессы сборки и выпуска. Сбор или выборка бизнес-данных выходит за рамки реализации наблюдаемости. |
Отделить стеки мониторинга и рабочей нагрузки от отдельных функциональных требований и требований к наблюдаемости и сделать возможным независимое развитие. Изменения в коде не должны влиять на мониторинг и наоборот. Поскольку требования к наблюдаемости отличаются от функциональных требований, бизнес-данныене будут нарушены при изменении конфигурации мониторинга или сбоях. |
Обеспечьте согласованность в процессе сбора для каждого типа источника данных. Стандартизация инструментирования в коде с помощью отраслевых стандартов для телеметрии, сбора метрик инфраструктуры и инструментов. |
Согласованность предотвращает дисперсию в чувственном и измерении, так как знакомство с аналогичными ресурсами сокращает время, затрачиваемое на корреляцию и анализ данных. У вас есть целостная перспектива для прогнозирования проблем. |
Выводит данные телеметрии из кода приложения, который сопоставляет ключевые точки потока выполнения и предоставляет сквозное представление на разных уровнях детализации. | Определите приоритеты действий на основе уровня серьезности и понять контекст, учитывая его детализацию. Эта информация имеет решающее значение для устранения неполадок. |
Возьмите на себя ответственность за выдачу и сбор данных, даже если приемные устройства данные используются несколькими командами и управляются центральными командами. | Локализация данных мониторинга в среде рабочей нагрузки позволяет команде получать доступ к журналам и метрикам для решения проблем с рабочей нагрузкой. |
Соберите достаточно данных и сохраните их достаточное время. Рассмотрим компромиссы затрат, связанные с ведением журнала и хранением данных. |
Преднамеренная сбор данных помогает оптимизировать финансовые и операционные затраты , связанные с сбором больше данных, чем вам нужно. Свести к минимуму шум и избежать интенсивных вычислений во время анализа и сократить затраты на хранение данных, которые больше не нужны. |
Различайте различные сигналы мониторинга: профили, журналы, метрики и трассировки. Используйте каждый сигнал для правильной цели. Приоритет использования метрик для активации действий , основанных на числовых измерениях. Используйте профили для получения низкоуровневого доступа к системе, например для мониторинга выделения памяти. Резервируйте использование журналов и трассировок для предоставления контекста потокам и зависимостям. |
Используя сигналы для правильных целей, можно предотвратить неэффективную реализацию системы мониторинга. Например, использование журналов для действий требует их синтаксического анализа. Возможно, вы сможете достичь одинаковых целей быстрее с помощью метрик. |
Агрегируйте и визуализируйте данные на панелях мониторинга, чтобы представить данные мониторинга, нацеленные на определённую аудиторию и сохраняющие бизнес-контекст. Используйте ситуационные панели мониторинга для поиска данных для обеспечения осведомленности среди заинтересованных лиц. Используйте операционные панели мониторинга и книги с возможностями детализации для действий операторов, таких как реагирование на инциденты. Часто обновляют панели мониторинга и предоставляют детализированные данные. |
С помощью визуализаций можно анализировать тенденции, отслеживать бизнес-цели и управлять инцидентами. Панели мониторинга, адаптированные к интересам клиента, делают интерпретацию релевантной и ускоряют время обнаружения и действия. |
Сделайте оповещения действенными, уведомляя ответственные роли со стандартными описаниями и уровнями серьезности. Предоставьте сведения, собранные из различных источников, и отслеживайте отклонения от бизнес-целей. Активация оповещений только для инцидентов, требующих действия. Стремитесь к упреждающим и провоцирующим размышления оповещениям, которые инициируют действия до того, как состояние ухудшается и приводит к сбою. |
Оповещения приводят внимание к значительным событиям, определенным организацией. Хорошая система оповещений определяет действия и серьезность и предоставляет достаточно данных для четкости и цели. Операторы могут начать исправление без задержки. |
Автоматизация для повышения эффективности
|
---|
Работа может включать рабочие процессы, в которых члены команды выполняют обычные, повторяющиеся и трудоемкие задачи, которые по сути не требуют человеческого интеллекта. В зависимости от частоты, вы можете тратить значительное время на эти усилия, инвестируя больше времени по мере роста рабочей нагрузки. Кроме того, эти процессы часто подвержены ошибкам из-за человеческих данных.
Благодаря автоматизации вы экономите время, усилия и деньги, и вы избегаете ошибок.
Подход | Преимущества |
---|---|
Оцените все рабочие процессы по критериям, которые соответствуют правильному уровню сложности, усилий, частоты, точности, времени и продолжительности жизни. Автоматизация рабочих процессов на основе этой оценки и приоритета рабочих процессов с наибольшим ожидаемым возвратом. Удалите избыточные рабочие процессы или добавьте значение для оправдания человеческих усилий. |
Вы можете реинвестировать возможности команды в работу более высокой ценности и увеличить производительность и обеспечить согласованность. Создание инвентаризации рабочих процессов гарантирует автоматизацию правильных задач. Удаление избыточных задач снижает сложность и ошибки. |
Будьте явными в своем решении при оценке того, следует ли создавать пользовательские инструменты или покупать программное обеспечение. Резервная автоматизация строительства для высоко специализированных и высокоценных работ. |
Покупая программное обеспечение вне полки и используя контракт на поддержку, вы экономите расходы на обслуживание. Создавая программное обеспечение, у вас есть больше контроля и возможность использовать варианты, уникальные для вашей команды и рабочей нагрузки. Тем не менее, есть влияние на затраты. Выбор инструментов обеспечивает уровень стандартизации для ваших операций. С помощью обучения вы можете достичь единого уровня готовности к внедрению. |
Проектирование компонентов рабочей нагрузки для поддержки возможностей автоматизации. | Избегайте ситуации, когда отсутствие автоматизации в проектировании вашей системы способствует появлению антишаблона повторяющихся задач, замедляет рост и начинает накапливать технический долг. |
Рассматривайте всю автоматизацию как критическую зависимость рабочей нагрузки. Адаптация к ожидаемому росту рабочей нагрузки. Средства автоматизации являются неотъемлемой частью рабочей нагрузки и должны соответствовать пяти столпам хорошо спроектированной архитектуры. |
Разработка компонента автоматизации для защиты от рисков, таких как угрозы безопасности. С помощью применяемых рекомендаций можно избежать разрастания реализации. Рабочая нагрузка будет продолжать работать с высокой гарантией, если эта зависимость сохраняется функциональной и безопасной. |
Автоматизируйте в максимальном масштабе, исследуя возможности за пределами вашей рабочей нагрузки. Отдавайте предпочтение модели "один раз создать, запускать везде", предоставляя шаблоны и фреймворки для подключения новых проектов и способствования повторному использованию существующих дизайнов и реализаций. |
Используйте проверенные методы и снижайте вероятность неудачи. |
Внедрение методов безопасного развертывания
|
---|
Создайте цепочки поставок автоматизированной и модульной рабочей нагрузки, чтобы обеспечить согласованные, предсказуемые и повторяемые развертывания во всех средах. Применение безопасных методик в начале обеспечивает уверенность в производстве и позволяет быстрое восстановление, если проблемы затронут клиентов.
Все изменения, будь то код, конфигурация или артефакты, должны осуществлены с одинаковым уровнем строгости. Тестирование, мониторинг и управление версиями — это распространенные методики для обеспечения согласованности.
Подход | Преимущества |
---|---|
Используйте инфраструктуру как код (IaC) для определения требуемого состояния всей инфраструктуры. Используйте модульный и многоуровневый подход, но избегайте ненужных абстракций. Согласуйте слои с требованиями жизненного цикла, сохраняя базовые слои стабильными. |
IaC обеспечивает автоматизацию развертывания и согласованность и служит самостоятельной документацией, которая может использоваться для трассировки. Артефакты IaC становятся частью жизненного цикла разработки программного обеспечения, что обеспечивает тестирование и процессы проверки качества. IaC также помогает обнаруживать и устранять смещение конфигурации. |
Предпочитайте небольшие постепенные обновления, которые часто внедряются. | Небольшие обновления упрощают проверку, уменьшая количество одновременных ошибок. При одновременном освобождении нескольких дефектных изменений они могут значительно увеличить радиус взрыва. |
Разверните изменения в коде и инфраструктуре с помощью автоматизированных конвейеров во всех средах. | Согласованные методы развертывания снижают ошибки и дисперсию, что делает развертывания надежными и повторяемыми. Документация процесса развертывания происходит автоматически, и каждый запуск записывает все выполняемые действия. |
Тестируйте обновления строго на протяжении всего жизненного цикла разработки, в предварительной и рабочей средах. | Раннее тестирование обнаруживает проблемы на раннем этапе, позволяет вносить итеративные исправления и уменьшает количество проблем к моменту, когда обновление будет готово к развёртыванию в рабочую среду. Наличие нескольких предварительных сред позволяет выполнять различные типы тестирования, повышая уверенность в успешном выпуске рабочей среды. |
Развертывание новых функций с помощью шаблонов развертывания, позволяющих постепенному воздействию и постепенному внедрению пользователями. Проверьте обратную и будущую совместимость. |
Контролируемый выпуск обновлений снижает риск распространенных проблем с дефектами. Постепенное увеличение уровня воздействия помогает обеспечить совместимость и стабильность, укрепляя уверенность в выпуске. |
Будьте готовы к компенсирующим действиям для восстановления после неисправных развертываний или критических дефектов в рабочей среде. Используйте автоматизацию, прошедшую тестирование для внедрения исправлений. Для чрезвычайных обновлений необходимо ускорить процесс, предварительно утвержденный заинтересованными лицами. |
Наличие плана устранения рисков сокращает продолжительность потенциального влияния. Вы можете быстро развернуть срочные исправления, такие как исправления безопасности, чтобы пользователи могли быстрее использовать безопасную версию. |
Дальнейшие шаги
Мы рекомендуем ознакомиться с контрольным списком эффективности операционной деятельности, чтобы изучить другие понятия.