DevOps — профессия, которая сегодня востребована во всех крупных компаниях. Поговорили со специалистом из компании Wooppay о том, что именно делают представители этой сферы.
Виталий Цой, 32 года, город — Алматы, системный архитектор, @vittsoy
О том, как пришел в профессию
На третьем курсе университета мы с друзьями открыли фирму по ремонту компьютеров. Через несколько лет работы решил, что хочу развиваться в чем-то другом. Поэтому быстро согласился, когда друг позвал пройти собеседование на тестировщика в Wooppay.
В тестировании проработал несколько лет. За это время изучил систему и внутреннюю кухню. В какой-то момент наш Database administrator уехал в Европу, и мне предложили погрузиться в базы данных. Так я занялся разработкой.
Разрабатывая базы данных, столкнулся с проблемой доставки кода. В этот момент я пришел к профессии DevOps-специалиста. Понял, что решать свои боли как разработчика мне нравится больше, чем писать код.
Зачем нужен DevOps
В небольших проектах разработкой и обслуживанием занимается один человек или команда. В этом случае DevOps не особо полезен. Но в больших компаниях этим занимаются разные люди. Выстраивается сложная система, в которой могут возникать конфликты.
Бывает, разработчики думают, что если код запустился у них локально на компьютере, то все в порядке. Однако в случае возникновения проблем обслуживающая команда считает, что сложность в коде, который необходимо доработать. Пока все это решается, возникают задержки, простои, страдает качество. Основная цель DevOps-специалиста — связать команды разработки и команды эксплуатации.
О работе DevOps-специалиста
DevOps-специалисты заточены на автоматизацию и облегчение работы разработчиков, тестировщиков, системных администраторов.
В мои обязанности входят:
— настройка CI/CD Pipelines. Простыми словами, CI/CD Pipelines — это конвейер, в который подается программный код. Он должен пройти стадию сборки, где собираются все необходимые зависимости и пакуются в контейнер. Затем он запускается и проходит стадию тестирования, на которой запускаются unit-тесты, проверка на ошибки, в результате чего выдается отчет. Далее код передается в тестовую среду или продакшн
— разворачивание инфраструктуры: комплекса серверов и виртуальных машин, необходимых для запуска проекта. На каждом из них располагается определенный сервис, например, база данных, веб-приложение или кэш. Инфраструктура нужна для того, чтобы разработчики, тестировщики и конечные клиенты могли увидеть результаты работы
— автоматизация рутинной работы, любого процесса: сборки приложения, обработки ошибок, сверки.
В среднем хороший DevOps-специалист может получать 2000-3000 $ в месяц
Преимущества работы в этой области — постоянное развитие, изучение новых инструментов и технологий. Вся моя работа направлена на то, чтобы помочь коллегам, сделать их жизнь проще.
При этом нужно быть стрессоустойчивым, так как часто сталкиваешься с форс-мажорами.
DevOps-специалисты востребованы в любых компаниях, которые разрабатывают сложные продукты. В среднем хороший специалист может получать 2000-3000 $ в месяц.
Что должен знать специалист
Условно можно разделить умения DevOps-специалиста на три направления:
Build/release. Умение настраивать CI/CD. Это может быть Gitlab-Ci, Jenkins. Нужно знать, как работать с Git, читать логи, настраивать Web-серверы, системы управления базами данных.
Automation. Умение автоматизировать процессы. Workflow, сборки, тестирование. Для этого нужно знать языки программирования, такие как Python, Bash, Go.
Infrastructure. Умение работать с инфраструктурой. Тут пригодится Docker, Docker-Compose, K8s.
Советы начинающим
Не стоит изучать все и сразу. Начните с одного инструмента в каждой области и развивайте навыки в нем.
Нужно быть уверенным в уровне своих знаний и проявлять настойчивость. Специалиста ценят за его умения. Не нужно бояться начинать с «низов». Пробовать можно разные варианты.