Кто такой DevOps-инженер, и чем он занимается
Ранее я рассказал о том, что такое методология DevOps и кому она нужна. Сегодня — фокус на DevOps-специалистах: их задачах, зарплатах и навыках.
Методология DevOps — это набор практик, задача которых сократить время разработки программного обеспечения и ускорить выпуск обновлений и патчей к нему. Для этого подхода недостаточно привлечь классических админов и разработчиков. Здесь нужны отдельные специалисты, которые могут и настраивать железо, и адаптировать под него приложения.
Кто такой DevOps-инженер
DevOps-инженер занимается внедрением методологии DevOps. Он синхронизирует все этапы создания программного продукта: от написания кода до тестирования и выпуска приложения. Такой специалист контролирует отделы разработки и администрирования плюс автоматизирует выполнение их задач, внедряя различные программные инструменты.
Фишка DevOps-инженера в том, что он совмещает множество профессий: админа, разработчика, тестировщика и менеджера.
Джо Санчес, DevOps-евангелист из VMware, компании-разработчика программного обеспечения для виртуализации, выделил ряд навыков, которыми обязан обладать DevOps-инженер. Помимо очевидного знания методологии DevOps, этот человек должен иметь опыт администрирования ОС Windows и Linux и опыт работы с инструментами автоматизации вроде Chef, Puppet, Ansible. Еще он должен уметь писать скрипты и код на паре-тройке языков и разбираться в сетевых технологиях.
DevOps-инженер отвечает за любую автоматизацию задач, связанных с настройкой и развертыванием приложений. На его плечи ложится и мониторинг программного обеспечения. Для решения этих задач он применяет различные системы управления конфигурациями, решения виртуализации и облачные инструменты для балансировки ресурсов.
Кто нанимает
DevOps-инженеры могут принести пользу любой организации, чья деятельность связана с разработкой приложений или управлением большим количеством серверов. DevOps-инженеров нанимают ИТ-гиганты вроде Amazon, Adobe и Facebook. Еще они работают на Netflix, Walmart и Etsy.
Не нанимают DevOps-инженеров только стартапы. Их задача — выпустить минимально жизнеспособный продукт, чтобы проверить новую идею. В большинстве случаев стартапы могут обойтись без DevOps.
Сколько платят
DevOps-инженеры зарабатывают больше всех в отрасли. Средний заработок таких специалистов по миру составляет от 100 до 125 тыс. долларов в год.
В США они получают 90 тыс. долларов в год (500 тыс. рублей в месяц). В Канаде им платят 122 тыс. долларов в год (670 тыс. рублей в месяц), а в UK — 67,5 тыс. фунтов стерлингов в год (490 тыс. рублей в месяц).
Что касается России, то московские компании готовы платить DevOps-специалистам от 100 до 200 тыс. рублей в месяц. В Санкт-Петербурге работодатели чуть щедрее — предлагают 160–360 тыс. рублей в месяц. В регионах указывают зарплату 100–120 тыс. рублей в месяц.
Как стать специалистом по DevOps
DevOps — это относительно новое направление в IT, поэтому устоявшегося перечня требований к DevOps-инженерам нет. В вакансиях среди требований на эту должность можно встретить как навыки администрирования Debian и CentOS, так и умение работать с дисковыми RAID-массивами.
На основании этого можно сделать вывод, что прежде всего DevOps-инженер должен иметь хороший технический кругозор. Такому человеку важно постоянно изучать новые инструменты и технологии.
Проще всего стать DevOps-инженером будет сисадмину или разработчику. У них уже есть ряд навыков, которые нужно просто развить. Главная задача — подтянуть минимальный набор знаний по DevOps, понять, как работать с инструментами автоматизации и заполнить пробелы в навыках администрирования, программирования и виртуализации.
Чтобы понять, где знаний пока не хватает, можно воспользоваться мини-википедией на GitHub или ментальной картой. Резиденты Hacker News также рекомендуют почитать книги «Проект «Феникс», «Руководство по DevOps» от авторов методологии и «Философия DevOps. Искусство управления IT» под грифом O'Reilly Media. В списке рекомендаций есть и другая литература, заточенная под развитие отдельных навыков, например «Современное администрирование Linux» от того же издательства O'Reilly.
Еще можно подписаться на рассылку Devops Weekly, почитать статьи тематического портала DZone и начать общаться с DevOps-инженерами в Slack-чате. Еще стоит изучить бесплатные курсы на Udacity или edX.
Что еще почитать в выходные:
Когда "веб-дизайнер" перестало быть круто, их стали называть "UX специалисты". Когда сисадмины захотели больше денег, они стали называть себя "DevOps-инженеры".
Когда разрабы поняли что они разрабы, стало грустно им. Они стали писать software engineer.
И это тоже, собственно появление "архитекторов" тоже из этой серии.
девопс это сисадмин который освоил немного кодинга.
Там немножко другой скилл... там понимание вообще сути разработки и оптимизация инфраструктуры под это. Это не админство чистой воды, не кодинг (его часто вообще нет на языке разработки), но полное понимание происходящего должно быть.
не просто понимание, но и не меньше, чем волшебно взявшееся 1-3 года опыта такой работы. Chef, Puppet, Ansible, Jenkins
DevOps это просто недоучка, который не может полноценно кодить. О каком промежуточном звене между кодером и продактом говорят в каментах выше? По факту девопс занимается тем, что ему кинут старшие товарищи девелоперы, которым самим влом заниматься тупой работой по развертыванию релизов, настройке CI итп.
Комментарий удален модератором
типичная работа мартышки на нижнем уровне it иерархии.
типичная работа мартышки
Хочу узнать, чем в вашем мире занимаются высшие уровни IT-иерархии.
Комментарий удален модератором
товарищ тут грубо выразился, но суть такова что девопс обслуживает приложение. кодеры - его создают. qa тоже обслуживает.
т.е. и девопс и qa как бы элементы полезные, но второстепенные.
в qa тоже дофига простого кодинга стало например.
работа девопса это такой tech ради tech. некоторых прет, ну и ок :)
Слишком жирно, попробуйте потоньше.
DevOps как минимум обязан уметь в развертывание. Разработчики обычно не умеют в это. Я встречал сеньоров, не имеющих представления, как для продакшна настраивать тот же nginx и как работает reverse proxy.
Комментарий удален модератором
DеvOps начался намного раньше получения красивого названия в 2009
И когда же, интересно узнать?
Внезапно с момента появления компьютеров.
Относительно новое это DevSecOps, а DevOps уже минимум 15 лет существует.
Боюсь, что с 15 годами вы перегнули. Считается, что термин DevOps был впервые использован на конференции O’Reilly в 2009 году (презентация сотрудника Flickr "10+ Deploys per Day: Dev and Ops Cooperation"). Альтернативная версия по вики — конференция devopsdays (тоже 2009 год).
Не думаю, что вакансии именно с такой формулировкой появились раньше, что уж говорить про должностные инструкции и понимание каких-то относительно единых требований к DevOps-инженерам. DevSecOps — это просто специализация, не меняющая сути. Про это есть тред на кворе с диаграммами Венна https://www.quora.com/What-is-the-difference-between-DevOps-and-DevSecOps
Первая версия Puppet вышла в 2005 году
.
получается промежуточное звено между кодером и продактом.
наверно имеет право на существование, там есть уйма работы, которую кодерам делать
западло, а продакт не умеет.
Комментарий недоступен
да не, смотря какие кодеры)
если партия скажет - надо, комсомольцы ответят - есть!
Бред. Девопс это сисадмин для программистов.
Кто такой продакт?
Ну DevOps, по сути, связующее звено в организации работы разработчиков непосредственно и практиков, если я всё правильно понимаю
Комментарий удален модератором
Бредятина. Стартап возьмёт девопса, а не трёх технарей с выделенными ролями. Девопс, это development operations. Он занимается автоматизацией процесса разработки. Он не менеджер и не тестировщик.
Задача ИдеальногоDevOps (ТМ) — лишить эту позицию смысла. Автоматизировать все и тихо уйти=)
В статье (как и предыдущей, автору респект за качество) в основном рассматривается пример приложений. Тут все сильно зависит от нативности/кроссплатформенности разработки, расскажу про пример связанный с большими данными.
Есть кластер hadoop, отличное решение, к тому же open source. Есть python, под который уже есть терабайты удобных и полезных библиотек. Есть дата аналитик, который может в питон и математику.
Но все данные, необходимые аналитику хранятся на кластере, который питон не принимает. Зато отлично понимает java/scala. Поэтому чтобы создать самую простую модель на имеющихся данных devops будет нужен минимум дважды — выгрузить на локальную машину данные для создания модели и её проверки, а потом выкатить готовую модель на прод.
Как много узких мест возникает даже при такой просто схеме взаимодейтсвия поверить сложно, пока не столкнешься. Модели банально могут показывать разную точность на питоне, и на scala.
Если есть постоянная необходимость в человеке за $100 000 для автоматизации, нужно найти способ реально автоматизировать процесс, а не через белковую прокладку. В работе с hadoop мы так и сделали, теперь экономим и продаем как коробочное решение.
PS. Переживающим за судьбу наших devops — автоматизировав и упаковав, они преквалифицировались в продакт овнеров
а что у вас продакт овнер делает? в моем понятии это человек решающий что делать в продукте, в т.ч. общается с клиентами и т.п.
т.е. полностью на другом конце от девопса (сисадмина). какая связь?
"Совершенно другой конец от девопса" ровно до момента, когда продукт и есть замена девопса. Т.е. всю боль, все потенциально узкие места и сам смысл продукта понимают только они и, возможно, HR/собственники но уже исключительно в деньгах.
просто я видел очень мало девопсов, любящих общаться с клиентами в принципе. продакт овнер конечно это предполагает.
Верно. Но т.к. с той стороны баррикад точно тот же психотип, все отлично=)
Мы периодически публикуем в нашем ТГ-канале позиции для DevOps-специалистов - кандидатов на позиции рекомендуем бесплатно @realhrvacancy (канал от кадрового агентства realhr.ru)