Клиент позвонил в понедельник в 9 утра. Голос спокойный, но в нём чувствуется железо: «У нас сайт не работает уже двое суток. В пятницу после вашего деплоя всё сломалось, мы пытались чинить — не получилось. Что делать?»
Ситуация: малый бизнес, команда из четырёх человек, один разработчик, который «сам разберётся». CI/CD не настроен. Деплой — вручную, по FTP, как в 2015 году. Стейджинга нет. Бэкапы — раз в неделю, в пятницу вечером.
В пятницу в 18:00 разработчик запушил три изменения сразу. Одно из них зацепило модуль обработки заказов. Ошибка в коде. Деплой упал на полпути. Разработчик откатил коммит — сайт вернулся. Но что-то внутри осталось сломанным — и никто не заметил, потому что «вроде работает».
Что произошло за выходные
Суббота: клиенты звонят, пишут — заказы не проходят, форма обратной связи выдаёт ошибку. В воскресенье владелец бизнеса попробовал зайти в админку — пустой экран. CRM перестала принимать новые заявки. Команда вызвала разработчика. Три часа удалённой отладки. В понедельник утром всё заработало — но часть данных за субботу-воскресенье была потеряна.
Цена вопроса: два дня простоя, ночная работа разработчика (двойной тариф), потерянные заявки, нервы всей команды и репутационный ущерб. Клиент не сказал ни слова про CI/CD — он просто спросил: «Когда это повторится?»
Почему это случилось: три системные ошибки
Ошибка 1: деплой без стейджинга. Тестировать на production — это как прыгать с парашютом без проверки снаряжения. «У нас всегда так делали» — не аргумент, когда один сбой стоит двух дней.
Ошибка 2: нет бэкапа перед деплоем. Автоматический бекап базы до каждого релиза — это не роскошь. Это базовая дисциплина. Когда данные теряются — вопрос цены уже не стоит.
Ошибка 3: один разработчик без ревью. Три изменения в одном коммите, без тестов, без код-ревью. Если бы перед деплоем кто-то посмотрел код — ошибка бы всплыла за пять минут.
Сколько стоит отказ от CI/CD
Посчитаем реальные потери от ручного деплоя без автоматики:
- Один инцидент = от 2 до 8 часов простоя. Почасовая стоимость для малого бизнеса — от 3 000 до 15 000 ₽/час. Итого: 6 000 – 120 000 ₽ за один сбой.
- Ночной деплой в пятницу = двойной тариф разработчика. Если вызов в 23:00 — это не менее 5 000 ₽ сверху.
- Потерянные клиенты за два дня = невозможно посчитать, но каждый ушедший клиент — это минимум 10 000–30 000 ₽ потерянного контракта.
- Время команды на «а давайте проверим» перед каждым релизом — 30–60 минут. За год — 15–30 часов. Это 10 000–30 000 ₽ чистого времени.
Итого: один крупный сбой может стоить 30 000–150 000 ₽. Отказ от CI/CD — это не экономия. Это накопление технического долга, который в какой-то момент конвертируется в реальные деньги.
Что делать: быстрый старт за два дня
GitHub Actions — бесплатен для открытых проектов, 2000 минут/месяц бесплатно для приватных. Минимальный пайплайн: тесты → бэкап базы → деплой на стейджинг → деплой на прод. Стоимость настройки: 1 рабочий день разработчика (8–15 часов).
GitLab CI/CD — бесплатный план: 400 минут/месяц. Для малого бизнеса хватает. Настройка: 1–2 дня.
Итоговая стоимость настройки полноценного CI/CD: 1–2 дня работы = 10 000–30 000 ₽. Один единственный сбой без автоматизации стоит столько же или дороже. Окупаемость — первый же деплой.
Чек-лист: проверьте свой деплой
Ответьте честно:
- У вас есть стейджинг-сервер, идентичный production?
- База данных бэкапится автоматически перед каждым релизом?
- CI/CD настроен и работает?
- Откат на предыдущую версию занимает не более 5 минут?
- Есть мониторинг, который сообщит о падении в течение 5 минут?
Если хотя бы на один вопрос ответ «нет» — вы в зоне риска. Статистика жестока: команды, которые откладывают CI/CD, тратят в среднем на 30% больше времени на деплой и реагируют на сбои в три раза медленнее.
Ручной деплой — это не «дешевле». Это просто отложенный счёт.
Комментарии
Пока нет комментариев. Стань первым!