Внедрение методологии DevOps — это тренд современных компаний по разработке программного обеспечения. Если компания-разработчик, хочет получать качественный продукт, соответствующий требованиям технического задания в установленный срок — DevOps-практика будет безусловной составляющей процесса разработки.
Мы в EFSOL считаем, использование такой методологии и инструментов, требует наличие квалифицированных специалистов в команде разработки. На этапе формирования команды ставится один из важнейших вопросов — нанимать в штат и развивать свою DevOps-команду или обратиться к партнеру, который предоставит специалистов на аутсорсинг. Оба эти варианта имеют свои положительные и отрицательные стороны и, безусловно, выбор должен быть сделан осознанно.
Плюсы и минусы собственной DevOps команды и аутсорсинга
Особенности работы с DevOps-командой на аутсорсинге
1. Широкий набор компетенций команды и опыт на различных проектах
Штатный специалист или даже несколько, не смогут покрыть своими знаниями и опытом тот спектр технологий, практик и инструментов, которым обладает аутсорсинговая компания, а это значит, что при построении и проектировании системы будут учтены все лучшие практики, которые могут быть на рынки на текущий момент времени и кроме того, зачастую, уже проверенные на практике специалистами аутсорсинговой компании.
2. Отсутствие расходов на RnD, прогнозируемые затраты на реализацию новых проектов
Работая с аутсорсинговой компанией вы можете прогнозируемо по времени и финансовым затратам масштабировать команду, усиливать ее теми или иными специалистами из разных сфер знаний и практик, таким образом, вы практически нивелируете стадию RnD, когда штатный специалист утверждает, что ему необходимо достаточно большое время на изучение технологии или инструмента и его тестировании в работе.
3. Прогнозируемый SLA на выполнение задач и их обработку
Работая с компанией аутсорсером, вы подписываете соглашение о качестве обслуживания, или SLA, что позволит Вам не только формировать ожидания по решения практических всех задач, но и выстроить четкий процесс работы продукта, что очень сложно в противоположном случае со штатным специалистом, поскольку мало кто из штатных специалистов знакомы с ITIK и будут рады внедрения KPI.
4. Вероятность покрытия убытков
В случае нарушения SLA или халатности со стороны компании-аутсорсера, последняя готова будет сделать существенную скидку до 50% на оговоренный срок ради сохранения клиента и своей репутации, что в долгосрочной перспективе принесет аутсорсеру выгоду, тогда как локальный специалист не будет готов на продолжительный период расстаться с львиной долей зарплаты. Ему проще сменить работодателя.
5. Взаимозаменяемость и кадровые изменения
Важно понимать, что любые кадровый изменения к команде аутсорсинговой компании никак не влияют на качество предоставления услуг: отпуск ли это, больничный или уход специалиста из команды — компания аутсорсер обеспечит необходимую отгрузку по подписанному SLA, тогда как со штатными специалистами — это головная боль ТОП менеджмента.
Особенности работы со штатными DevOps-специалистами
1. Скорость реагирования на инциденты
Считается, что поскольку штатный специалист находится рядом с пользователями, он быстрее решит возникшие проблемы. С этим сложно не согласится, но компания-аутсорсер строит процесс таким образом, чтобы сбоев либо не было, либо сбой не приводил к остановке ИТ-инфраструктуры, использует системы мониторинга, которые позволяют реагировать проактивно на инциденты, т. е. предотвращать их.
2. Независимость оплаты от объема предоставляемых услуг
Наличие DevOps-инженера предполагает, что он уже получает какую-то зарплату и увеличение количества сервисов никак не повлияет на уровень его дохода, тогда как компания-аутсорсер тарифицирует свои услуги чаще всего за единицу потраченного времени. Аргумент бесспорный, но до поры до времени, поскольку может наступить момент, когда инженер перестанет справляться с валом инцидентов и перед ТОП-менеджментом станет довольно важный вопрос об открытии еще одной вакансии DevOps-инженера, что увеличит ФОТ в два раза. Тогда как у компании аутсорсера такие затраты увеличиваются постепенно и предсказуемо.
3. Расходы, связанные со штатными единицами (налоги на ФОТ, отпуск, больничные, развитие и соц. бонусы)
Бесспорный факт, что аутсорсинговая компания уменьшает налог на прибыль, а штатные сотрудники увеличивают налоговые обязательства и безусловно, когда необходимо сравнивать затраты на аутсорсинговую компанию со штатными специалистами, обязательно нужно к затратам на штатных сотрудников добавлять чуть ли не 40% к сумме зарплаты каждого.
4. Контролируемость команды, ее времени и задач и их приоритета
Обычно, работодатель располагает 100% времени своего штатного сотрудника и может оперативно направлять рабочее время специалиста в нужно ему или компании русло, а у компании аутсорсера, есть SLA, сроки реакции и уже оговоренные приоритеты, часы выработки и графики. Но это совсем не значит, что заказчик не может оперативно сменить вектор или повысить срок той или иной задачи, но определенный временной лаг безусловно есть.
5. Высокая конфиденциальность данных, финансовые данные или эксклюзивные технологии и риски связанные с их утечкой
Считается, что передача на обслуживание ИТ-структуры или кода сторонней компанией менее безопасно, чем предоставлять такой же доступ штатным сотрудникам. Это мнение имеет прав на существование, но с учетом подписания NDA и работы с компанией подрядчиком с узнаваемым именем на рынке, риск утечки конфиденциальной информации гораздо ниже, чем со штатными специалистами, поскольку:
1) В аутсорсинговой компании налажены базовые процессы информационной безопасности.
2) Такая компания дорожит репутацией на рынке и предпримет все возможные меры по недопущению ситуаций, компрометирующих эту репутацию.
Полезные статьи:
1. Как выбрать стек технологий в сфере DevOps?
2. Как защитить корпоративные данные от изъятия?
3. Как мы заставили Hyper-V работать стабильно