7 фаз жизненного цикла DevOps
Что такое жизненный цикл DevOps? Жизненный цикл DevOps делится на семь различных фаз непрерывной разработки, которые направляют процесс разработки программного обеспечения от начала до конца. Чтобы понять DevOps, важно знать каждую фазу жизненного цикла, а также процессы и требования каждой фазы.
Разработка программного обеспечения начинается с планирования и кодирования. В DevOps это достигается за счет процесса регулярных поставок с целью постоянного улучшения.
Опираясь на основныеценности Agile, DevOps поощряет регулярные и частые выпуски программного обеспечения. Стандартным способом достижения этой цели является автоматизация интеграции и развертывания кода - процесс, называемый непрерывной интеграцией/непрерывным развертыванием (CI/CD).
На протяжении всей разработки, будь то предварительная или постпроизводственная, команды используют обратную связь для выявления проблем и выдвижения гипотез по их решению при планировании.
После этапа планирования жизненного цикла DevOps начинается создание исходного кода и активов с целью поддержания производства. Независимо от того, какой язык кодирования используется, поддержка кодовой базы с помощью инструментов управления исходным кодом является приоритетной задачей.
Continuous integration (CI) - это практика разработки, которая требует от разработчиков интегрировать код в общий репозиторий несколько раз в день. Каждый чек-ин или ответвление проверяется автоматизированной сборкой, что позволяет командам обнаруживать проблемы на ранних стадиях, гарантируя, что основная ветвь кода всегда жизнеспособна и готова к производству.
CI разработан для поддержки множества небольших итеративных изменений, а не нескольких крупных изменений. Она помогает командам масштабироваться благодаря автоматизированным рабочим процессам сборки, тестирования, слияния и проверки кода в общих репозиториях.
Конечная цель непрерывной интеграции - создавать лучший код быстрее. Благодаря более мелким частым изменениям в сочетании с автоматизацией команды могут быстрее находить и устранять ошибки и сокращать время, затрачиваемое на проверку и выпуск новых обновлений.
Непрерывное тестирование идет рука об руку с непрерывной интеграцией. Конвейеры CI/CD зависят от автоматизированных тестов, а не от ручной проверки кода. Это необходимо для того, чтобы убедиться в том, что развертываемый продукт качественный и не приведет к ошибкам, разрушающим игру до релиза.
DevOps основывается на устранении как можно большего количества ручных процессов. Чем больше ручных, утомительных процессов, тем больше времени тратится впустую и тем выше вероятность ошибок. Цель инструментов непрерывного тестирования DevOps - не просто обнаружить ошибки, а найти их как можно быстрее, чтобы их не пришлось устранять на этапе производства с помощью патча или хотфикса, что становится гораздо сложнее и занимает больше времени.
Автоматизированные тесты устанавливаются перед выпуском сборки, а также перед началом производства. Команды могут использовать ручную проверку в качестве заключительного этапа перед производством и после завершения автоматизированного тестирования.
Непрерывный мониторинг гарантирует, что жизненный цикл DevOps поддерживается на должном уровне, а конечной целью является обеспечение отличного пользовательского опыта. Обновления и использование программного обеспечения тщательно отслеживаются, а полученные данные используются для обеспечения корректной работы программного обеспечения.
На этапе непрерывного мониторинга команды стремятся как можно быстрее обнаружить и устранить системные ошибки. Автоматизированное отслеживание ошибок здесь крайне важно. Автоматизация также может обеспечить видимость других областей, таких как общая производительность программного обеспечения, поведение пользователей, стабильность инфраструктуры разработки и т. д.
В дополнение к контролю за автоматизацией ваша команда DevOps отвечает за обеспечение соответствия всех аспектов конвейера стандартам безопасности. На этом этапе также происходит ручная обработка управления выпуском.
Постоянная обратная связь требует реализации контура обратной связи для сбора информации о производительности программного обеспечения от внутренней команды и пользователей. Полученные отзывы затем передаются команде DevOps, чтобы помочь направить итерации продукта. Источниками информации могут быть опросы, анкетирование, фокус-группы, социальные сети, форумы и многое другое.
Этот процесс не только для определения правильности работы вашего программного обеспечения, но и для оценки общей удовлетворенности клиентов, чтобы определить стратегию бизнеса и обеспечить наилучшие возможные результаты. Постоянная обратная связь должна использоваться для того, чтобы направлять дорожную карту вашего продукта и помогать вам удовлетворять желания, потребности и ожидания вашей аудитории.
Непрерывное развертывание работает в тандеме с непрерывной интеграцией, завершая цикл автоматизации и минимизируя или исключая вмешательство человека в процесс развертывания. Автоматизированные инструменты DevOps отслеживают обновления исходного кода и автоматически внедряют их в производственную среду после того, как они прошли этап тестирования, что экономит время и повышает удовлетворенность пользователей.
Непрерывное развертывание ускоряет цикл обратной связи с пользователями благодаря автоматизации. Методы также могут быть развернуты для отдельного развертывания релиза, либо скрывая их от пользователей (темные релизы), либо включая их для конкретных пользователей, чтобы протестировать новые функции и получить отзывы (переключение функций).
Поскольку код выпускается небольшими партиями, это минимизирует риск, который вы могли бы иметь при больших изменениях кода - и все это с минимальными усилиями благодаря автоматизации.
Непрерывная работа направлена на минимизацию времени простоя и предотвращение досадных перебоев в обслуживании пользователей. Эта фаза жизненного цикла DevOps сосредоточена на оптимизации приложений и сред для обеспечения стабильности и производительности. Он также завершает цикл жизненного цикла DevOps, подпитывая фазу планирования непрерывной разработки сообщениями об ошибках и отзывами пользователей о необходимых улучшениях.
При непрерывном сотрудничестве между командами и пользователями ошибки, отзывы и проблемы безопасности могут постоянно передаваться, оцениваться и итерироваться в рамках конвейера DevOps.
Идеальный рабочий процесс
В этом коротком видео команда Unity Version Control (ранее Plastic SCM) демонстрирует, как ее мощный инструмент управления исходным кодом может реализовать стратегическую цепочку инструментов DevOps, которая играет решающую роль в обеспечении бесперебойного рабочего процесса в рамках жизненного цикла DevOps.
Отслеживание и управление изменениями в исходном коде очень важно. Узнайте, как различные типы систем контроля версий могут помочь вам сохранить целостность вашего кода.
Внедрение методов DevOps может упростить процесс разработки и повысить удовлетворенность сотрудников и пользователей. Узнайте, как вам может пригодиться DevOps.
Каждая игровая студия стремится ускорить разработку и снизить потребность в сверхурочной работе. DevOps — лучший способ достичь этих целей. Для начала узнайте о ключевых принципах, лежащих в основе методологии DevOps.
Узнайте об основополагающих принципах и процессах DevOps для разработки игр и послушайте мнение студий, которые добились успеха с помощью портфеля решений Unity.
В этой электронной книге вы узнаете от команды Unity Version Control о том, как стать лучшим разработчиком программного обеспечения и освоить контроль версий, внедрив идеальный рабочий процесс.
Узнайте, как Halfbrick использует Backtrace и Helpshift, чтобы обнаружить ошибки, разрушающие игру, еще до того, как они станут проблемой, и удержать игроков в игре.
Жизненный цикл DevOps начинается с контроля версий. Внедрите непрерывную интеграцию и разработку с помощью решений Unity' DevOps.