DevOps: что нужно знать чтобы стать начинающим системным инженером

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

На вопрос «Что такое девопс?» в Google можно найти невероятное количество ответов. Вас поразят трудновыговариваемые термины, но, в конечном итоге, до истины сложно докопаться. Работа программных инженеров и эксплуатации всегда имела камни преткновения. Разработчик, создавая приложение, вкладывает в него максимум функций. Ведь так будет интереснее, эффективнее и полезнее для пользователя! Но IT-специалист из эксплуатации думает иначе. Для него каждая новая функция несет риск, что она «накроется» и все придется исправлять. Ведь мало кто любит перемены, согласитесь.

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

DevOps с нуля

Наверняка, вы встречали рассуждения и споры на тему термина «девопс инженер». Если мы говорим о девопс как о культуре и подходе, при чем тут должность? Вопрос все еще остается спорным. DevOps практики давно вышли за рамки конкретной роли, и разница между девопс и сисадмин размыта. Поэтому предлагаем не зацикливаться на разборе терминов, а попытаться разобраться, чем занимается DevOps.

В нескольких словах, это человек, который хорошо ориентируется в жизненном цикле ПО. Может находить «слабые места» на всех этапах и применять DevOps инструменты для их устранения. Не важно название − DevOps или программист с навыками девопс, знания пригодятся в любой сфере. Сейчас не только в IT применяют инструменты DevOps. Опытный девопс инженер легко впишется в любую команду, нацеленную на эффективную работу, независимо от сферы. Будьте бдительны, если видите объявление о наборе в «девопс отдел». Как ни крути, девопс инженер − это все же роль, которая вписывается в отдельные команды. А не целый отдел, чьи задачи и функции и определить-то сложно.

А теперь поговорим о том, как стать DevOps, что нужно знать и над чем поработать. Начнем с того, что в DevOps приходят уже будучи middle или senior. Почему нельзя стать DevOps с нуля? Начинающий девопс − это уже специалист с опытом, который хочет расширить свои обязанности. Требуются годы, чтобы получить знания, которые необходимы девопсу даже в начале пути. В запасе должен быть набор определенных методик и инструментов, с которыми человек уже умеет работать. То есть нужна сильная база, которая и станет основой продвижения в DevOps с нуля, так сказать.

Если вы ищите DevOps вакансии и что нужно знать девопсу, начните с фундамента. В основе − знание языка Python, опыт в Linux и навыки работы с облачными сервисами AWS. Шаг за шагом добавляйте новые инструменты и технологии. Например, Python дополните Golang, а к AWS добавьте Google Cloud. Этот набор станет вашей базой, которая поможет двигаться дальше.

На следующем этапе нужно разбираться с процессами. Configure, Version, Package, Deploy, Run, Monitor − изучите, какие инструменты нужны на этих стадиях. Постепенно вы будете расширять стек, добавляя Terraform, Git, Docker, Jenkins и ECS. После того, как научитесь работать с этим инструментарием, пробуйте другие аналоги. Ansible, GitLab, Lambda, CodeDeploy, Kubernetes, Prometheus расширят ваш набор. В этом списке нет этапа и инструментов тестирования. Почему не указали? Дело в том, что тестированию можно научиться уже в процессе, это не помеха. Часто работодатели могут опускать связанные с тестированием DevOps вопросы на собеседовании.

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

Переходим к функциональным обязанностям и подробнее поговорим про DevOps задачи. Если вернемся к тексту выше, увидим, что функции будут соприкасаться с этапами жизненного цикла ПО. Роль DevOps объединила в себе несколько должностей − от каждой понемногу. Среди профессий, которые прорисовываются, можно выделить System Administrator, Build Engineer, Release Engineer, Automation Engineer. Сюда же можно добавить Site Reliability Engineer и Security Engineer. Неплохая картина вырисовывается. Где-то может проскользнуть намек на TechLead или даже CTO, но это если девопс уже Senior.

Теперь по порядку о задачах DevOps, что нужно знать о каждой должности. Системный администратор − отвечает за построение и поддержание сетевой инфраструктуры, оборудование и программное обеспечение. Настраивает и обеспечивает стабильную работу облачных сервисов. Кстати, такие специалисты чаще всего переходят из сисадмина в DevOps. Дальше добавляем контроль зависимостей, сборок и кода (Build Engineer). Управление репозиторием, мерджи и бренчи − от Release Engineer. Автоматизация рутины (автотесты, деплой, контейнеризация) взяты из роли Automation Engineer. Добавляем функции Site Reliability Engineer − все связанное с operations (обновления, расширение парка физических машин). И, наконец, информационная безопасность от Security Engineer. Обеспечение безопасности и нивелирование атак IT-инфраструктуры на всех уровнях и стадиях.

Вот так понемногу вырисовывается понимание, что такое DevOps. Конечно, перечисленные функции могут быть возложены на девопса частично или наоборот, выходить за список. Все будет зависеть от компании, проекта, команды и, соответственно, объема задач. Эти примеры даны для того, чтобы в целом описать образ девопс и его обязанности. Чем будете заниматься непосредственно вы в роли девопса, будет понятно в вашем конкретном случае.

DevOps вопросы на собеседовании

Разбираясь с тем, как стать DevOps, вам понадобится много самостоятельной работы. Чтобы не впасть в ступор на интервью с работодателем, поищите вопросы на собеседовании DevOps. Понятно, что они будут размыты и не факт, что вам их вообще зададут. Тем не менее, вы увидите, на какие акценты работодатель обычно делает упор. Если чувствуете, что ваших знаний пока недостаточно, продолжайте учиться.

Отличным вариантом прокачивания уже имеющихся скилов и получения новых будут DevOps курсы. Допустим, у вас неплохой опыт с сетевой инфраструктурой, вы понимаете код разработчиков, работаете с репозиториями. Но не хватает практики с виртуализацией и контейнерами или с автотестами. В этом случае смело идите на DevOps курсы и подтягивайте недостающие знания и навыки.

Выбирайте курсы девопс с практическими занятиями, лабораторными работами и обратной связью от преподавателя. Для поступления на обучение, будущему DevOps что нужно знать и уже уметь? В целом, желательно понимать инфраструктуру, код, работать с разными операционными системами. Иметь понятие об облачных сервисах, контейнерах, удаленных репозиториях. Знать принципы сетевой безопасности и работу протоколов. Если знания и опыта у вас совсем мало, шансы попасть на курсы могут снизиться. Но то, чего не знаете, можно подтянуть самостоятельно. И после этого уже поступать на курсы за практикой и кейсами.

Насколько нужна DevOps сертификация? Фактически, в компании вас будут оценивать по результатам вашей работы. Но сертификат от международной продуктовой компании может прибавить вам крутости как специалисту. Если вы, конечно, успешно закончили курсы и прошли DevOps тестирование.

Теоретические знания для DevOps-вакансии можно расширить, прочитав специализированные книги по DevOps. На рынке представлено много литературы, одна из самых популярных книг − «Философия DevOps. Искусство управления IT». Она знакомит читателя не только с техническими, но и культурными и организационными нюансами девопс. Кажется, что главная цель, которую хотели донести авторы − удовольствие от работы на позиции девопс. Кстати, сами авторы, Д. Дэвис и К. Дэниэлс, прошли долгий путь в мире девопс-методологии. Им точно есть, что рассказать. Еще одно популярное издание, «Руководство по DevOps», скачать можно в свободном доступе. Книга написана практикующими специалистами, и дает много практических советов. В ней найдете ответы на вопросы о трех основных принципах культуры DevOps. Также узнаете, как можно удачно объединить разработку с операциями.

Нужно ли проходить тестовое задание DevOps на собеседовании в компанию?

Помимо вопросов, которые задаст рекрутер и технический специалист, такое задание может быть. Скорее всего, это будет рабочий пример из практики. Вас могут попросить найти решение какой-то проблемы. Или, наоборот, предложат привести пример из вашего опыта. Возможно, нестандартный кейс, который вам удалось применить в работе.

Обязательно будьте готовы, что будут проверять ваши гибкие навыки. Во-первых, девопс должен обладать софт-скилз, иначе он не сможет наладить коммуникацию в команде. Нужно умение устранять пробелы в общении, находить общий язык с разработчиками и эксплуатацией, «мирить» их. Вы будете много общаться не только внутри проекта, но и за его пределами. Потребуется навык отстаивать свои идеи, видение и варианты решения проблем, часто перед руководством. Еще вам понадобится терпение. «Стрессоустойчивость» − требование вроде банальное, но для DevOps-вакансии очень необходимое.

error: Контент защищен.