НовостиОбзорыСобытияIT@WorkРеклама
Идеи и практики автоматизации:

Блог

Что такое DevOps? И как это реализуется в Visual Studio 2012?

"А что вы понимаете под термином DevOpps?" – этот вопрос я задал в прошлую среду Александру Ложечкину (руководитель департамента стратегических технологий Microsoft в России) на российской пресс-презентации новой версии Visual Studio (немного о самом VS 2012 и о его презентации в мире см. "Очередное обновление платформы разработки Microsoft"). Вопрос был задан по мотивам прозвучавшего пятью минутами ранее утверждения Александра о том, что "VS 2012 поддерживает режим работы DevOps".


[spoiler]


Вообще-то, регламент этой пресс-презентации не предполагал наличия вопросов из зала, но мне, наверное, как ветерану "программистско-писательского" движения ведущая позволила спросить дадать один вопрос. Первым был от относительно замечания Александа о неправильности перевода на русский язык понятия "Garrtner's Quadrant" (ответ меня не удовлетворил), а второй по поводу DevOps остался без ответа, поскольку  выделенный мне (и всем слушателям) лимит на вопросы был исчерпан.

Впрочем, я и сам чувствовал неуместность подобных вопросов: общая атмосфера презентации явно не подразумевала наличия каких-то серьезный разговоров….

Тем не менее, разговор о DevOps продолжился за небольшим послепрезентационным фуршетом, причем, оказалось, что тема интересна и журналистам – слушали и задавали вопросы.

Так вот за кофе Александр Ложечкин высказал такую понимание вопросы (привожу из их пресс-релиза, хотя там нет слова DevOps).

Visual Studio 2012 позволяет эффективно управлять полным жизненным циклом приложения от этапа его разработки до стадии эксплуатации. Такой подход предполагает командную работу и участие в процессе большого количества специалистов разного профиля: от архитекторов и разработчиков до дизайнеров и заказчиков проекта.

Я возразил, что данное определение – это давно известная постановка вопроса в рамках ALM (Application Lifecycle Management – управление жизненным циклом приложения).  И ничего нового тут нет (незачем для этот использовать новый термин DevOps), хотя как это реально делается в VS (в том числе 2012) – это вопрос, но все же отделельный.

Тогда Александр посмотрел, что говорится об этом в Вики (WiFi на мероприятии был в наличии)

Русская Вики по этому поводу молчит, а в английской сказано сейчас так:

DevOps (a portmanteau of development and operations) is a software development method that stresses communication, collaboration and integration between software developers and information technology(IT) professionals. DevOps is a response to the interdependence of software development and IT operations. It aims to help an organization rapidly produce software products and services.

Точный перевод этого текста зафиксирован и на Develops Wiki:

DevOps словослияние от development (разработка) и operations (ИТ-операции) – это метод разработки ПО, который подчёркивает коммуникацию, сотрудничество и интеграцию между разработчиками ПО и профессионалами в сфере информационных технологий (ИТ). DevOps - это ответ на взаимную зависимость разработки ПО и ИТ-операций. DevOps направлены на оказание помощи организациям быстро производить программные продукты и сервисы.

Мне это определение не очень понравилось – очень расплывчато, а главное, по-моему, НЕПРАВИЛЬНО! Речь идет о связи между разработчиками и какими-то ИТ-специалистами. Про связь разработки и операций – тоже очень размыто..

Нет, не то. Нет, как раз "инновационности" данной идеи.

Термин DevOps я видел и раньше, но вплотную начал разбираться (с использованием разных источников) в августе, когда писал вот эту статью: Таксономия облаков в интерьере “общественной шумихи”. И, в том числе используя пояснения Gartner", представил там такую (немного подкорретированную мной) формулировку:

“Подход к предоставлению ИТ-сервисов, основанной на agile-философии (быстрая, гибкая разработка и внедрение), с ориентацией не на ортодоксальные процессы, а на конечные бизнес-результаты”.

Обратите внимание на важные отличия данной формулировки от приведенной в Вики (и того, что понимает MS в лице Александра Ложечкина). Речь идет не об абстрактном "взаимодействии разных участников процесса", а о достаточно точной целевой задаче.

Реализация подхода DevOps на практике можно проиллюстрировать на таком примере: в ТЗ должно на разработку ПО должно говориться не о требуемом наборе функционала и каких-то иных характеристиках приложения, а совсем иначе:
"нужно, чтобы новое ПО повысило производительность сотрудников не менее, чем в 5 раз, и обеспечило работу на 100, а 1000 параллельно работающих пользователей".
Как хотите, как и делайте, но чтобы финальный результат был именно такой.
Вот как я понимаю DevOps.

А теперь третий вопрос к Microsoft:
Так каким же именно образом идеи DevOps реализуются в Visual Studio 2012?
Zme
" ... нужно, чтобы новое ПО повысило производительность сотрудников не менее, чем в 5 раз ... "

Следовательно, в ТЗ необходимо приводить методику расчета эффективности? Но это не всегда очевидно. Если до внедрения ПО в экономическом отделе работали 5 сотрудников, а после внедрения стали работать 6 (скажем, добавился технолог по СЭД), но руководство при этом мгновенно стало получать точную информацию о деятельности предприятия, во сколько раз увеличилась эффективность?
Колесов Андрей
В идеале - да!
Но обратите внимание - все же тут живут не иллюзиями. Обратите внимание на определение - подход, философия... , а не "руководящие материалы". :)