Появление DevOps: создание гибкой культуры в разработке продуктов
25 мая 2022 г.Как создать продукт быстрее, сохраняя его качество и улучшая его с течением времени? В чем ключ?
Прежде чем обсуждать решение, давайте сначала разберемся с традиционным циклом разработки программного обеспечения.
Долгое время разработчики писали код, специалисты по обеспечению качества выполняли сложные процедуры тестирования, а системные администраторы отвечали за развертывание и интеграцию продукта. Весь процесс часто занимал много времени, поскольку взаимодействие между этими отдельными бункерами было ограниченным. Это было приемлемо, когда доминировала методология водопада. Уже нет!
DevOps: ключевой фактор гибкой разработки продуктов?
Сегодня DevOps — один из самых обсуждаемых подходов к разработке программного обеспечения. Это популярная гибкая ИТ-методология разработки программных продуктов, которая способствует частому общению и постоянному сотрудничеству в режиме реального времени между командами разработки (Dev) и ИТ-эксплуатаций (Ops). Этот подход заменяет разрозненную разработку, помогает сократить жизненный цикл разработки программного обеспечения и позволяет поставщикам услуг по разработке продукта ускорить время выхода продукта на рынок.
Оценка потребности в этой гибкой ИТ-методологии:
Существует пять различных этапов разработки программного продукта: планирование и проектирование продукта, кодирование, тестирование, развертывание, эксплуатация и сбор отзывов. Каждым этапом занимается отдельная команда.
Без адекватной и своевременной обратной связи, тщательного тестирования и сотрудничества между этими различными ИТ-командами общий процесс разработки может занять некоторое время.
Рассмотрите сценарий. В канун Нового года у вас появится новый продукт. Учитывая его тему, он должен выйти 1 января или, по крайней мере, в течение той же недели. Он не может быть запланирован или выпущен в феврале или в последующие месяцы. Однако в традиционном цикле разработки это невозможно с многочисленными возвратами и длительной обратной связью. По этой причине несколько продуктов никогда не заканчиваются вовремя. Согласно отчету Standish Group о CHAOS, около 66% программных проектов терпят неудачу.
DevOps приходит на помощь:
Внедряя DevOps, ИТ-предприятия получают три основных преимущества, которых иначе не было бы; они есть:
- Более высокая скорость и качество выпуска продукта: введение непрерывной доставки (CD) в цикл разработки упрощает создание программных продуктов. Поскольку это способствует более быстрой обратной связи, позволяя разработчикам исправлять ошибки в системе на ранних стадиях.
- Улучшение качества обслуживания клиентов: важно реагировать на потребности потребителей на современном динамичном рынке, чтобы обеспечить улучшение качества обслуживания. Команда DevOps хорошо оснащена, чтобы реагировать на запросы об изменении. Как результат, ускорение выхода на рынок благодаря надежным выпускам и удовлетворенности клиентов.**
**
- Лучшая и согласованная рабочая среда: сотрудничество в режиме реального времени между различными заинтересованными сторонами, организованное с помощью принципов и методов DevOps, помогает ускорить процесс и повысить производительность и гибкость команды разработчиков.
опрос 1770 руководителей высшего звена бизнеса и ИТ, которые работали в организации, которая внедрила методы DevOps в среду Agile, показало улучшение роста нового бизнеса на 38 %.
Эти преимущества, возможно, дают общее представление о том, что DevOps — это не просто набор методов, обеспечивающих гибкую разработку продукта, а скорее превосходная культура работы, которую можно оценить с помощью CAMS. CAMS, изобретенная Деймоном Эдвардсом и Джоном Уиллисом, авторами знаменитого Podcast DevOps Cafe, означает культуру, автоматизацию, измерение и совместное использование.
Подробное понимание жизненного цикла DevOps:
Жизненный цикл DevOps можно рассматривать как объединение различных этапов непрерывной разработки программного обеспечения (непрерывной доставки), интеграции, тестирования, развертывания и мониторинга.
- Гибкое планирование: несмотря на традиционное планирование и этап проектирования продукта, гибкое планирование организует работу в виде коротких итераций, хотя и подробных, чтобы увеличить количество выпусков. Это первоначальное подробное гибкое планирование обеспечивает гибкость после первоначального тестирования кода.
- Непрерывная разработка: разбивая работу на более мелкие куски или части, команда может добиваться лучших и более быстрых результатов. Разработчики коммитят код небольшими порциями, чтобы тестер мог легко проверить и протестировать его.
- Непрерывное автоматизированное тестирование: используя инструменты автоматизации, такие как Selenium, Ranorex, Appium, TestComplete и т. д., команда обеспечения качества тестирует и обнаруживает ошибки и уязвимости (если таковые имеются). Чтобы ими можно было быстро поделиться с командой инженеров. Автоматизированная процедура записывает отзывы и помогает команде отслеживать изменения, модификации или обновления.
- Непрерывная интеграция и непрерывная доставка (CI//CD): одна из наиболее важных стадий жизненного цикла DevOps, непрерывная доставка, как обсуждалось ранее, объединяет операции разработки, тестирования и развертывания, тем самым оптимизируя весь процесс. Это помогает включить автоматическую доставку обновлений кода в производственную среду.
- Непрерывное развертывание: на этом этапе код развертывается для работы на общедоступном сервере. Делая его доступным для нескольких пользователей, вы получаете возможность заранее тестировать и проверять новые функции. Одними из наиболее известных используемых инструментов являются Chef, Pepper и Azure Resource Manager, среди прочих.
- Непрерывный мониторинг: последний и заключительный этап связан с оценкой всего цикла — анализом отзывов команды, сообщением о неточностях и улучшением работы.
Последнее слово – Кто победитель?
С DevOps вы создаете культуру постоянного совершенствования, автоматизируете все и пытаетесь как можно скорее принести пользу клиенту. Итак, будь то предприятие по разработке программного обеспечения, сотрудники, работающие в организации (группа разработки продукта), клиенты или конечные пользователи, разные заинтересованные стороны получают выгоду от методологии «DevOps».
Оригинал