DevOps является одним из наиболее часто упоминаемых терминов в текущей ИТ-среде. Обычно это связано со стратегиями цифровой трансформации и методологиями, такими как Continuous Delivery или Agile Development.
В предыдущем посте ( легендарное происхождение движения DevOps) мы представили генезис этого термина, но, как и в большинстве технологических buzzwords, трудно найти каноническое определение, и на самом деле часто можно найти противоречивое или явно неправильное использование этого термина.
Большая часть путаницы связана с смешиванием того, что такое DevOps, с необходимыми требованиями или преимуществами, полученными при развертывании DevOps. Не желая быть чрезмерно догматичным в отношении термина, контурные линии которого еще не полностью осели, давайте попробуем хотя бы пролить свет на концепцию.
DevOps según WikiPedia
Мы начинаем с самого близкого, что сегодня мы можем иметь к каноническому определению. Что говорит Википедия о DevOps?:
«DevOps — это английская аббревиатура development (разработка) и operations (операции), которая относится к методологии разработки программного обеспечения, которая фокусируется на коммуникации, сотрудничестве и интеграции между разработчиками программного обеспечения и системными специалистами в области информационных технологий (ИТ)».* DevOps-это ответ на взаимозависимость разработки программного обеспечения и ИТ-операций. Его цель состоит в том, чтобы помочь организации производить продукты и услуги программного обеспечения быстрее, более высокого качества и с меньшими затратами.undefinedкомпании с очень частыми поставками (выпусками) могут потребовать знаний DevOps. Flickr разработал систему DevOps для удовлетворения бизнес-требований десяти ежедневных развертываний. Эти типы систем известны как непрерывное развертывание (continuous deployment) или непрерывная доставка (continuous delivery) и обычно связаны с методологиями lean startup. Рабочие группы, профессиональные ассоциации и блоги используют этот термин с 2009 года».
Все ясно, не так ли? Или вы думаете, как и я, что есть переполнение концепций? Давайте спасем на данный момент три ключевые идеи:
- DevOps-это методология создания программного обеспечения.
- DevOps основан на интеграции между разработчиками программного обеспечения и системными администраторами.
- DevOps позволяет производить программное обеспечение быстрее, с более высоким качеством, более низкой стоимостью и очень высокой частотой выпусков.
Имея в виду эти концепции, давайте рассмотрим некоторые потоки мнений вокруг DevOps.
Является ли DevOps культурой?
Нет, DevOps сам по себе не является культурой, но для ее реализации требуются сильные культурные и организационные изменения. Культурный сдвиг в сторону сотрудничества, общения и, в конечном счете, полной интеграции между древними (обычно бешено водонепроницаемыми) областями развития и системами.
Это культурное изменение настолько сложно получить в некоторых организациях, что многие идентифицируют его непосредственно с DevOps, но давайте вспомним: DevOps-это методология разработки программного обеспечения, а изменение культуры само по себе не является способом разработки программного обеспечения .
Является ли DevOps новой расой мужчин?
Еще одна распространенная ошибка заключается в том , чтобы путать DevOps с моделями, которые некоторые стартапы стремятся принять в своих стартапах, где все члены технической команды знают о разработке, системах, настройке производительности, базах данных… и даже подключить офис, купить ноутбуки и даже настроить мобильный телефон деловых людей. Это звучит для вас; -)?
Эта модель может работать некоторое время, но не масштабируется. DevOps заключается не в повышении ответственности разработчиков за то, что они носят несколько шапок (в частности, две, разработанную и системную), а в замене этих двух шапок на одну-новую шапку DevOps.
Является ли DevOps профессией?
По словам Роба стюарда, вице-президента по разработке продуктов Progress Software, “ хорошая практика DevOps освободит разработчиков, чтобы сосредоточиться на том, что они делают лучше всего: писать программное обеспечение. DevOps устраняет работу и проблемы с запуском программного обеспечения после его написания ”.
Если это так, то что такое инженер DevOps? Разве мы не остановились на том, что DevOps позволяет разработчику только разрабатывать? Тогда почему на рынке –и все более востребован — просматриваются профили с конкретными навыками сборки оборудования DevOps?
Ответ прост: для разработчика переход на модель DevOps оказывается немедленным, в то время как системному инженеру нужны новые навыки . Эти навыки, согласно исследованиям Puppet Labs, в этом порядке: сценарии, дар людей, реинжиниринг процессов и, наконец, опыт работы с конкретными инструментами. Профиль, который нелегко найти.
Так что нет, DevOps-это не профессия, и строго не существует ни профилей DevOps, ни инженеров DevOps, но “системных инженеров с конкретными возможностями для интеграции в команды DevOps”.
DevOps: модель разработки цифровых продуктов
В заключение давайте остановимся на простом определении DevOps , с которым мы все можем согласиться: DevOps-это методология разработки программного обеспечения , основанная на интеграции между разработчиками и системными администраторами, которая позволяет разработчикам сосредоточиться только на разработке и развертывании своего кода за считанные секунды.