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

В современных ИТ-компаниях DevOps уже давно перестала быть просто прихотью руководства. Теперь это 一 критически важная функция. Как минимум по той причине, что за последние несколько лет значительно выросли требования к скорости разработки, стабильности и безопасности, которые не так-то просто обеспечить.

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

DevOps в штате

Любой вариант DevOps нужно рассматривать с позиции того, что получает бизнес. Особенно, когда речь идет о выборе между in-house и outsourcing-вариантами. Итак, какие же преимущества будут у штатного варианта DevOps?

  • Полное погружение и быстрая реакция на инциденты. Логично, что когда у вас в штате есть постоянный сотрудник, который работает с одним и тем же проектом, он знает обо всех тонкостях и нюансах процессов, что позволяет ему быстро реагировать и принимать необходимые решения.
  • Уровень доверия гораздо выше. То, что штатному DevOps-инженеру компании доверяют значительно больше и меньше нагружают разнообразным контролем, 一 действительно реальность, а не просто миф.
  • Дешевле. Несмотря на среднюю вилку зарплат в 3-7+ тыс. долл./месяц в зависимости от региона, для некоторых бизнесов оказывается гораздо проще нанять свою команду и долгосрочно инвестировать в нее, чем регулярно обращаться к сторонним компаниям.
  • Формирование внутренней экспертизы. Да, на обучение сотрудника придется потратить как время, так и средства. Но, если набраться терпения, то в дальнейшем под рукой всегда будет тот, в чьей экспертизе относительно рассматриваемой задачи или их комплекса вы сомневаться точно не будете.

Но одними только преимуществами дело не ограничивается. Есть и минусы:

  • Риск взращивания «ключевого сотрудника». Когда в штате компании есть специалист, который глубоко погружен во все основные процессы и выполняет большую часть задач, то с высокой долей вероятности он станет тем сотрудником, от которого фактически будет зависеть вся инфраструктура. Ведь только он один будет иметь понимание того, как она работает. Практика показывает, что такие кадры быстро выгорают, устают и начинают диктовать бизнесу свои правила, потому что осознают, насколько сильно компания от них зависит.
  • Длительный онбординг и период адаптации. Современные тенденции рынка показывают, что, в среднем, каждые 3-4 года потребуется искать нового DevOps-инженера. Вместе с этим придется каждый раз заново налаживать систему передачи дел и знаний, а также процессы взаимодействия внутри команды.
  • Серьезные траты ресурсов и времени на поиск сотрудников. Здесь свою роль играет и дефицит специалистов на рынке, и особенности DevOps-инженеров, которые HR приходится учитывать при найме. Например, на сбор команды из четырех специалистов уровня Senior при средней вилке зарплат может уйти до одного месяца при позитивном раскладе. Бывают и более удручающие сроки — до восьми месяцев тратят некоторые компании на то, чтобы отыскать кандидатов, которые не только будут соответствовать по профессиональному уровню и опыту, но и подходить по характеру и образу мышления уже устоявшемуся коллективу.
  • Несоизмеримый уровень ответственности сотрудника и компании. Предположим, что произошла утечка информации. В таком случае виновному в этом специалисту физически нереально будет выплатить компенсацию. В отличие от несущей материальную ответственность сторонней компании.

Аутсорсинг DevOps

Противоположностью штатного варинат DevOps выступают аутсорсинг-услуги. И если в России руководители еще выбирают между этими вариантами, рассматривая их в равной степени, то на Западе большинство бизнесов спокойно делегируют DevOps «на сторону». Рассмотрим достоинства данного решения:

  • Гибкая стоимость. Дело в том, что у аутсорсинг-услуг стоимость не фиксированная. Фактически она зависит от реального объема проделанной работы и количества потраченных на нее часов.
  • Быстрый старт. Если вам нужно быстро и срочно масштабировать команду, тот аутсорсинг 一 идеальный, динамичный вариант, который не приведет к застоям в проекте.
  • Доступ к лучшим практикам и накопленной экспертизе подрядчиков. Вместо того, чтобы неделю ждать, пока штатный специалист освоит новую для себя методику, можно воспользоваться услугами приглашенного DevOps-инженера, который уже работал с ней и справится со всем буквально за 8 часов.
  • Свежий взгляд. Только-только вошедший в проект специалист оценивает его совершенно трезвым и незамутненным взглядом, что позволяет ему проанализировать его более вдумчиво и отвлеченно, нежели это сделает кто-то из команды, у которого уже «замылился глаз».

Как и у in-house DevOps, у аутсорсинга есть свои минусы, которые стоит учитывать:

  • Меньше контроля и доверия. Одно плавно вытекает из другого. Многим руководителям психологически тяжело отдать свой проект в руки какой-то сторонней компании, даже если им обещают регулярные отчеты и строжайшее соблюдение всех правил.
  • Нужно детальное ТЗ. В отличие от глубоко погруженного в инфраструктуру штатного DevOps-инженера, специалистам со стороны понадобится четкое и внятное техническое задание, которое позволит им быстро интегрироваться и приступить к работе.
  • Возможны сложности в коммуникациях. 50% работы в ИТ 一 именно коммуникации. И здесь никак не исключить человеческий фактор, который является общим и для in-house, и для outsource.

Сравнение затрат: in-house vs. outsource

Средняя стоимость DevOps-инженера в штате (middle+/senior)

Стоимость аутсорсинга DevOps на 20/40/80 часов в месяц

300 тыс. руб. на руки

20 часов*3700 руб. в час=74 тыс. руб.

40 часов*3300 руб. в час=132 тыс. руб.

80 часов*3000 руб. в час=240 тыс. руб.

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

Давайте немного посчитаем те самые скрытые расходы на in-house. Предположим, что в компании есть рядовой DevOps-инженер, средняя зарплата которого на руки в месяц составляет около 245 тыс. руб. Но с учетом НДФЛ мы получаем не 245, а уже 276 тыс. в месяц. Сюда же добавим ПФ/ФСС/ФОМС в размере 30%, а также не забудем про затраты на найм и получим около 372 тыс. Прибавим риск, который можно оценить при вводных данных в 45 тыс., вычтем 10% отпускных и добавим расходы на корпоративные траты и отпуск. Наша финальная сумма, которую потребуется потратить на in-house специалиста составит около 500 тыс. руб.

Что выбрать?

Предположим, что вы работаете с серьезным ИТ-продуктом, через который проходят значительные суммы и на который вам нужно 2-3 специалиста, то выбор лучше сделать в пользу in-house сотрудников. Так как 2-3 человека 一 это хорошая, сильная и устоявшаяся команда, то при попытке ее усилить с определенной долей вероятности можно наткнуться на прямо противоположный положительному эффект. То же самое касается и тех случаев, когда речь идет о критической инфраструктуре, с которой не стоит сильно экспериментировать.

А вот в случае со стартапами и прочими проектами, нагрузка по которым пока не стабильна и не равняется традиционным 40 часам в неделю, лучше все-таки обратить к аутсорсингу DevOps. Сторонний провайдер сможет предоставить вам грамотного middle- или senior-специалиста, который 20 часов будет уделять вам, а еще 20 一 какому-либо другому проекту.

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

При этом комбинации могут быть разными:

  • 2-3 штатных сотрудника и один специалист на аутсорсинге, который может по-новому взглянуть на проект и привнести решения, которые являются неочевидными для уже устоявшейся команды.
  • Один DevOps-инженер в штате и 2-3 специалиста ему в помощь — один человек вряд ли вытянет на себе все дедлайны. Особенно, если речь идет о быстром масштабировании. В таком случае эффективно будет усилить штатного сотрудника DevOps-инженерами на аутсорсинге, один из которых возьмет на себя CI/CD-пайплайны, второй — инфраструктуру в виде баз данных, а третий — мониторинг. Это позволит повысить результативность, так как внимание будет сосредоточено на конкретном контексте. Итого, четыре DevOps-инженера смогут построить продакшн за неделю, вместо целого месяца.

Итоги

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

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

В завершении, если вы уже пользуетесь аутсорсинг-услугами, предлагаем краткий чек-лист из пяти пунктов на тему «Вам пора нанимать штатного DevOps, если...»:

  1. Среднее количество рабочих часов в неделю приближается к 40.
  2. В проектах применяются одни и те же технологии и инструменты.
  3. Аутсорсинг-компании затягивают сроки и не предоставляют полную отчетность о своих действиях.
  4. Среди аутсорсинг-инженеров наблюдается серьезная текучка, из-за чего команда не может стабилизироваться.
  5. Хочется иметь в команде DevOps-инженера, который всегда будет «под рукой» и сможет оперативно разобраться с вопросом.

Михаил Коробка, директор по развитию компании Infoscale