Обучение

Сообщение об ошибке

Обучение

Сообщение об ошибке

«Двойственная натура» DevOps-специалиста: «С одной стороны, сисадмин, а с другой — программист»

10 мая 2022

DevOps (англ. сокр. от Development Operations) — одна из самых молодых и в то же время самых высокооплачиваемых IT-сфер. Первые DevOps-инженеры появились в 2007—2008 годах, когда сообщества разработчиков забеспокоились проблемами взаимодействия команд разработки с другими IT-специалистами.

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

Чтобы разобраться с тем, кто же такой DevOps-специалист и как он связан с администрированием и программированием, мы пообщались с Алиной Фрейдиной, тренером курсов «Администрирование Linux» и «Развертывание систем разработки ПО» и DevOps Engineer в компании Scand.


— Алина, вы в IT с 2007 года. Расскажите, пожалуйста, почему выбрали именно сферу администрирования и оптимизации процессов?

— Изначально я не собиралась быть администратором. Когда только начинала знакомиться с компьютерами и программированием, мне администраторы казались какими-то волшебниками, которые могут все починить, нажав на одну кнопку, и я не имела ни малейшего представления, как они это делают. Но в какой-то момент, когда я была молодым специалистом, у меня закончился проект и я очень боялась остаться без работы. В итоге согласилась на первое, что мне предложили, — позицию администратора баз данных.  Сейчас я об этом не жалею. Но тогда я ничего не знала об администрировании баз данных. Мне было трудно, приходилось все осваивать самостоятельно с нуля. Кроме администрирования самих баз данных пришлось изучать еще и Linux, так как мои базы были на Linux серверах. Прежде чем выполнить поставленную задачу, я сначала искала в Google, как это сделать, а потом делала на свой страх и риск. Так я постепенно втянулась и дальше стала развиваться в этой сфере.

— Почему DevOps-специалистам и системным администраторам в IT нужно уметь администрировать Linux?

— Потому что Linux больше распространен как серверная система. Windows сервера тоже встречаются, но их значительно меньше. Как правило, их выбирают там, где просто нет человека, который умеет администрировать Linux.

— За что программисты любят операционную систему Linux?

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

— Правда, что в Linux нет вирусов?

— Это неправда.

— А почему существует такой миф? Может, их меньше?

— Вирусы в основном используются, чтобы завладеть секретной информацией: паролями, ключами.  Linux пользователей значительно меньше. Если брать домашние компьютеры, на них преимущественно стоит Windows. Соответственно, там больше шансов добыть информацию. А еще пользователи Linux, как правило, более опытные. Вероятность того, что они поймают этот вирус: перейдут по ссылке и установят вредоносную программу, — низкая. 

— «Курс по администрированию Linux» полезен как для действующих и будущих сисадминов, так и для DevOps-специалистов. Если системный администратор — профессия знакомая, то сфера DevOps понятна не всем. Что же такое DevOps?

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


— Получается, что девопсы — это еще и программисты. Какой тогда язык им нужно знать?

— Каждый инструмент, который используется для автоматизации, имеет свой язык. Например, в Ansible, Docker, Kubernetes для описания конфигурации используется YAML, у Terraform — другой язык, у Puppet — третий. Можно писать скрипты на Bash, Python, PowerShell и т.д. То есть знаний одного языка точно будет недостаточно.

— А все языки, использующиеся для автоматизации процессов, можно назвать языками программирования?

— Нет. YAML — это как язык разметки XML. То, что написано в XML, можно описать с помощью YAML или JSON. Одни приложения используют JSON для своей конфигурации, а другие — YAML. Это не языки программирования, а скорее, языки описания конфигурации.

— Какие языки и технологии изучаются на курсе «Развертывание систем разработки ПО»?

— На курсе изучаются Ansible, Puppet, Docker, Kubernetes, Jenkins, Terraform.

— Кто из IT приходит в сферу DevOps?

— У меня на курсе обучаются люди, работа которых не связана с компьютером. Они просто изучали Linux для себя и пришли на курc по DevOps. Но прийти в эту сферу можно откуда угодно: администрирования, тестирования, разработки и т.д. Если есть знания Linux, приходите.

— В чем состоят главные обязанности DevOps-специалиста?

— Все зависит от конкретного проекта.

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

— Говорят, что в вакансиях требования на позицию DevOps-специалиста достаточно размытые и очень разнятся. Так ли это?

— Да, вообще даже неправильно говорить Devops-специалист (об этом я также рассказываю на курсе). Нет четкого описания девопс-специалиста, поэтому и требования такие размытые. Каждая компания вкладывает в эту позицию что-то свое. В большинстве случаев они ищут системного администратора с большим перечнем навыков. Обычно под DevOps-специалистом подразумевается администратор, который знает, как налаживать CI/CD процессы, включающие в себя автоматизацию всего того, чем занимается сисадмин.


Справочно: Айтишное сообщество и правда настороженно относится к тайтлу «DevOps-инженер». Они придерживаются популярного высказывания о том, что «DevOps это не отдельный человек, а целая философия» (методология) и не одобряют фразы вида «DevOps — это должность».


— Насколько DevOps-специалисты востребованы на рынке Беларуси и в мире?

— Так как у меня сейчас есть работа, рынок я не мониторю. Но в LinkedIn, в среднем, раз в неделю мне приходит предложение по работе именно в моей сфере.


По данным на 04.05.2022 — 15 открытых вакансий по DevOps

— С каким трудностями сталкиваются студенты курса?

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

— Как себя замотивировать на старте?

— Я считаю, что работа должна приносить удовольствие, поэтому в первую очередь должно быть интересно. К тому же, это возможность получить работу с хорошим доходом.

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

— Есть ли какая-то литература и полезные ресурсы на эту тему?

— К каждому курсу в IT-Academy есть список полезных ссылок (статьи, видео по теме лекции). Можно смотреть, читать, изучать. DevOps использует различные инструменты, и какой-то одной универсальной книги, которая поможет полностью изучить данную сферу, не существует. Курс по DevOps хорош тем, что помогает структурировать необходимую информацию и изучить те инструменты, которые точно пригодятся в работе.

— Что вам больше всего нравится в DevOps?

— Мне всегда нравилось программировать. И уйдя в администрирование, я первое время даже хотела переучиться на Java-программиста. Хотя в администрировании мне тоже было интересно: разбираться, почему что-то не работает, чинить это или настраивать какую-то сложную конфигурацию. Сейчас моя работа мне очень нравится — в ней есть и администрирование, и программирование. А еще я получаю особый кайф, когда заставляю машину с помощью скриптов делать то, что до этого делала вручную.


Сфера DevOps от тебя всего в 2-х шагах:

Шаг 1. Базовый курс, где тебя научат администрировать Linux.

Шаг 2. Профессиональный курс, где ты научишься писать скрипты по автоматизации процессов сборки, настройки и развертывания программного ПО.


Читай еще

Администрирование Linux — управление «миром без окон»

Системное администрирование или DevOps: что в айти делают сисадмины

Если вы хотите стать девопс-специалистом, с чего следует начинать?


Полная, частичная перепечатка или любое иное использование материалов с сайта IT-Academy разрешается только с указанием активной гиперссылки, ведущей на первоисточник (точный адрес страницы на www.it-academy.by).