В последнее время в IT-сфере наблюдается серьезная заинтересованность DevOps-инженерами. Так рынок отреагировал на потребность, по сути, в системных администраторах, отвечающих за поставку. А все потому, что ИТ-сектор начал активно вникать в процессы быстрой разработки, Continuous Integration (дословно «непрерывной интеграции»), максимально быстром выпуске версий приложений и их обновлений. Так, девопс — это более узкая специализация системного администратора на ряду с сетевым или администратором базы данных, в которую можно развиться System Administrator.
Как и зачем это делать, рассказал Кирилл Штрыков, DevOps Lead IT-компании IDF Technology. Почти 7 лет назад Кирилл пришел системным администратором в команду рефакторинга и благодаря специфике работы стал интересоваться автоматизацией и выстраиванием процессов Continuous Integration Delivery. Через несколько лет он начал выполнять DevOps-задачи. Сегодня он возглавляет девопс-команду IDF Technology.
— Кирилл, расскажи, чем отличается DevOps Engineer от System Administrator?
— Нельзя забывать, что DevOps — это все же методология, и любой администратор, как и разработчик, может придерживаться ее. Если же говорить конкретно про DevOps Engineer, то у него сильнее «прокачана» ветка разработчика, и он чуть больше делает упор на «автоматизировать все». Также DevOps Engineer должен быть в курсе продукта компании, знать его немного изнутри, хотя бы понимать, как оно там все собирается и взаимодействует «под капотом», что для системного администратора может быть не обязательно.
— Тогда чему нужно обучиться «админу», чтобы стать DevOps’ом?
— В первую очередь, нужно изучить методологию DevOps, вникнуть в такие понятия, как Continuous Integration и Continuous Delivery. Затем подтянуть «Dev», так как у System Engineer обычно все хорошо по части «Ops», а вот разработка чаще всего сводится к bash-скриптам. Также неплохо узнать какие-нибудь инструменты DevOps, если не сталкивался с ними раньше — Ansible, Terraform, GitLab CI, Jenkins, TeamCity.
— Поделись своим опытом перехода.
— Я в эту тему заходил немного «сбоку». Будучи системным администратором, я попал в отдел рефакторинга, где крутые ребята делали крутые вещи. Я и до этого любил изучать новые технологии, смотреть во всякие интересные инструменты автоматизации и изучать языки. На тот момент я уже имел представление про Puppet, Chef, Ansible и успел немного с ними поработать. Знал, что такое Jenkins и имел опыт написания пайплайнов. Также немного знал PHP, Perl, Ruby и Python. Единственное, чего я не знал, — что такое «девопс». Оказалось, что уже некоторое время я, если и не двигался, то «лежал» в сторону DevOps. В рефакторинге же все происходило очень стремительно — только успевай впитывать новые знания.
— Что бы ты посоветовал тем, кто тоже хочет «двигаться» в сторону DevOps?
— Наверное, в первую очередь, учите языки программирования. Как правило, у системных администраторов есть сложности с Development при очень серьезном бэке Operations. Поэтому нужно прокачивать скиллы разработки. А еще важно мыслить с точки зрения «если тебе нужно будет сделать это еще раз — опиши это кодом».
— А что насчет «софт скиллов»?
— Тут у администраторов обычно тоже все очень хорошо. Особенно у тех, кто начинал в роли L1 и саппорта. Я имею в виду коммуникации, так как задачи девопсов состоят не только из написания кода, но и общения: понять, что хотят получить в итоге, для кого этот результат важен и кто может сказать в конце концов, что все сделано верно и задача была правильно понята.
Горячие темы