Часто пользователи приводят в недоумение программистов, которых просят сделать переустановку Windows или сисадминов, требуя от них написать какую-нибудь программку. Здесь каждому свое и чужого не надо. Но существует специалист, который сможет должным образом выполнить и первую, и вторую просьбу — это DevOps инженер. Но девопсы не пользовательские угодники, а профи, в которых чаще всего нуждаются крупные компании, где над разработками трудится не одна команда. В данном случае он необходим как координатор.
Сегодня мы рассмотрим, кто этот всезнайка, что обязан уметь, как им становятся.
Что представляет собой концепция DevOps
История Devops-инженеров начинается в районе нулевых лет этого столетия. Накопились проблемы в области разработок ПО, которые требовали должного разрешения. В то время подобные процессы состояли из 2 этапов: непосредственно разработки и эксплуатации. Разработчики писали код, отдавали сисадминам, отвечающим за установку, поддержку продукта. Но существовали проблемы:
- долгие периоды разработки;
- отсутствие полноценной коммуникации между специалистами этих направлений;
- большое количество ошибок, которые появлялись после несогласованных изменений в коде.
В связи с этим, а также с внедрением более сложных технологий, возникла концепция DevOps (development operations), как олицетворение идеи объединить эти 2 направления.
В чем преимущества DevOps для бизнеса
Появление концепции позволило внедрить некоторые практики:
- Обеспечение непрерывной интеграции. Все корректировки кода начали непрерывно объединять, обновлять в центральном хранилище, раньше это происходило раз в 7 или 30 дней.
- Предоставление пользователю непрерывной доставки. Изменения в программном обеспечении пользователя доставляются ему сразу же, без ожидания выпуска обновленной версии.
- Применение инструментов автоматизации для оперативной установки, повышения стабильности работы ПО.
В итоге бизнес получил неплохие бонусы:
- быстрое развертывание, что позволяет быстрее достигать бизнес-целей;
- возможность взаимодействовать с клиентурой;
- высвобождение времени для генерации следующих идей;
- эффективное, быстрое решение возникающих проблем.
Кто такой DevOps-инженер и в чем состоит его работа
Речь идет о многопрофильных специалистах, способных автоматизировать различные процессы, обладающих знаниями разработчиков, менеджеров.
DevOps-инженеры — это не просто профессия, скорее, носитель профессиональной философии, методологии, помогающий специалистам различных IT-направлений создавать свой продукт быстрее благодаря налаженной автоматизации. Сам же DevOps инженер — человек, внедряющий эту методологию в жизнь:
- при планировании способствует выработке решения по будущей архитектуре программы, способах масштабирования и т. д.;
- проводит настройку сервера, автоматизацию проверки, загрузку кода, контроль среды;
- делает тестирование автоматизированным;
- после предоставления релиза мониторит обратную связь от клиентов, пользователей. В обязанности DevOps-инженера входит незаметное систематическое внедрение улучшений так, чтобы это не было заметно со стороны;
- решает множество текущих задач, способствующих налаживанию работы специалистов, задействованных в проектах.
На практике бизнес может искать DevOps-инженера на должность билд-инженера, сисадмина с навыками программирования.
Что должен знать и уметь DevOps-специалист
Для входа в профессию необходима должная подготовка. Пройти курсы, ничего не смысля в азах IT, и дойти до статуса junior нереально в большинстве случаев, человек должен знать азы, иметь технический опыт:
- Выполнение обязанностей сисадмина, специалиста по тестированию в течение 5-6 месяцев как минимум. Плюсом пойдет, если вы умеете находить ошибки в приложениях, знаете, что делать в этих случаях.
- Умение разбираться в принципах функционирования сетевых технологий (установка, настройка, управление).
- Владение техническим английским.
DevOps-инженеры должны знать специфику работы в определенных направлениях:
- Разработка. Написание скриптов, помогающих разработчикам установить код на портал, создание программы, оперативно тестирующей отзывчивость БД. Опытные специалисты знают 2-3 языка, поддерживающих автоматизацию.
- Операционные системы. Понимание основных принципов взаимодействия с любой операционкой, но чаще всего в вакансиях бывает востребована система Linux. Инженер должен знать, на какой платформе стоит разворачивать проект, какие использовать инструменты, с какими ошибками можно столкнуться.
- Облака. Актуальность этой системы ежегодно растет, поэтому DevOps-инженер должен знать все об облачных, гибридных решениях. Обычно требуются люди, умеющие взаимодействовать с Azure, GCP.
- Оркестрация, микросервисы. У микросервисной структуры имеется ряд преимуществ: быстрое масштабирование, стабильность работы, возможность повторного использования. Обязанность DevOps-инженеров — знать работу микросервисов, уметь предотвращать проблемы. Нельзя не упомянуть необходимость опыта с Docker, Kubernetes.
Сколько зарабатывают «девопсы»
Согласно информации от Salary.com, средняя заработная плата DevOps-инженера в Америке приближается к 120 тысяч долларам в год. В ЕС, других странах мира оплата может оказаться заметно ниже, но не менее 70-100 тыс./год.
Доходы отечественных специалистов напрямую зависят от того, что умеет DevOps-инженер, каковы его компетенции, опыт. Поэтому опытный профи может преодолевать планку в 300 000 руб./месяц, junior — для начала будет получать около 100 000.
Важно понимать, что размеры заработков зависят от различных факторов: уровень квалификации, возможности компании-заказчика, разнонаправленности бэкграунда. Особенно ценятся люди, специализирующиеся на определенных технологиях.
В каких компаниях может работать DevOps-инженер
Хотелось бы подчеркнуть, что в текущем году все так же актуален кадровый голод по ряду вакансий, в том числе на DevOps-инженеров. По прогнозам, спрос на них будет только расти.
Специалисты нужны в больших корпорациях, которые специализируются на разработке ПО.
Примерно 1/3 задействована не только в разработке, но и занимает должность технического проект-менеджера, другие идут в управленцы, технические директора. В средних, небольших компаниях девопсы исполняют функции системного администратора с навыками создания программ.
Как стать DevOps-инженером
У каждого желающего получить новую профессию будет свой путь. Это зависит от объема уже имеющихся технических знаний в области IT. У кого они имеются, тот легче войдет в специальность, остальным придется приложить усилие в наработке навыков, практического опыта.
Если человек уже участвовал в создании программного продукта, исполнял обязанности системного администратора, то это уже середина пути. Остается изучить Linux, наловчиться писать коды, освоить инструменты, постоянно доставляющие коды, осуществляющие мониторинг.
С чего начать обучение
Людям, начинающим путь в мир цифровых технологий, будет сложнее — нужно будет на пустом месте начинать осваивать правила, подходы разработчиков, принципы системного администрирования, профильные инструменты. В этом случае рекомендуется для начала изучить, например, работу разработчика на Python, на этой базе начать учиться остальному:
- настройке компьютерных сетей. Это не входит в обязанности девопса, но ему необходимо понимание, как система работает;
- основам взаимодействия с ОС;
- использованию виртуализации.
Далее понадобятся более глубокие знания, самостоятельно их получить трудно. Чтобы в голове складывалась целостная картинка, есть смысл записаться на курсы.
Где учиться на DevOps-специалиста
Успешно закончившие курсы смогут претендовать на Junior, со временем на middle-уровень. Рассмотрим несколько программ online-обучения, например:
- Нетология предлагает изучение с нуля. Помимо вышеуказанных навыков, площадка обучает английскому языку, необходимому для разработчиков. Продолжительность курсов — примерно 2 года. Так как обучение платное, предусмотрены скидки, рассрочки, на ранних этапах — возврат денег, если учащийся поймет, что это не для него. По окончании выдается удостоверение или диплом о переподготовке.
- Skillfactory готовит DevOps-инженеров, предоставляя возможность изучить проектирование ИТ-сред, администрирование БД, взаимодействие с облачной системой и т. д. Там можно понять, как автоматизируются процессы, тестируются коды. Для начала рекомендуется знать Python, иметь базовые навыки по Bash, операционной системе Linux. Практикуется несколько форматов изучения материала: видеозаписи, практика, д/з, online. По завершении полугодичного обучения выдается диплом о проф. переподготовке. Здесь также практикуются рассрочки платежей, предоставляется несколько тарифов.
Это далеко не весь список успешных площадок, предлагающих эффективное изучение. Есть еще Skillbox, GeekBrains и другие.
Преимущества и недостатки профессии DevOps
Чтобы полностью сформировать свое определенное отношение к профессии, рекомендуется взвесить все плюсы и минусы.
Что относится к преимуществам:
- Стабильная востребованность на рынке труда, так как множество компаний нуждаются в расширении цифровой инфраструктуры, переносе деятельности в облако, автоматизации процессов. Профессия возникла не так давно, поэтому рынок не насыщен.
- Достойный доход, больше, чем у некоторых смежников.
- Разноплановость задач. Это интересно тем, кто определяется между администраторскими обязанностями и разработкой.
- Преодоление вызовов — занятие для творческих, ищущих людей, которое помогает самореализоваться.
- Один из вариантов поработать за границей, где такая профессия оценивается дороже, ценится больше.
Для некоторых нижеперечисленное может стать недостатками:
- Сложность входа в специальность. Изначально необходимо знать DevOps-инженеру различные технологии, подходы, инструменты.
- Мало быть теоретиком, необходима практика, насмотренность, поэтому первые прикосновения к профессии начинаются со стажировки.
- Недопонимания с работодателем или заказчиком. В связи с новизной специальности многие не понимают, в чем заключаются обязанности, компетенции девопса, поэтому договариваться лучше заранее.
Заключение
Превратиться в востребованного DevOps-инженера с нуля — сложное дело, волшебная палочка здесь не помощник. Придется все постигать методом проб, ошибок. Но после 6-7 итераций процесс затягивает. Вам не захочется оставлять без внимания новый, интересный софт, потянет пробовать что-то новое.