Услуги сопровождения и аутсорсинга в области разработки и эксплуатации

Михаил Светлов Автор статьи

Услуги сопровождения и аутсорсинга в области разработки и эксплуатации — это передача сторонней компании задач по созданию, развёртыванию, настройке и поддержке программного обеспечения, а также управлению серверной инфраструктурой. В отличие от классического программирования (написание кода), здесь акцент делается на автоматизацию процессов, обеспечение безотказной работы и быстрое выпуск обновлений.

Какие задачи решаются

Настройка среды разработки. Специалисты создают единое пространство, где программисты пишут код, тестируют его и собирают в готовый продукт. Автоматизируют проверку качества (тесты запускаются без участия человека). Настраивают системы хранения версий кода, чтобы несколько разработчиков могли работать над проектом одновременно, не мешая друг другу.

Развёртывание приложений. Автоматический перенос программы с компьютера разработчика на сервер, где она будет работать. При этом настройки для разных этапов (тестирование, предварительный выпуск, работа с реальными пользователями) могут отличаться, и всё это управляется централизованно.

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

Обслуживание серверов. Установка обновлений безопасности, замена жёстких дисков при износе, добавление вычислительных мощностей при росте нагрузки. Это может выполняться на физических серверах в дата-центре или в облачной среде (аренда мощностей у провайдера).

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

Что входит в сопровождение

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

Управление конфигурациями. Настройки всех серверов хранятся в виде кода. Это позволяет за 5 минут развернуть новый сервер, идентичный существующему, или откатить изменения, если что-то сломалось.

Обновление без остановки работы. Новую версию приложения можно выпускать, не выключая старое. Сначала обновляется один сервер из десяти, проверяется, что всё работает, затем остальные.

Анализ журналов событий. Система собирает все записи об ошибках, предупреждениях и действиях пользователей. При возникновении сбоя специалист по журналам видит последовательность событий, приведшую к проблеме.

Работа с уязвимостями. Регулярное сканирование серверов на наличие известных дыр в безопасности. Установка исправлений в автоматическом или полуавтоматическом режиме.

Формы оказания услуг

Полный аутсорсинг. Заказчик передаёт подрядчику всю инфраструктуру: серверы, базы данных, сети, резервное копирование. Сам заказчик занимается только разработкой приложения. Подходит для стартапов и малых компаний, у которых нет своего системного администратора.

Частичный аутсорсинг. Часть задач остаётся у штатных сотрудников, часть передаётся на сторону. Например, штатный администратор управляет серверами в рабочее время 5/2, а аутсорсер берёт на себя дежурство в ночные смены и выходные. Или штатники настраивают среду разработки, а развёртывание приложений и мониторинг переданы подрядчику.

Сопровождение проектов (непрерывная поддержка). Команда подрядчика включается в процесс разработки заказчика на постоянной основе. Специалисты работают в той же системе управления задачами, участвуют в совещаниях, обсуждают архитектуру. Отличается от аутсорсинга тем, что задачи ставятся итеративно (каждую неделю или две), а не разовым проектом.

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

Преимущества для заказчика

Экономия на зарплатах. Нанимать одного специалиста на полную ставку (а в идеале нескольких для подмены) дороже, чем платить по договору за фактические часы работы.

Доступ к редким знаниям. Не нужно обучать своих сотрудников новым технологиям — подрядчик уже имеет нужные сертификаты и опыт работы с конкретным инструментом.

Круглосуточное дежурство. Сторонняя компания может организовать поддержку 24/7, тогда как своих сотрудников заставлять работать по ночам сложно и дорого.

Масштабирование по требованию. В сезон распродаж нужны дополнительные мощности и больше дежурных — аутсорсер легко выделит их. После спада нагрузки ресурсы сокращают.

Риски и ограничения

Доступ к данным. Передача прав на серверы и базы данных сторонней компании всегда несёт риск утечки. Договор должен быть составлен юристами, ответственность за инциденты прописана явно.

Потеря компетенций внутри компании. Если постоянно пользоваться аутсорсингом, свои сотрудники могут растерять навыки эксплуатации и настройки инфраструктуры. При расторжении договора вы останетесь без специалистов.

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

Несовместимость инструментов. У вас с аутсорсером могут быть разные системы учёта задач, разные практики контроля версий, разные средства мониторинга. Интеграция потребует времени и денег.

Как выбрать подрядчика

Проверьте опыт. Спросите, сколько проектов по сопровождению и эксплуатации они вели в прошлом году. Попросите контакты клиентов, у которых аналогичная инфраструктура.

Оцените технологии. Ваш стек (операционная система, язык программирования, база данных) должен быть знаком подрядчику. Если он использует другие инструменты, потребуется время на переобучение.

Оговорите время реакции. В договоре должно быть прописано, через сколько минут после аварии вы получите первого специалиста на линии. Стандарт для бизнес-систем — 15–30 минут в рабочее время и 1–2 часа ночью.

Уточните порядок передачи дел. Как будут переданы пароли, доступы, документация. Кто отвечает за сохранность данных при смене подрядчика. Есть ли инструкции по восстановлению после сбоя.

Требуйте отчётности. Провайдер обязан предоставлять ежемесячный отчёт: количество инцидентов, время решения, причины сбоев, предложения по улучшению.

Есть жалобы? Канал для добрых казанцев, которых вывели из себя. Делитеcь тем, что вас разозлило: Злой Казанец