Как перейти в DevOps: путь к профессиональному росту
Автор статьи — IT-эксперт Питер Мерфи.


Практики DevOps объединяют разработку программного обеспечения (Development) и его эксплуатацию (Operations). Цель DevOps — сделать жизненный цикл разработки ПО (англ. Software Development Life Cycle, SDLC) более гибким и быстрым. В итоге выигрывают все: команды, компании и клиенты. Поэтому для специалистов, которые задумываются о дальнейшем развитии карьеры, DevOps — один из возможных вариантов.
Этот путь может показаться сложным, но все возможно, если составить хороший план и наметить цели.
Как подготовиться к переходу в DevOps
Независимо от того, собираетесь ли вы начать с нуля карьеру в DevOps, или же перейти из какой-то смежной сферы, нужно четко понимать, что делать и с чего вообще начать. Ниже разберем основные этапы перехода.
Оцените свой опыт
Первый шаг — оценить свой профессиональный бэкграунд. Например, полезным будет опыт работы в качестве разработчика, администратора баз данных или системного инженера. Поэтому так важно определить, насколько ваши актуальные знания и навыки соответствуют желаемой должности, а что стоит изучить.
Изучите необходимые технологии
Есть ряд технологий и инструментов, которые нужно изучить DevOps-инженеру. К основным можно отнести:
- Операционные системы: Linux, Windows
- Облачные платформы: Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform
- Инструменты и платформы для контейнеризации: Docker, Kubernetes, LXC
- Технологии автоматизации: управление исходным кодом (SCM), Ansible, Puppet, Chef, Selenium
- Инструменты управления версиями: Git, Jenkins, Maven
- Средства мониторинга: Nagios, Splunk
- Средства автоматизированного тестирования: Mabl, Xray, Mend
Развивайте технические навыки
Для перехода в новую роль важно приобрести необходимые технические навыки. Для начала рекомендуем больше узнать о профессиональном сленге DevOps-инженеров. Это поможет ближе познакомиться с культурой DevOps, а также даст общее понимание о пользе, которую компании могут получить, применяя эту методологию и ее принципы.
В зависимости от той или иной роли DevOps-инженера, требования к специалисту могут несколько отличаться, но есть общие технические навыки, которые стоит развивать:
- Скриптовые и языковые навыки: Java, Python, Go, Ruby, C, C++, Bash, PowerShell, Node.js
- Тестирование
- Непрерывная интеграция и доставка (CI/CD)
- Интеграция систем
- Автоматизация
- Облачная инфраструктура
- Контейнеризация
- Обслуживание и поддержка системы: устранение неполадок, исправление ошибок
- Навыки в области безопасности: анализ кода, устранение угроз, управление изменениями, оценка уязвимостей
А список полезных книг для начинающих инженеров DevOps можно посмотреть в этой статье.
Получите сертификаты DevOps
Профессиональный сертификат — это подтверждение того, что вы знаете и понимаете важные аспекты процесса разработки, а также основные методы и другие компоненты DevOps.
Вот несколько вариантов сертификатов, которые стоит рассмотреть:
- AWS Certified DevOps Engineer Professional
- Certified Kubernetes Administrator
- Certified Kubernetes Application Developer
- Docker Certified Associate
- IBM DevOps and Software Engineering Professional Certificate
- Microsoft Certified DevOps Engineer Expert
- Puppet Certified Professional
Переход к DevOps в рамках компании
Компаниям, которые хотят внедрить методологию DevOps, в первую очередь важно подготовить правильную стратегию. Ведь DevOps — это не только про изменение используемых технологий и процессов разработки, но также и про изменение культуры.
На уровне компании переход к DevOps состоит из нескольких основных этапов.
Выберите пилотный проект
Чтобы переходный период проходил максимально незаметно, важно держать процесс под контролем. Для начала в качестве тестового запуска можно выбрать небольшой пилотный проект. Это позволяет наглядно показать ценность методологии, а также устранить ошибки тогда, когда их воздействие минимально, — и сделать это до расширения проекта.
Используйте облачную инфраструктуру
Облачная инфраструктура помогает снизить задержки и повысить доступность ресурсов, что, помимо прочих преимуществ, полностью соответствует задачам DevOps. Кроме того, облачные системы обычно масштабируемы и позволяют компаниям централизовать управление: в результате создается единая платформа, которую специалисты могут использовать для развертывания, интеграции, тестирования и релиза приложений.
Выбор подходящего облачного провайдера зависит от конкретных потребностей компании. Самые популярные варианты — AWS, Microsoft Azure и Google Cloud Platform.
Инвестируйте в обучение команды
Очевидно, что у разработчиков и других специалистов в команде должны быть технические навыки. Но чтобы успешно использовать лучшие практики DevOps, важно познакомить коллег с культурой и философией DevOps, чтобы у всех было четкое понимание методологии и ее ценности. И лучше всего это сделать до запуска проекта.
Не стоит пренебрегать и повышением квалификации специалистов, чтобы они могли овладеть новыми технологиями, которые планируется применять в работе. Это значительно уменьшит риск того, что проект придется продлевать из-за ограниченных технических знаний команды в различных областях.
Выделите конкретный бюджет
Определите, сколько должен стоить выбранный проект, и добавьте некоторую сумму на непредвиденные расходы. Также разумно предусмотреть механизмы, которые предотвращают расширение масштабов проекта: из-за большого количества изменений в процессе он может стать намного дороже, чем изначально планировалось.
Используйте правильные инструменты
Перед запуском проекта убедитесь, что у команды есть доступ ко всем инструментам, которые могут понадобиться.
Полезными будут Git, Kubernetes, Docker, Jenkins, Splunk и т. д., однако важно удостовериться, что выбранные инструменты не только решают необходимые задачи, но и совместимы. В то же время выбранные решения не должны дублироваться и выполнять одинаковые функции: ограничение набора инструментов может повысить эффективность.
Еще один ключевой компонент DevOps — эффективная коммуникация. Здесь помогут платформы (приложения) для общения и совместной работы.
Обратите внимание на безопасность
С переходом к DevOps компании обычно внедряют новые технологии и изменяют процессы. Это отражается и на безопасности: как правило, для защиты систем, приложений и данных также необходимы новые процедуры и механизмы. Поэтому следует сразу же уделить должное внимание вопросу безопасности, чтобы в дальнейшем избежать возможных проблем и рисков.
Как измерить, успешен ли переход компании к DevOps?
Чтобы определить эффективность перехода, можно отслеживать конкретные метрики. Они должны соответствовать задачам, к решению которых и должны привести изменения.
Вот список некоторых метрик:
- Частота развертывания
- Время внесения изменений
- Среднее время восстановления
- Частота отказов
- Пройденные автотесты
- Скорость исправления инцидента
Важную роль играет правильная коммуникация: она способствует продуктивному сотрудничеству, в результате которого достигаются общие цели.
Поиск работы в области DevOps
Итак, знания и навыки есть, а что делать дальше? Первый шаг — обновить CV и убедиться в том, что его содержание соответствует желаемой должности. Затем стоит поупражняться в ответах на типовые вопросы на собеседованиях, чтобы чувствовать себя уверенно.
И, наконец, пора приступить к поиску работы. Здесь есть несколько вариантов: использовать потенциал профессиональных соцсетей, отслеживать вакансии на специализированных ресурсах или же напрямую общаться с рекрутерами, чтобы получить доступ к большему числу возможностей.
Заключение
DevOps открывает новые возможности как для отдельных специалистов, так и для организаций. Профессионалы, владеющие правильными навыками, очень востребованы на рынке. В то же время компаниям эта методология дает значительные преимущества в организации рабочих процессов и их эффективности.
Главное — убедиться, что вы готовы к переходу, и составить четкий план с подробными шагами, которые приведут к желаемому результату.