Дефицит DevOps-специалистов — реальность. Как найти инженера, чтобы обеспечить бесперебойную работу вашей ИТ-инфраструктуры и ускорить разработку продукта? В этой статье мы сравниваем два подхода: найм штатного DevOps-инженера и аутсорсинг DevOps-команды (DevOps as a Service).

Современные рынки диктуют свои условия: скорость, качество, надежность. DevOps — это методология, которая позволяет компаниям, занимающимся созданием цифровых продуктов, адаптироваться к этим требованиям. Именно поэтому 55% российских ИТ-компаний, согласно опросу «Сферы», делают ставку на эту методологию. Это говорит о том, что российские организации осознают важность DevOps для достижения своих бизнес-целей.

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

Что такое DevOps as a Service?

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

DevOps as a Service (DaaS, DevOps-сопровождение) — это комплекс услуг, выполняемый командой экспертов с глубокой экспертизой в сфере DevOps, направленных на поддержание и развитие ИТ-инфраструктуры и ИТ-процессов, связанных с разработкой и эксплуатацией цифровых продуктов в компании. В России несколько десятков компаний предлагают услугу DevOps as a Service: от крупных облачных провайдеров до небольших стартапов.

DaaS включает в себя:

  • Автоматизацию процессов разработки, тестирования и развертывания (CI/CD).
  • Описание инфраструктуры в виде кода (IaC) для автоматизации процессов работы с ИТ-инфраструктурой и повышения их прозрачности и безопасности.
  • Внедрение контейнерных технологий (Docker, Kubernetes) для повышения гибкости и масштабируемости.
  • Настройку комплексного мониторинга, включая observability (наблюдаемость), алертинг и логирование, для сбора детальных данных о работе инфраструктуры информационных систем.
  • Настройку и управление бэкапами как часть планов аварийного восстановления (disaster recovery) и обеспечения непрерывности бизнеса (business continuity).
  • Интеграцию DevSecOps для обеспечения безопасности на всех этапах жизненного цикла разработки ПО и сокращения расходов связанных с его поддержкой.

Штатный DevOps: плюсы и подводные камни

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

Итак, начнем с плюсов:

  • Штатный DevOps-инженер будет знать все детали вашего проекта, он сможет все починить и исправить в любой момент.
  • Присутствие штатного сотрудника дает вам как руководителю ощущение большего контроля над вашей инфраструктурой.
  • Не нужно искать раз за разом подрядчиков и объяснять им одно и тоже.

Однако, как и у любой медали, у найма штатного сотрудника есть и другая сторона.

Поэтому перейдем к минусам:

Во-первых, это стоит денег. Хороший специалист — это недешевое удовольствие. Особенно если у вас небольшая небольшая компания.

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

А еще, что если он вдруг решит уйти? Все встанет на паузу, пока не найдете ему замену.

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

Но это еще не все. Помимо зарплаты, вам придется платить за поиск этого специалиста, за соцпакет, обучение и развитие и его рабочее место (которое тоже стоит совсем недешево).

И, конечно, никто не застрахован от человеческого фактора. Болезни, отпуска, конфликты — все это может повлиять на работу.

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

И тут у вас может возникнуть вопрос — как быть без своего DevOps’а? Может стоит нанять команду на аутсорс? Мысль неплохая, поэтому сразу перейдем к разбору этого варианта.

DevOps as a service: стоит ли игра свеч?

Почему «да»:

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

Но все же есть парочка «но»:

  • Вам придется довериться подрядчику и его экспертизе.
  • При выборе недобросовестного партнера могут возникнуть проблемы с качеством услуг и сроками выполнения работ.

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

Найм в штат или аутсорс — что же выбрать?

Для наглядности, давайте соберём критерии обоих вариантов в таблице, а выводы вы сделаете сами.

Как выбрать надежного партнера для аутсорсинга DevOps?

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

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

Выбор между наймом DevOps-инженера в штат и аутсорсингом DevOps как услуги зависит от ваших приоритетов и бизнес-целей. Штатный специалист может быть надежным решением для компаний, стремящихся к постоянному контролю и детальному знанию инфраструктуры. Однако это требует значительных инвестиций в подбор, обучение и удержание сотрудника. В то время как DevOps as a Service позволяет гибко масштабировать ресурсы, сократить расходы и сосредоточиться на основных бизнес-задачах, оставив инфраструктуру в руках опытной команды. Какой бы вариант вы ни выбрали, ключевым аспектом остается качество сервиса и надежность команды.

Вячеслав Бессонов, CEO Hilbert Team