Принципы и рекомендации DevOps
Шесть принципов DevOps для повышения эффективности рабочих процессов
Ключевые методы DevOps помогут вам ускорить производство и устранить проблемы. Узнайте, как автоматизация процессов и отслеживание самых важных KPI позволят вашей студии добиться успеха.
Для устранения проблем в процессе разработки нужны не только холодный расчет и эффективность, хотя это и повысит производительность. Для этого необходимо создать позитивную и стабильную корпоративную культуру, чтобы команды могли процветать и успешно работать. В атмосфере сотрудничества сотрудники чувствуют себя увереннее, охотнее делятся идеями, чувствую сплоченность и ответственность. Все это оказывает положительное влияние на продукт и прибыль.
Чтобы создать культуру сотрудничества, поддерживайте открытость, прозрачность и обратную связь (позитивную и негативную), подчеркивая тот факт, что плохих идей не бывает. Используйте системы, поддерживающие распределение работы по командам, и публично признавайте достижения отдельных сотрудников и команд. Наличие нужных инструментов, таких, как система контроля версий, которые все могут использовать, также имеет важное значение.
В рамках методологии DevOps «сдвиг влево» означает реорганизацию этапов рабочего процесса. Операции, которые, как правило, выполняются ближе к концу конвейера, «смещаются влево» на более ранние этапы для согласования с рекомендациями жизненного цикла DevOps.
CI/CD — это один из примеров того, как сдвиг влево помогает повысить гибкость команд разработки. Непрерывная интеграция (CI) — это процесс автоматического слияния результатов работы с центральным репозиторием. Изменения проверяются путем создания сборки и выполнения автоматизированных тестов.
Непрерывное развертывание (CD) начинается после непрерывной интеграции: развертываются выпуски сборки и выполняются автоматизированные тесты на уровне системы. Традиционно этот процесс выполняется вручную, что замедляет конвейер. Реализация CI/CD дает вам согласованный автоматизированный способ сборки, упаковки и тестирования программного обеспечения.
Устранение процессов, выполняемых вручную, которые отнимают время и подвержены ошибкам, — базовый принцип DevOps. Автоматизированные тесты и системы отслеживания сбоев ускоряют и упрощают процессы поиска и устранения ошибок, повышая общую эффективность разработки. Более того, правильный инструментарий отслеживания ошибок и сбора отчетов помогает превратить работу с ошибками в преимущество, в своеобразные знаки, указывающие на путь к оптимизации кода и улучшению продукта.
Автоматизированное тестирование — еще один пример «сдвига влево» в DevOps. В традиционном рабочем процессе сборка развертывается и тестируется вручную. Рабочие процессы, использующие автоматизированное тестирование, могут отслеживать ошибки до переноса изменений кода в сборку и до развертывания в производственной среде. Если обнаруживать ошибки до их попадания в продукт, то программисты смогут устранять неполадки в реальном времени и сократят простои, вызываемые патчами и срочными исправлениями.
Для количественной оценки производительности и поиска возможностей для автоматизации вы должны отслеживать ряд ключевых индикаторов эффективности (KPI). Вот четыре основных KPI в методологии DevOps:
- Частота развертывания — как часто код развертывается в промежуточной, тестовой или производственной среде.
- Время применения изменений — время, необходимое для переноса коммита в производственную среду.
- Частота ошибок в изменениях — доля развертываний, которые приостанавливают разработку.
- Среднее время восстановления (MTTR) — среднее время восстановления после сбоя продукта или системы.
Другие KPI:
- Время развертывания — время, необходимое для развертывания кода в промежуточной, тестовой или производственной среде.
- Длительность цикла pull-запросов — время, необходимое для написания и развертывания кода.
- Количество ошибок.
- Среднее время обнаружения (MTTD) — среднее время поиска ошибок.
Сосредоточьтесь на актуальных и полезных KPI. Большое количество отслеживаемых показателей может привести к перегрузке информации и сбору данных вне контекста, что усложнит оптимизацию.
Команды, реализующие принципы DevOps, могут воспользоваться методами Agile — эти методологии дополняют друг друга. При этом ценности Agile — это основа для эффективной совместной работы с использованием DevOps.
В рамках DevOps акцент делается на итеративной разработке в течение всего процесса — от подготовки до выпуска, при этом обновления развертываются последовательно несколько раз в неделю. Методология Agile больше сосредоточена на производственном этапе и использует модель спринтов, согласно которой новые сборки выпускаются реже — раз в несколько недель или даже месяцев.
Команды, применяющие DevOps, могут воспользоваться преимуществами подхода Agile для управления проектами. Методики Agile, такие как Kanban и Scrum, обеспечивают организацию рабочих процессов. Также акцент делается на процессах и собраниях, а инструменты используются в основном для отслеживания производительности, расчета графика выполнения работ и организации списков невыполненных задач.
В методологии DevOps цикл обратной связи означает перенос входных данных на выход и обратно, а также их проверку для улучшения одного или нескольких процессов либо результатов.
Существуют два типа циклов обратной связи. В подкрепляющем цикле обратной связи позитивное обновление одного процесса идет на пользу связанному процессу, что повышает ценность исходного обновления. Иногда это называют «циклом ускоренного изменения». В балансирующем цикле обратной связи позитивное обновление одного процесса негативно влияет на другой процесс, что ставит под вопрос ценность исходного обновления. В целом вам следует увеличить число подкрепляющих циклов обратной связи и свести к минимуму балансирующие циклы обратной связи.
Чем короче циклы обратной связи, тем проще их поддерживать, отслеживать и оптимизировать.
Похожие материалы
Управление исходным кодом (SCM) помогает командам быстрее и эффективнее вести совместную работу. Узнайте все необходимое о системах контроля версий, области их применения и принципах их работы.
Внедрение методов DevOps может упростить процесс разработки и повысить удовлетворенность сотрудников и пользователей. Узнайте, как вам может пригодиться DevOps.
У Agile и DevOps одинаковые цели — реализовать преимущества для клиентов за счет графиков регулярного выпуска, — но немного разные подходы. Узнайте, как можно одновременно использовать обе эти методики.
Электронные книги о DevOps
Изучите инструменты DevOps, необходимые каждой игровой студии, а также ознакомьтесь с отзывами студий, которые добились успеха, используя набор решений Unity.
Узнайте, как автоматизированные решения DevOps для управления сбоями и ошибками, ускоряют разработку, снижают расходы и улучшают игровой процесс.
Как студии, где сотрудники являются совладельцами, помочь художникам и программистам слаженно работать вместе? Узнайте, как компания KO_OP внедрила Unity Plastic SCM в рамках методологии DevOps.
Система контроля версий Unity создана не только для управления кодом. Держите все под контролем с помощью одной простой в использовании платформы, созданной для программистов и художников.