DevOps Методология
DevOps (от англ. development и operations; по-русски обычно произносится как «дево́пс») - набор практик, нацеленных на активное взаимодействие специалистов по разработке со специалистами по информационно-технологическому обслуживанию и взаимную интеграцию их рабочих процессов друг в друга. Базируется на идее о тесной взаимозависимости разработки и эксплуатации программного обеспечения и нацелен на то, чтобы помогать организациям быстрее создавать и обновлять программные продукты и услуги.
Содержание |
Динамичные изменения, происходящие в мире технологий, предъявляют к современным компаниям более строгие требования к скорости реакции, времени выпуска релизов ИТ-систем и способности специалистов различного профиля открыто общаться и плодотворно сотрудничать. Не составляют исключение и разработчики встроенных систем. Востребованная методология непрерывной поставки решений предъявляет особые условия к организации проектных процессов, причем тестирование перестает быть заключительным и изолированным этапом всего цикла разработки. Однако, внедрение тестирования в качестве непрерывного параллельного разработке и сопровождению процесса порождает массу вопросов к практике такого внедрения.
Основной целью перехода на идеологию DevOps является желание улучшить и ускорить обслуживание клиентов. Сокращение затрат, увеличение автоматизации, улучшение управления конфигурацией, выполнение бизнес-запросов - это лишь сопутствующие задачи. При этом разным типам организаций может потребоваться разная структура команд для эффективного взаимодействия Dev и Ops.
С появлением в 2009 году методологии DevOps, которая должна была ответить на растущее количество вопросов к организации активного, непрерывного и продуктивного взаимодействия ИТ-специалистов в рамках проекта, компании разделились на лидеров и отстающих в зависимости от того, насколько хорошо им удалось адаптировать процесс тестирования к декларируемым принципам.
DevOps – относительно новая концепция, и у нее все еще нет четкого, общепринятого определения. По сути, это набор практик, нацеленных на активное взаимодействие и интеграцию специалистов по разработке, тестированию и сопровождению. Использование DevOps обеспечивает стабильное, быстрое и надежное развертывание ПО, в том числе и благодаря непрерывности тестирования, что позволяет избежать задержек и проблем с качеством, свойственных для классической модели проектной разработки.
Популярность методологии значительно возросла в последние годы. По данным RightScale 2016 State of the Cloud Report: DevOps Trends[1], принятие DevOps увеличилось с 66% в 2015 году до 74% в 2016 году, а среди крупных организаций принятие методологии еще выше – 81%.
Внедрение DevOps – непростая задача для многих опрошенных нами компаний: ведь новая практика часто требует иного образа мышления и фундаментального сдвига в корпоративной культуре. И все же преимущества, которые DevOps и Agile обещают разработчикам, тестировщикам и всей команде, намного превосходят любые издержки.
- Разработчики задействуются на проектах более эффективно
- Проблемы выявляются на ранних этапах, а затраты на их устранение снижаются
- Ускоряется цикл разработки и развертывания ПО
- А главное, в итоге повышается удовлетворенность заказчика
Трансформация профессии системного администратора под влиянием DevOps
Широкое принятие методологии DevOps приведет к тому, что из задач сисадмина исчезнут те, которые вызваны несовершенством компьютерных систем, исчезнет необходимость в рутинных операциях, не требующих глубоких знаний, и на этом фоне повысятся квалификационные требования (подробнее).
Топология команды DevOps
Какая структура или топология команды DevOps подходит для организации, зависит от многих вопросов, например:
- Каков набор выпускаемых и поддерживаемых продуктов – чем меньше продуктов, тем больше взаимосвязь Dev и Ops.
- Степень, сила и эффективность технического руководства - имеет ли Dev и Ops общую цель.
- Готова ли организация на трансформацию роли ИТ эксплуатации от «принеси-подай» во встроенной в бизнес процесс.
- Есть ли в организации лидеры, которые готовы указывать на проблемные области и сопровождать изменения.
- Чаще всего построение «команды мечты» потребует последовательной смены нескольких моделей.
Главные тенденции
2020: 10 прогнозов для разработчиков и DevOps на 2020 год
В конце февраля 2020 года IDC обнародовала прогнозы для разработчиков и DevOps. Аналитики сделали акцент на китайском рынке, а также практических рекомендациях на 2020 и последующие годы. Авторы исследования считают, что это их работа предоставляет всесторонний анализ тенденций рынка разработчиков и DevOps.
1. Оптимизация ИИ для разработчиков
Согласно ожиданиям IDC, к 2024 году 56% компаний не будут ограничивать использование ИИ и машинного обучения разработкой приложений - они будут применяться в проектировании, управлении качеством, обеспечении безопасности и развертывании новых технологий. К 2023 году 70% компаний будут инвестировать средства в переподготовку и обучение сотрудников, в том числе в сторонние службы, для приобретения новых навыков и знакомства с новыми методами работы.
2. Широкое использование контейнерных платформ
К 2024 году 70% новых приложений будут разворачиваться на контейнерных платформах для повышения скорости развертывания, согласованности и переносимости приложений.
3. Рост доли внештатных разработчиков
К 2023 году число разработчиков, занятых неполный рабочий день (в том числе бизнес-аналитиков, специалистов по анализу и обработке данных, а также исследователей данных) в Китае, станет в два раза больше. В частности, число разработчиков, занятых неполный рабочий день, увеличится с 1,8 млн в 2019 году до 3,6 млн.Дмитрий Бородачев, DатаРу Облако: Наше преимущество — мультивендорная модель предоставления облачных услуг
4. DevOps как повседневная деятельность
К 2023 году число организаций, выпускающих коды для конкретных приложений, увеличится с 3% до 30%. К 2024 году по крайней мере 90% новых версий приложений корпоративного уровня будут иметь встроенные функции ИИ, хотя и будут составлять только 10% всего рынка.
5. Ускорение трансформации традиционных приложений
К 2022 году ускоренная модернизация традиционных приложений и разработка новых приложений приведет к увеличению доли облачных приложений до 25%, что обусловлено использованием микросервисов, контейнеров и динамической оркестровкой.
6. DevOps сосредоточиться на ключевых индикаторах производительности бизнеса
К 2023 году 40% команд DevOps будут инвестировать средства в расширение инструментария и сосредоточатся на ключевых показателях эффективности бизнеса, таких как затраты и доходы, поскольку операции станут играть более важную роль в производительности комплексных приложений и влиянии на бизнес.
7. Использование соответствующих аналитических инструментов на основе ПО с открытым исходным кодом
Растущая зависимость приложений от компонентов с открытым исходным кодом обеспечила быстрый рост аналитического инструментария. К 2023 году инструменты анализа программных компонентов, которые к февралю 2020 года используются только отдельными организациями, будут применяться 45% фирм.
8. Компании создают собственные экосистемы развития
К 2023 году 60% китайских компаний создадут собственные программные экосистемы, а 50% получат доступ к ключевым повторно используемым компонентам кода из общедоступных библиотек.
9. Рост кодовых баз открытого доступа
К 2024 году доля программного обеспечения с открытым исходным кодом, полученных из соответствующих библиотек, увеличится вдвое, то есть до 25%, а остальные 75% будут настроены в соответствии с бизнес-моделями организаций или сценариями использования.
10. Признанная применимость DevOps
К 2024 году на приложения, которые полностью используют DevOps, будет приходиться менее 35%. Предприятия признают, что не все приложения могут извлечь выгоду из сложных операций, охватывающих разработку и производство и связанных с непрерывной интеграцией и непрерывной доставкой.[2]
Использование в России
2020: Как найти хорошего специалиста по DevOps, и почему процесс поиска может сильно затянуться
Культура DevOps может развиваться в компаниях либо эволюционно, когда сотрудники понимают, что появляются процессы, которые можно автоматизировать, либо с целью реализации новых бизнес-целей. Но когда компании нужно поставить на рельсы новые процессы, всегда требуются специалисты, способные внедрить и развить нужные инструменты. Поиск DevOps-инженеров - это сложный процесс. Рынок ИТ-специалистов во многом сейчас перегрет, поэтому человека, который бы подходил компании и готов был развивать методологии с нуля, получается не всегда подобрать быстро. Подробнее здесь.
2019: Главные тренды в DevOps на 2020 год от Forrester
В конце ноября 2019 года аналитическая компания Forrester опубликовала исследование, в котором перечислила основные тенденции, которые стоит ожидать в области DevOps в 2020 году.
Конец стратегии Plan, Build, Run
Долгое время управление разработкой ИТ-решений осуществлялось при помощи операционной модели под названием Plan, Build, Run (планирование, создание, эксплуатация). Её главная проблема заключалась в недостаточной гибкости. В новом цифровом мире недопустимы перерывы между разработкой и запуском приложений, когда эксперты должны проводить проверку качества.
По мнению экспертов, от этой модели компании будут отказываться, в том числе от поэтапного структурированного процесса с принятием решений по завершении каждого этапа.
Непрерывное управление корпоративными ИТ, основанное на правилах, динамическом контроле и автоматизации
Основное внимание в 2020 году будет уделяться руководящим принципам, и все больше компаний будут использовать самокорректирующиеся динамические элементы управления. Автоматизированные платформы будут в значительной степени подчиняться управлению: шаблонные образцы и среды, которыми пользуются специалисты по запуску продуктов, перейдут на автоматическое управление с учётом отклонений от соблюдения политики.
Неструктурированные организационные модели
В Forrester считают, что руководители, отвечающие в компании за управление корпоративными информационными технологиями, будут стимулировать разработчиков давать и сдерживать обещания при выполнении проектов, но при этом они дадут им большую свободу в том, как это делать. Главным вопросом будет не «Как управлять?», а «Чем?», прогнозируют исследователи.
Психологическая безопасность
Следуя по стопам Google, ведущие компании начнут измерять психологическую безопасность как ключевой показатель эффективности. Я не удивлюсь, если риск-менеджеры отметят низкий уровень психологической безопасности как серьезный организационный риск! Точно так же, как мы предсказывали, что сумбурная разработка станет признанной стратегией управления, будут ли организации внедрять соответствующие меры в отношении организационной культуры? — сообщил один из аналитиков Forrester. |
Акцент на эффективность разработки
Forrester прогнозирует, что в 2020 году будут широко использоваться инструменты, измеряющие производительность и ценность команд разработчиков в режиме реального времени. При этом особое внимание разработчики будут уделять такому показателю, как удовлетворенность клиентов.
Переходя на DevOps, бизнес получает несколько преимуществ. Среди них:
быстрый выход на рынок (например, сокращение времени цикла и более высокие темпы развертывания); повышение качества (например, повышение доступности, меньше сбоев и т.д.); увеличение организационной эффективности (например, больше времени тратится на деятельность связанную с увеличением ценности продукта по сравнению с потерями, увеличение количества функционала, переданного заказчику).
Обучение
Аналитики Forrester также считают, что наборы инструментальных средств разработки приложений DevOps будут все чаще включать встроенные средства обучения, чтобы позволить разработчикам постоянно приобретать новые навыки. Это связано с тем, что традиционные обучающие средства, такие как книги, онлайн-обучение, видео и офлайн-курсы, отдалены от инструментов, которые в реальности используются разработчиками. Внедрение образовательных компонентов инструменты разработки должно ускорить процесс программирования.[3]
2017
Сбербанк «подсел» на гибкую разработку: вслед за Agile - внедрение DevOps
Сбербанк внедряет практики DevOps в разработку автоматизированных систем. В качестве консультанта для этого банк по итогам конкурса в июле 2017 года привлек компанию McKinsey[4].
Из опубликованной Сбербанком конкурсной документации следовало, что банк внедряет DevOps в части подпроцессов непрерывной сборки, развертывания и поставки (Continuous Integration, Delivery и Deployment). Автоматизированные системы для внедрения DevOps из числа целевых систем банка должны были быть выбраны совместно с McKinsey. Подробнее здесь.
«Альфа-Банк» ускорил ИТ-разработку в 60 раз за счет DevOps-культуры
«Альфа-Банк» считает внедрение культуры гибкого проектирования одним из главных своих достижений в ИТ в 2016 году. Это следует из годового отчета банка, опубликованного в конце июня 2017 года.
В 2016 году мы совершили большой шаг в сторону DevOps-культуры - культуры гибкого проектирования и интеграции операционных и проектных процедур - и смогли создать в
ИТ-блоке атмосферу, пропитанную идеологией тотальной автоматизации, - говорится в годовом отчете. |
Подробнее здесь.
Мировой рынок DevOps-решений
Основная статья: Мировой рынок DevOps-решений
Смотрите также
- DevSecOps
- Agile software development
- Agile в управлении государственными проектами
- Value Stream Management (VSM, управление потоком создания ценности)
- Scrum
- Канбан (Kanban)
- Lean
- Суперсеты, эстафеты и гонки на скоростных спорткарах – спортивный agile подход к процессу выполнения проекта
Примечания
- ↑ New DevOps Trends: 2016 State of the Cloud Survey
- ↑ IDC releases Top Ten Developer and DevOps Predictions for 2020: DevOps to Gain Wide Recognition
- ↑ Yet more DevOps trends for 2020
- ↑ [http://zakupki.gov.ru/223/purchase/public/purchase/info/common-info.html?regNumber=31705079379 Выбор организации для оказания консультационных услуг в области внедрения инженерных практик DevOps и настройки программных продуктов Ansible и Jenkins для ПАО Сбербанк]