Обов'язкові плани на weekend для професіоналів у тестуванні — TestingStage і вибори Президента!
×Закрыть

Что такое DevOps — просветите программиста

В ДОУ прокатилась волна дисскусий про Agile и Scrum, разводилово это для клиентов или реально работающие методологии.

Так вот, Аджайл Аджайлом, но появилась новая модное словечко — DevOps. И даже отдел у нас переименовали, где сидят админы и release engineers . Я честно пытался понять из материалов в интернете, что это за зверь такой.

en.wikipedia.org/wiki/DevOps
habrahabr.ru/...​ny/scrumtrek/blog/166039
devopswiki.net/index.php/DevOps
snews.com.ua/blog/technolies/14.html

Но кроме того, что «нужно много и качественно деплоить билды», «разрушить стену непонимания между development и operation», мне из этих всех материалов выудить не получилось.

Так собственно как, кроме того, что стены надо рушить, внедрять DevOps, и как проверить по девопсу наши админы работают или нет?

Всем поделившимся — заранее спасибо!

LinkedIn

Лучшие комментарии пропустить

Так собственно как, кроме того, что стены надо рушить, внедрять DevOps, и как проверить по девопсу наши админы работают или нет?
Нет. Ваши админы работают не по ДевОпсу. По одной причине — они у вас есть, админы — это чистые Опс.
Если очень кратко: ДевОпс — это когда __программист__ (Дев) очень сильно вовлечен в процесс эксплуатации системы (Опс). Например, команда разработки занимается/участвует в деплое приложения, настройке окружения, анализирует логи и тд. Чем-то похоже на то как в студенческие годы многие делали сайты (не только написать код, но и выкатить на хостинг и админить потом), только уже на более серьезном уровне. Особо актуально в условиях стартапов и работы в облаках.
.
Не исключено что раввины от программирования уже навернули 100500 принципов поверх этого.

Девопс это отношение к инфраструктуре как коду.

Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Хотів написати про devops в 2019 а потім побачив шо треду вже 6 років...

Девопси вже не в моді.

Смотрите, что у меня есть: dou.ua/calendar/25941 ! прошло 6 лет )) Все знают, что такое Девопс теперь, а у нас куча полезной инфы уже 20.03. Присоединяйтесь!

Пройшло 5 років — і з’явилася розгонута + коректна відповідь на запитання посту:
dou.ua/...​rticles/devops-culture-0

Девопс это не человек, а процесс, когда прогррамист сам деплоит код.

Только часто программисты не умеют деплоить, и потому надо отдельные люди, которые умеют.

Написала статью о том, кто такой devops-engineer — dou.ua/...devops-engineer-position

Прочитал, получается, devops — это своеобразный стрелочник, который вроде как и специалист в чем-то, но если что-то не так будет на продакшене, то это не он до конца «помог разработчику» вычистить код.

А нафига для этого отдельный чувак?
Ведь можно автоматизировать процесс деплоймента один раз, выполнив соответствующие настройки в TeamCity, Jenkins, BuildForge, etc. Прикрутить проверку стандартизации кода, юнит тесты и тп. Навесить тригеров на автоматический деплой, раздать права для мануального деплоя нужным людям и все. Я имею ввиду, что это краткосрочная работа. Содержать для этого отдельного человека, если у вас не 100500 проектов, как минимум не выгодно.

то вы не видели больших проектов просто — от сюда столь наивные возрения

Может быть.
Что в вашем понимании большой проект? В связи с чем могут возникнуть регулярные трудности, из-за к-х нужно держать отдельного человека?

ну я вот взвесил свой вокспейс в эклипсе — 350K+ файлов — думаю что большим можно считать
у нас на проекте инсталлера — два фул тайм инжинера и работы им хватает ( проект активно разрабатывается-)
деплоймент у клиентов — отдельная команда — тк очень чуствительные кастомеры + довольно сильно отличаются окружения и что и как делается
горы скриптов для всего
в итоге у нас можно накатить любую версию куда угодно очень просто и наглядно (конфигурации есть для всего — и разлить приложение на 10ток серверов — вообще гвно вопрос) — но это требует постоянной поддержки чисто в силу количества движущихся частей

Большой проект, это сборка которого стоит не менее ста долларов за каждый коммит с автотестом

Может для всего описанного тобой и нужен отдельный чувак ??

попытка сделать из разработчиков членодевок и подвязать на сношения с продакшен деплойментом
плохо приживается в ынтерпрайзе как я вижу тк деплойменты кастомные для каждого заказчика зачастую
хорошо приживается в b2c проектах

Если кратко — you build it, you run it.

О!
Из вакансий четко видно, что ищут сисадмина со знанием руби и Chef (ну — Дженкинс тоже, но с тем проще). Ну да — еще Git, конечно.
Вот интересно — что по деньгам? Есть какая-то информация?

Вот интересно — что по деньгам? Есть какая-то информация?

jobs.dou.ua/...c=&exp1=0&exp2=10
www.salarycheck.org/DevOps

Гмм, спасибо.
Интересная информация для размышления (куда двигать админам).

Еще вспомнил старый твит Макса:
twitter.com/...status/349150541819043841

А сегодня я обнаружил, что на ДОУ больше DevOps вакансий, чем админских (хотя граница, конечно, размыта) и сделал категорию DevOps основной на jobs.dou.ua

Вот как-то обидно сразу стало

Так раз это такие чуда мастера эти DevOps — то видимо они «потеснят» нанесут урон карме и важности PM!? Они же все важные моменты сами сделают..

А причем ПМ к опсам?

Такие люди/методы ведь могут облегчить работу ПМу ? Или ПМ никогда не мечтал чтобы разношерстная команда сама подружилась и была самодостаточной..

Вот набирают на курсы девопсов
softserve.ua/...a/course-devops
только надо английский на разговорном уровне и техническая грамотность.

ИМХО девопс это в первую очередь «разрушение стен», т.е. вместо девелоперов заливающих код «там разберутся» и админов «что эти обезьяны опять наломали?» — с зачастую в принципе диаметрально противоположыми интересами, вместо этого стремимся к девелоперам которые понимают нужны опсов, админы — лучше понимающие цели девелоперов и все вместе работающие над общей целью частых релизов стабильного, хорошо отмониторенного и управляемого кода.

Заменять два человека одним не обязательно и зачастую вредно. С другой стороны один СТО/девелопер/админ который «знает все» — это не девопс. Это просто продвинутый чувак. Девопс — это культура.

Цель частых релизов вызывает необходимость полной автоматизации и версионирования процесса развертывания, переиспользования этой процедуры на более ранних этапах тестирования и разработки -> continuous integration.

Грубо говоря, это волшебный человек, который может поднять упавший сервер, пофиксить баг, из-за которого он упал и выкатить апдейт. Ну и написать скриптов, которые в следующий раз сделают это сами и пришьют успокаивающую смс.

В чистом виде встречается нечасто: обычно всё-таки больше либо дев, либо опс, но вот у нас, например, CTO — действительно шарит во всём этом.

CTO врядли подымает сервера и фиксит баги :) Во всяком случае на регулярной основе.

Так-то от компании зависит. В софтверном стартапе из трёх человек я ожидал бы от CTO основного кода, а вот для Микософта это было бы одозначно ужасным сигналом :)

в компании из 3х человек CTO только по визитке таковым является.

Мне по описанию очень Configuration Management напоминает. Интересно — это одно и то же?

Мне по описанию очень Configuration Management напоминает. Интересно — это одно и то же?
Зависит от того что вы включаете в понятие «Configuration Management». В старом смысле (ITIL и тд), то нет. Если в смысле использования Chef/Puppet и выкатывания на продакшн серваков целиком (образов), вместо деплоя приложение на сконфигурированные среды на серверах (например, деплой в WebSphere), то да, ДевОпс — это «культура/движение» поверх такого способа выкатывания с продакшн.

Не зря напоминает. Configuration Management — это процесс, а DevOps — методология этого процесса.

Процесса и методологии как то мало, еще должны быть идеология, подход, классификация, разделение на роли, принципы, модель, шаблоны, технология, контекст, субьект и обьект, концепция, и тогда можно метить в гуру.

Та зачем, если и при подходе «хуяк-хуяк и в продакшн» на работу берут.

Да, плоские команды с простой структурой и без всяких процессов частенько делают быстрее, лучше , качественнее чем перегруженные формальностями, ролями и теми кто говорит что всем этим управляет

Если сайтик склепать типа ДОУ, то команда из 2-х человек без процессов будет быстрее и лучше. А если МКС на орбиту запустить, то обосрутся плоские команды без процессов и формальностей.

Это потому что эта область традиционно окупирована государственными бюрократическими компаниями.

Да нет, это потому что там над одним проектом приходится работать тысячам людей, часто из разных компаний и разных стран.

И как здесь становятся обязательны процессы и бюрократия?

Процессы и бюрократия — это следствие крупных организаций и проектов. Без четких процессов просто невозможно управлять тысячами людей. Ну а если вы думаете, что все как-то само собой сделается без координации, то вы слишком ошибаетесь. Не хочется вам лекций читать по менеджменту, но грубо говоря чем крупнее проект, тем более строгие процессы необходимы для уменьшения рисков.

Это там где трудятся хомячки из индии, им нужны процессы что бы контролировать их разгильдяйство. Сейчас наоборот продвинутые конторы стремятся к flat структурам, аджайлу, стартап environment, креативу и т.д.

Ну я понял, вы из тех, кто считает высшее образование не нужным, разницу между инженером и техником тоже не знаете, ну и, естественно, менеджмент тоже не нужен , а архитектор — вообще непонятное слово.
Вы либо очень ограничены, либо жирный сетевой тролль. Надеюсь, что второе.

Про высшее образование, ты навыдумывал. Техник это wtf?
Про менеджеров и архитекторов где то так.
Твой переход на личности без всяких аргументов характеризует исключительно твою культуру ведения дискуссии.

Без иерерхии в управлении-невозможно, проверено. Так или иначе, рано или поздно это всегда становится очевидным. Вы просто еще не сталкивались с серьезными задачами, либо не успели нахлебаться.

Формальное высшее образование-это действительно не панацея(все это вполне осваивается самостоятельно), во всем остальном-почти полностью согласен.

стремятся к flat структурам, аджайлу, стартап environment, креативу

Вот как раз про этот случай как нельзя лучше подходит фраза товарища Сталина «Кадры решают всё». И вот с ними-то, родимыми, и беда. Чтобы работать во flat-структуре, стартап-енвайронменте и т.п., нужен особый менталитет, который я бы назвал «сам себе немножечко предприниматель». А таких людей, даже «в IT, где работают умные люди» © Слава Панкратов — очень и очень немного.

Что какбе плохо согласовывается с агрессивными планами роста «лидеров рынка».

Зато в долине таких вполне хватает

Так кто бы спорил... долина в этом смысле — место, в принципе, особое

Ну других тоже хватает, просто они работают в разных компаниях. Сегрегация начинается еще на уровне собеседования.

Вы думаете там все без разбору на ажайлах сидят? Вы наивный наверное.

Нет, ты просто не совсем понимаешь, что в сложных структурах и продуктах-нужна обязательная четкая иерархия и раздерение полномочий, по самыс разным объективным причинам.

Нет, ты просто не совсем понимаешь, что в сложных структурах и продуктах-нужна обязательная четкая иерархия и раздерение полномочий, по самыс разным объективным причинам

Что вы сразу в мелочи? Начинать надо с дискурса и парадигмы.

Павел, я думаю ви якраз добре вловили суть проблеми — «нужно много и качественно деплоить билды», «разрушить стену непонимания между development и operation».

Відповідь треба шукати в статтях/презентаціях за 2010-й рік, саме тоді термін вперше почали використовувати. В теперішніх статтях багато води і маркетингу, за якими, на жаль, втрачається суть, і виходить отак: tinyurl.com/bblvhww

Отут коротко але добре написано що є а що не є devops: dev2ops.org/...what-is-devops
А тут чудова презентація від Патріка Дебо : www.slideshare.net/...character-makes

Спасибо, презентация шикарная :)

Методология — это все-таки метод, то есть ответ на вопрос как, и ответ полный. Это про отношение разработчиков, админов и менеджеров. Вопрос про культуру общение и взаимных отншений, свежый взгляд на работу команд разработки и администрирования. Не больше, все процессы под контролем, но знания про них общие.

Я полностью согласен, что очень не очевидно разницу между админами и девопсами. В современных веб приложениях (уверен это самый простой случай) есть масса работы по конфигурированию серверов (через всякие vagrant, chef, puppet) плюс инструменты для деплоя (shell скрипты, phping, capistrano и т.д.) плюс настройка continuous integration (деплойменты, тестирование). Другими словами сейчас админам нужно неплохо разбираться в технологиях проекта чтоб поддерживать систему в рабочем состоянии. Наверное и потому появилась приставка «дев» у админов.

И в дополнение — админы, которые Development Operations, пишут многое с нуля. В каком-то смысле «программируют» системы (vagrant, chef, puppet). В этом отличие от прежнего подхода «поставить софт — настроить его параметры»

То есть есть определенная аналогия между тестерами и автоматизаторами тестирования?

Кстати да, мне кажется это хорошая аналогия.

определенная аналогия между тестерами и автоматизаторами тестирования?
или между тимой тестеров и стаей кошек))
То есть есть определенная аналогия между тестерами и автоматизаторами тестирования?
Если проводить аналогии админов и тестеров, то и тестеры и автотестеры — это все равно Опс. А ДевОпс — это разработчик который пишет авто-тесты, в том числе и приемочные (там АТДД/БДД и тд).

Помню в одной маленькой продуктовой компании все было смешанов кучу: тестеры, админы, саппорт. И это было довольно эффективно.

Так собственно как, кроме того, что стены надо рушить, внедрять DevOps, и как проверить по девопсу наши админы работают или нет?
Если последний дев билд можно по клику задеплоить в продакшн — значит по девопсу

То что это правильная цель — ясно и без девопса. В тот момент, когда она достигается, отдел моментально переименовывается?

Когда и кого переименовывать это лирика, к делу имеет мало отношения. Если у вас есть возможность деплоить по кнопке последний билд, девопс вам не нужен...точнее вы его и так уже заимплементили :)

Если последний дев билд можно по клику задеплоить в продакшн — значит по девопсу
Наше дело задеплоить. А вот уже шо будет в продакшене — это не проблемы наши проблемы. И если билд упадет в час ночи, то звоните админам?
Удивлен что «DevOps в EPAM» ни слова не сказал про системы мониторинга, про упрощение траблшутинга.
ДевОпс — это сильно дальше чем «деплой билда» (что вполне подпадает под какой-то Континьюс Деливери).
.
Дальше троллинг:
Посмотрел я ваш линкедИн
National Technical University of Ukraine ’Kyiv Polytechnic Institute’
2008 — 2012
Вам часом не 23 года? :)

Автор треда задал вопрос, на который невозможно ответить однозначно. На что получил максимально простой ответ :)
По-моему и не только моему мнению — continuous delivery is an absolute requirement of DevOps practices. Если в команде это работает, то о других вещах уже на 99% позаботились.

По поводу мониторинга и траблшутинга — их что ли только во время популяризации девопс придумали?

PS уже не 23 и ещё не синьор ;(

По-моему и не только моему мнению — continuous delivery is an absolute requirement of DevOps practices.
По поводу мониторинга и траблшутинга — их что ли только во время популяризации девопс придумали?
А континьюс деливери “их что ли только во время популяризации девопс придумали?” :)
Автор треда задал вопрос, на который невозможно ответить однозначно. На что получил максимально простой ответ :)
Простой и не правильный, вводящий в заблуждение. И вот почему:
continuous delivery is an absolute requirement of DevOps practices
Вот в универах весь первый курс обясняют что “необхідно” и “достатньо” — это принципиально разные понятия.
А вы из выполнения необходимого (на мой взгляд совсем даже не необходимого) условия, делаете вывод об истенности утверждения — что является логической ошибкой.

Вы действительно думаете что континиус деливери в мало-мальски сложном с точки зрения инфраструктуры проекте возможен без налаженного взаимодействия между дев и опс командами?:)

Вы действительно думаете что континиус деливери в мало-мальски сложном с точки зрения инфраструктуры проекте возможен без налаженного взаимодействия между дев и опс командами?:)
Я это знаю. Нима ни какого ДевОпса, даже наоборот девы и опсы постоянно ругаютсо (в основном на этапе того же траблшутинга), а континьюс деливери есть.
Знаю ситуации когда нима возможности «задеплоить одной кнопкой» (речи о континьюс деливери так же нет), а ДевОпс есть.
Поэтому повторю:
ДевОпс — это сильно дальше чем «деплой билда»

Коротко суть того, что я имел в виду (видимо логическую цепочку у Вас построить не получается, прийдется так):

Как было раньше (к сожалению, есть кое-где и сейчас):

Девелоперы надевелопили и захендовирили оперейшенс команде, которая с удивлением узнает что вместо мускула уже нужен монго, вместо джрокита — хотспот, а в нужном влане не проброшены порты. Да и как это все дело толком заведется на боевых серверах — никто не знает.

Как сейчас (как дожно быть):

Все эти вопросы выясняются на стадии планирования с непосредственным участием оперейшнс, все возможные проблемы выявляются на ранней стадии, от некоторых фич приходится отказаться (не по сесурити, тяжело деплоить и т.д.). В итоге когда дженкинс зажигает зеленый свет на последнем билде — можно сразу же нажать кнопку и задеплоить в продакшн, со стороны опсов все готово. Понятно, что в большинстве случаев сразу никто не деплоит по объективным причинам, но тут уже от специфики зависит :)

Кто с кем ругается это вообще вопрос вторичный. Не менее редко девы ругаются с девами (например, во время код ревью xD), а опсы с опсами. Тут больше зависит от профессионализма и мендежмента зависит, чем от того кто какую религию исповедует.

По теме девопс (как и по аджайлу) вообще столько воды написано, что порой аж читать противно, сразу рвотный рефлекс.

Ну и в заключение — i.imgur.com/3CS31.jpg

Все эти вопросы выясняются на стадии планирования с непосредственным участием оперейшнс, все возможные проблемы выявляются на ранней стадии, от некоторых фич приходится отказаться (не по сесурити, тяжело деплоить и т.д.).
Все это было в больших конторах и до появления термина ДевОпс: Собираетсо 100500 митингов чтобы выяснить почему надо юзать ВебСферу для простого сервиса, почему надо в дтацентре на РХЕЛах поднять Дебиан-сервера.
А теперь сказочка:
После всех митингов, даже написан скрипт который выкачивает артефакты, запускает все необходимые сервисы, и сервера начинают отвечать на запросы. Ура товарищи! У нас ДевОпс (и это в 2005 году и без всяких там руби-хипстеров).
.
По вашему определению, мы получили ДевОпс. Деплой прошел без проблем, новую версию выкатывает в любой момент.
.
Проходит неделя. Серваки начинают падать один за одним. Опс присылают дампы памяти (по процедуре так). У них просят логи которые ведет само приложение, логи никто не дает (секурити), __митинги__ и логи дали. По логах похоже что не чистится темповая папка. Доступа к серверам нет (уже не по секурити, а потому что начальник опсов в отпуске). __Митинги__, и опсы говорят что таки да темп выедаетсо. За время митингов уже нашли и пофиксили проблему.
.
От такой пот интересный ДевОпс, может эта история поможет вам как человеку «который умеет строить логические цепочки» понять что:
ДевОпс — это сильно дальше чем «деплой билда»
Реальный ДевОпс начинается уже после выкатки билда. И не так важно одной кнопкой или руками по описанному сценарию его выкатывали.
И не так важно «Дженкинс зеленый или нет» (знаю случаи когда выкатывали билд с некоторыми свалившимися тестами, потому что это было уместно в конкретной ситуации)

Девопс это отношение к инфраструктуре как коду.

У нас девопсами называют разработчиков, которые программируют под инфраструктуру. Автоматизация всяческая, мониторинговые системы, синхронизация данных и прочее. Например, такая задача — практически по одному клику поднять уменьшенную копию продакшн инфраструктуры, чтобы одна из команд могла развернуть свой бранч для тестирования.

Может еще на таких событиях можно спросить:
dou.ua/calendar/4154

Так собственно как, кроме того, что стены надо рушить, внедрять DevOps, и как проверить по девопсу наши админы работают или нет?
Нет. Ваши админы работают не по ДевОпсу. По одной причине — они у вас есть, админы — это чистые Опс.
Если очень кратко: ДевОпс — это когда __программист__ (Дев) очень сильно вовлечен в процесс эксплуатации системы (Опс). Например, команда разработки занимается/участвует в деплое приложения, настройке окружения, анализирует логи и тд. Чем-то похоже на то как в студенческие годы многие делали сайты (не только написать код, но и выкатить на хостинг и админить потом), только уже на более серьезном уровне. Особо актуально в условиях стартапов и работы в облаках.
.
Не исключено что раввины от программирования уже навернули 100500 принципов поверх этого.

да вроде не навернули пока. К сожалению в силу трендововсти в это дело устремились еба№ые руби хипстеры, что приводит к существенному росту невменяемой ереси происходящей на продакшенах.

а кто там был до руби хипстеров? как само направление то появилось?

а до этого там были привлечение девов на продакшен проблемы а админы деплоили как могли, в меру своей распущенности

я к тому, что направление трендовым стало потому что рубисты туда ломанулись, а не ломанулись потому что стало трендовым

Значит человек DevOps должен быть и админом и девелопером одновременно? Проблема в том что девелоперы редко хотят уходить головой в поддержку.

Как-то был в командировке в одной конторе — там ДевОпс был в виде админа, который еще и програмил (т.е. не разработчик, который еще и админ, а наоборот — больше уклона в администрирование). Занимался этот чувак разворачиванием и поддержкой систем мониторинга и траблшутинга продукта. Для этого дела, помимо настройки системы и софта, писались кучи скриптов для интеграции разного мониторинг софта, прикручивался и кастомизировался репортинг.
Т.е. это скорее всего админ, который по необходимости разрабатывает что-то необходимое для поддержки.

Значит человек DevOps должен быть и админом и девелопером одновременно? Проблема в том что девелоперы редко хотят уходить головой в поддержку.
Что значит «уходить головой в поддержку»?
Программист, который работает над продутктом, скорее всего будет:
— смотреть логи с продакшена, в случае проблем.
— писать скрипты обновления (очень часто).
— возможно, посоветут выбор ОС или более мелких элементов окружения.
В общем нормальный прагматичный подход, вместо подхода где каждый пробует прикрыть свою Ж («это программисты что-то не так написали», «это опсы не так что-то настроили», «у меня нет доступа к серверу», «я не понимаю джавовские стектрейсы» и тд)
.
В общем в плане внедрения, та же проблема что и с ТДД, ЦИ и другими практиками — люди должны хотеть это внедрить (иногда еще и верить в то что это работает)

То есть , если я правильно понимаю, это очередная модная технология для работодателей. Если раньше нужно было нанимать 2х человек — дева и админа, то теперь можно нанять только одного, предварительно зомбанув его по теме — «ты же будешь работать по модной методологии!!!»

То есть , если я правильно понимаю, это очередная модная технология для работодателей. Если раньше нужно было нанимать 2х человек — дева и админа
Если отбросить реальные плюсы для разработки,
и оставаться в струе ортодоксального цинизма, то экономии может и не быть, ибо эти ваши ДевОпсы хотят ЗП и за Дев, и за Опс, и за модность технологии в сумме :)
Но к сожалению, уверен что наши ЛР смогут переделать 23-летних скрам-мастеров в 23-летних девопсов.
раввины от программирования
10/10

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

примерно понял что это теже админы ток под новым соусом)))

В общем-то да, со времен «25 листопада 2013 22:05» желание продать тушку админа победило довольно неплохое движение в ИТ-инжиниринге.

деву который умеет но мягко говоря не кайфует

Ну наверное так умеет ;)

просто делают за тебя то на что тебе всегда уходит время.

Логично: девопсы за вас настраивают сервера, КуА проверяют как реализован функицонал. А код за вас кто пишет? А дебажит? А траблшутит?

Подписаться на комментарии