Администратор DevOps: роль и обязанности | nt.ua

Администратор DevOps: роль и обязанности

devops-admin

Каждая компания, стремящаяся нанять на работу специалиста, предъявляет свои требования к кандидатам на должность. И очень часто кандидаты не совсем понимают, какого именно специалиста ищут рекрутеры, и что от них ожидают, после принятия на работу.

Мы подготовили специальную статью для тех, кто планирует стать администратором DevOps, и пока не до конца понимает, чем занимается данный специалист.

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

Узнайте о том, что значит работать в роли DevOps, от специалистов Мэтью Грасбергера (инженера DevOps в Imperfect Foods) и Мирко Херинга (руководителя глобальной трансформации в Accenture).

Универсальная квалификация

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

Обязанности администратора DevOps могут отличаться в зависимости от занимаемой должности (junior, middle, senior), однако существуют и одинаковые требования, касающиеся всех должностей. Например, для должности senior требуется больше лет опыта, чем для junior, но обе должности требуют наличия степени бакалавра в области информатики или смежной отрасли.

Рассмотрим подробнее, какие нужны знания по мнению Мэтью Грасбергера и Мирко Херинга, чтобы стать опытным администратором devops.

Мирко Херинг перечислил три важнейших навыка, которые должен иметь администратор DevOps:

1. Способность учиться

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

2. Автоматизация

Автоматизация в DevOps – это общий навык, необходимый всем администраторам DevOps. Большинство специалистов, с которыми работает Херинг, не имеют проблем с переходом из Jenkins в DevOps. Они понимают, как работает автоматизация, как нужно абстрагировать переменные, как нужно думать об использовании конфигурации для всего, а не жесткого кодирования.

3. Узкая специализация

Важно иметь не только общие знания и желание учиться, но и навыки, опыт и умение использовать такой инструмент или платформу, как Azure DevOps, Ansible или Terraform.

Обязанности

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

И хотя стек приложений может меняться от компании к компании, администраторам необходимо иметь опыт работы с различными популярными языками программирования. Вместо того чтобы специализироваться на одном языке сценариев, администратор DevOps должен быть знаком с несколькими языками, такими как Java, JavaScript, Ruby, Python, PHP, Bash и другими. А также должен чувствовать себя комфортно при написании кода и устранении проблем используя любой из перечисленных языков.

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

Облачные технологии

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

Мирко Херинг вспоминает, что несколько лет назад одной из основных задач инженеров или администраторов DevOps было создание и поддержка конвейеров CD (непрерывного развертывания). Чтобы выполнить эту задачу, специалисты должны были владеть такими инструментами и концептами, как Jenkins, автоматизация, Perl и Bash.

Сегодня компании все чаще пользуются услугами Microsoft Azure, Google Cloud или любого другого из доступных облачных провайдеров, поэтому администраторы DevOps начали больше работать с облачными решениями, — отмечает Грасбергер.

Хотя каждый облачный провайдер имеет свои тонкости работы, все они имеют и общие характеристики. Например, эти провайдеры используют языки программирования, API и контейнеры. Поэтому, чтобы стать опытным специалистом, нужно иметь общее представление о работе облаков и уметь работать с любой платформой. Вот почему так важно иметь навыки работы с платформой Azure DevOps или с такими альтернативами как AWS или Google.

За последние несколько лет Грасбергер также наблюдает рост использования контейнеризации. В настоящее время использование Docker, по крайней мере во многих компаниях, является де-факто стандартом для разработки многих приложений. Поэтому эти компании переходят на Kubernetes, Elastic Container Service и многих других провайдеров, и нуждаются в специалистах, способных работать с контейнерами Docker.

Инфраструктура как код

Инструменты «инфраструктуры как кода» чрезвычайно популярны, и на это есть веские причины, отмечает Грасбергер, поскольку без них очень трудно понять и отследить, что происходит с инфраструктурой компании. Компании стартапы, стремящиеся как можно быстрее приступить к работе, могут не беспокоиться об отслеживании изменений, но крупные организации должны отслеживать эти изменения и их влияние на настройки облака, пояснил он. Администраторы devops должны уметь пользоваться популярными инструментами «инфраструктуры как кода», такими как Terraform, и альтернативными, такими как шаблоны Ansible и ARM.

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

Анализ данных

Херинг считает умение анализировать и использовать данные для принятия решений – особенно показателей платформ и программ DevOps – одним из следующих шагов в развитии роли администратора DevOps. Это может быть решение об активном восстановлении безопасности и защите от уязвимостей, чтобы уберечь компанию от проблемы, когда возникнет такая уязвимость как Log4J, и тогда придется очень быстро исправлять ее повсюду. Также, администраторы должны исследовать, как данные используются программами, чтобы увидеть, какие компоненты более нагружены, чем другие, и вовремя принять меры по переносу нагрузки.

Для специалистов, желающих углубить свои знания DevOps, мы предлагаем следующие курсы:

  • для продвинутых:

Курс AZ-400T00 Разработка и внедрение решений Microsoft DevOps

  • как дополнение:

Курс NT-Docker Контейнеризация и управление на платформе Docker

Курс NT-AWS-A Администрирование AWS