Релиз как спецоперация
Выкат делается раз в две недели, ночью, по чек-листу из сорока пунктов и силами одного человека. Его отпуск или больничный останавливает выпуск задач.
Выберите тему — соберём контекст
Приходим в проекты, где продукт уже работает и приносит выручку: интернет-магазины, SaaS-платформы, личные кабинеты, внутренние системы с очередями и интеграциями. Инфраструктура в таких проектах выросла стихийно — сервер настроен руками, релиз делает один человек, о падении узнают из звонка клиента. Приводим это в инженерный вид: конвейер с откатом одной командой, окружения из кода, наблюдаемость и договорённости о надёжности.
Оставьте контакт — вернёмся с планом работ, сроками и ориентиром стоимости.
Направлений
6
До автовыката
3–6 недель
Ответим в рабочее время. Для оценки достаточно рассказать, как сейчас устроен релиз и где живёт продакшен.
Можно взять одно направление, можно весь контур. У каждого — своя страница с составом работ, этапами и разбором частых вопросов; ниже — краткая выжимка из неё.
Конвейеры GitLab CI и GitHub Actions: линтеры, тесты, сборка образа, blue-green и canary-выкат, миграции без простоя, откат одной командой.
Состав и этапыСначала отвечаем, нужны ли вам микросервисы вообще. Если да — выделяем их из монолита без переписи: декомпозиция по DDD, отдельные базы, асинхронная интеграция, саги, контракты и трейсинг.
Состав и этапыПереносим приложение в Docker, разворачиваем кластер Kubernetes, настраиваем Helm и GitOps, ресурсы и автомасштабирование, бэкапы stateful-сервисов и выкат без простоя.
Состав и этапыОписываем серверы, сети, балансировщики и базы в Terraform и Ansible: воспроизводимые окружения вместо ручных настроек, ревью изменений, детектирование дрейфа, управление секретами и проверенный план восстановления.
Состав и этапыМетрики Prometheus и дашборды Grafana, централизованные логи и трейсинг OpenTelemetry, осмысленные алерты без шума, runbook на каждый алерт и политика хранения логов.
Состав и этапыSLI и SLO для ключевых сценариев, error budget, ротация дежурств и эскалация, blameless postmortem с планом работ и нагрузочные учения перед пиками.
Состав и этапыКонвейеры GitLab CI и GitHub Actions: линтеры, тесты, сборка образа, blue-green и canary-выкат, миграции без простоя, откат одной командой.
Состав работ
Что это даёт
5–10 мин
от коммита до результата проверок
1 команда
на откат к предыдущей версии
DORA
метрики, по которым видно прогресс
0
ручных шагов при выкате
Сначала отвечаем, нужны ли вам микросервисы вообще. Если да — выделяем их из монолита без переписи: декомпозиция по DDD, отдельные базы, асинхронная интеграция, саги, контракты и трейсинг.
Состав работ
Что это даёт
DDD
границы по бизнес-возможностям
strangler
постепенное выделение вместо переписи
at-least-once
идемпотентность и outbox
контракты
OpenAPI и проверка совместимости
Переносим приложение в Docker, разворачиваем кластер Kubernetes, настраиваем Helm и GitOps, ресурсы и автомасштабирование, бэкапы stateful-сервисов и выкат без простоя.
Состав работ
Что это даёт
multi-stage
образы на минимальной базе
GitOps
состояние кластера описано в git
HPA
масштабирование по нагрузке
PITR
восстановление данных на момент времени
Описываем серверы, сети, балансировщики и базы в Terraform и Ansible: воспроизводимые окружения вместо ручных настроек, ревью изменений, детектирование дрейфа, управление секретами и проверенный план восстановления.
Состав работ
Что это даёт
plan
изменения видны до применения
ревью
инфраструктура меняется через pull request
дрейф
расхождения ловятся автоматически
DR
восстановление проверено учениями
Метрики Prometheus и дашборды Grafana, централизованные логи и трейсинг OpenTelemetry, осмысленные алерты без шума, runbook на каждый алерт и политика хранения логов.
Состав работ
Что это даёт
Prometheus
метрики приложения и инфраструктуры
Loki
логи с поиском по correlation id
OTel
трейсы через сервисы и очереди
runbook
порядок действий на каждый алерт
SLI и SLO для ключевых сценариев, error budget, ротация дежурств и эскалация, blameless postmortem с планом работ и нагрузочные учения перед пиками.
Состав работ
Что это даёт
3–5
ключевых сценариев вместо сотни метрик
28 дней
скользящее окно расчёта SLO
error budget
общий язык у продукта и эксплуатации
blameless
разбор причин, а не поиск виноватых
Порядок не случайный: в проекте, который приходит с ручным деплоем, почти всегда начинают с CI/CD — это даёт самый быстрый эффект и делает остальные направления безопасными. Микросервисы и Kubernetes мы не предлагаем «по умолчанию»: для многих систем монолит с хорошим конвейером дешевле и надёжнее, и мы говорим об этом прямо.
Это то, что мы чаще всего видим в проектах, которые развиваются годами и выросли из одного сервера. Узнаёте хотя бы три пункта — автоматизация окупится.
Выкат делается раз в две недели, ночью, по чек-листу из сорока пунктов и силами одного человека. Его отпуск или больничный останавливает выпуск задач.
Полный прогон занимает час, поэтому запускается вручную перед релизом. Регресс находят пользователи, а не конвейер, и стоит это дороже любых тестов.
Схему меняют прямо на продакшене через консоль, без обратной совместимости. Изменение типа колонки требует остановки приложения и не откатывается назад.
Staging либо отсутствует, либо разошёлся с продакшеном по версиям, данным и настройкам настолько, что проверка на нём ничего не доказывает.
Пароли к базе, токены платёжных систем и ключи API лежат в файлах на сервере, попадают в бэкапы, дублируются в переписке и не ротируются годами.
Если новая версия ломает сценарий оплаты, команда тратит один-три часа на разбор и восстановление вместо переключения на предыдущий релиз за минуту.
Отраслевой стандарт измерения — четыре показателя DORA. Мы замеряем их до начала работ и после каждого этапа, поэтому разговор про «стало лучше» опирается на числа, а не на ощущения.
Обычно до
релиз раз в две недели, ночью
После автоматизации
несколько релизов в неделю
Показывает, насколько быстро продукт доносит изменения до пользователей.
Обычно до
около месяца в очереди задач
После автоматизации
часы: конвейер и окружения
Отражает длину очереди между решением и результатом.
Обычно до
регресс находят пользователи
После автоматизации
регресс ловит конвейер до выката
Говорит о качестве проверок внутри конвейера.
Обычно до
часы на разбор и восстановление из бэкапа
После автоматизации
минуты: переключение на предыдущую версию
Показывает, насколько хорошо продуман откат.
Это типовая картина проекта, который приходит с ручным деплоем, — не обещание конкретных цифр. Итог зависит от размера системы, числа окружений и состояния тестов, поэтому первым шагом мы всегда замеряем ваши текущие значения.
Двенадцать практик, по которым видно состояние инфраструктуры. Это не тест и не аттестация: отметки никуда не отправляются и считаются прямо в браузере.
Выполнено практик
0 / 12
Инфраструктура держится на людях
Почти всё делается руками: выкат, конфигурация, восстановление. В этом состоянии самый быстрый эффект даёт автоматизация релизов — она снижает риск остальных работ и сразу освобождает время команды.
Начать с CI/CDОсновы есть, но много ручной работы
Конвейер или отдельные практики уже существуют, однако окружения, секреты и откат остаются хрупкими. Обычно следующий шаг — окружения из кода и наблюдаемость: они убирают самые дорогие сюрпризы.
Инфраструктура как кодПроцессы работают, но без цифр
Релизы и мониторинг в порядке, но решения принимаются без общих показателей: непонятно, где деградирует и когда нужны мощности. Логичный шаг — SLI/SLO и работа с инцидентами.
SRE и надёжностьИнженерная база выстроена
Практики автоматизации, наблюдаемости и надёжности работают вместе. Дальше имеет смысл заниматься ёмкостью и учениями: проверять, что система выдержит сезонный пик, и пересматривать SLO по фактам.
Учения и ёмкостьУровни — ориентир для разговора, а не оценка команды: мы регулярно видим проекты, где половина практик держится на одном инженере, и это не вина команды, а следствие роста.
Работаем итерациями: первая версия конвейера появляется в первые две недели и сразу используется, а не собирается «до идеала» в стороне. Ниже — сроки для проекта на Laravel с одним-двумя окружениями; системы из нескольких сервисов занимают от двух месяцев.
Отчёт: время выката, частота сбоев, узкие места, план работ
Конвейер на каждый merge request, кэш зависимостей, параллельные тесты
Стенд из кода, выбранная стратегия выката, откат одной командой
Несколько реальных релизов вместе с командой, runbook, обучение
Итого до полностью автоматического выката — от трёх до шести недель.
Объём фиксируем после аудита: он же показывает, что в вашем случае даст эффект первым, а что можно отложить без риска.
Выбираем из распространённых решений с большим рынком специалистов: инфраструктуру должно быть кому поддерживать, кроме автора настройки. Если у вас уже есть стек, работаем в нём.
Настроенная инфраструктура требует регулярных работ: обновления безопасности, контроль бэкапов, реагирование на инциденты, оптимизация расходов. Это делается по фиксированной месячной стоимости — пакеты и условия опубликованы на странице управления облачной инфраструктурой.
от 45 000 ₽/мес
Реакция до 4 часов
До 5 серверов, рабочие часы
Для стабильных систем без круглосуточной нагрузки: мониторинг, обновления, резервное копирование и плановые работы.
от 95 000 ₽/мес
Реакция до 30 минут
До 20 серверов, 24/7
Для продакшена с постоянным трафиком: круглосуточное дежурство, инфраструктура как код, оптимизация расходов.
от 180 000 ₽/мес
Реакция до 15 минут
Кластеры, высокие требования к доступности
Для систем, где простой стоит дорого: отказоустойчивые конфигурации, выделенный инженер, регламенты восстановления.
Пакеты и цены ниже — из опубликованного описания услуги управления инфраструктурой. Точную стоимость называем после аудита: она зависит от числа серверов, режима реакции и требований к доступности. Задачи вне пакета — по согласованной ставке.
Услуги сопровождения
Приоритет определяем вместе на этапе регламента. Ниже — типовые условия; в договоре они фиксируются под ваш режим работы.
| Приоритет | Что произошло | Реакция | Восстановление |
|---|---|---|---|
| P1 — Критичный | Сервис недоступен или недоступен частично, затрагивает всех пользователей | 15 минут | до 4 часов |
| P2 — Высокий | Заметная деградация: ошибки у части пользователей, падение производительности | 30 минут | до 8 часов |
| P3 — Средний | Проблема не блокирует работу, есть обходной путь | 4 часа | до 3 рабочих дней |
| P4 — Низкий | Вопросы, консультации, плановые изменения | 1 рабочий день | по плану работ |
Время реакции — начало работы над инцидентом. Время восстановления зависит от причины и фиксируется по итогам разбора. После каждого P1 готовим разбор: что произошло, почему, что меняем, чтобы не повторилось.
Формат выбирается по задаче: от одного направления до полного сопровождения. Можно начать с аудита и решить по фактам.
Разбираем текущее состояние: процесс релиза, окружения, секреты, мониторинг, восстановление. Замеряем DORA-метрики и отдаём план работ с приоритетами.
Подходит: Когда непонятно, с чего начинать и что действительно болит
Берём одно направление целиком: CI/CD, контейнеры и Kubernetes, инфраструктура как код, наблюдаемость или SRE. Фиксируем состав, этапы и критерии приёмки.
Подходит: Когда задача уже сформулирована и нужен результат к дате
Мониторинг, обновления, бэкапы с проверкой восстановления, реагирование по SLA и плановое развитие инфраструктуры по фиксированной месячной стоимости.
Подходит: Когда продакшен работает и его нужно удерживать в форме
Инженер работает в вашей команде и в вашем процессе: задачи в общем трекере, участие в планировании, передача знаний вашим разработчикам.
Подходит: Когда нужны руки внутри команды, но нанимать в штат рано
Это не взаимоисключающие варианты, и мы честно говорим, когда выгоднее нанять. Штатный инженер оправдан, если инфраструктура — постоянная большая работа и вам нужен человек внутри команды на годы. Внешняя команда выгодна в трёх случаях: работа конечна (настроить конвейер, переехать в контейнеры, внедрить IaC), нужны разные компетенции по очереди (сеть, Kubernetes, базы, безопасность), или нужен круглосуточный режим реакции, который одному человеку не по силам. Часто получается комбинация: мы делаем проект и передаём его вашему инженеру вместе с runbook и обучением.
Для проекта на Laravel с одним-двумя окружениями — от трёх до шести недель до полностью автоматического выката. Первая версия конвейера появляется на первой неделе и сразу используется командой, дальше добавляем окружения, миграции и стратегию отката. Системы из нескольких сервисов с собственной инфраструктурой занимают от двух месяцев.
Сопровождение считается фиксированной месячной стоимостью: базовый пакет — от 45 000 ₽ в месяц для систем до пяти серверов с реакцией в рабочие часы, «Бизнес» — от 95 000 ₽ с дежурством 24/7 и реакцией до 30 минут, «Критичный» — от 180 000 ₽ с реакцией до 15 минут, выделенным инженером и учениями по восстановлению. Аудит перед началом услуги оплачивается отдельно и занимает 1–2 недели. Задачи вне пакета — по согласованной ставке.
Нет, и мы не предлагаем это «по умолчанию». Для проекта на классическом сервере конвейер может собирать артефакт и раскладывать файлы с переключением симлинка — это уже даёт воспроизводимость и мгновенный откат без переезда на контейнеры. Docker нужен там, где важно одинаковое окружение на всех машинах, горизонтальное масштабирование и предсказуемая сборка зависимостей. Kubernetes оправдан при нескольких сервисах и переменной нагрузке; для одного приложения он чаще добавляет сложности, чем решает задач.
При наличии SSH и доступа к git можно построить минимальный, но честный конвейер: тесты и сборка на отдельном раннере, выкат по SSH с переключением симлинка и возвратом на предыдущую версию. Полноценные окружения, канареечный выкат и горизонтальное масштабирование потребуют VPS или контейнерной платформы — это отдельный этап, который имеет смысл планировать после базовой автоматизации.
Да. Разворачиваем GitLab Runner или self-hosted раннер GitHub Actions на вашей инфраструктуре и настраиваем кэш зависимостей локально — исходный код, артефакты и секреты не покидают периметр. Секреты хранятся в управляемом хранилище, а не в файлах на сервере, и ротируются по регламенту. Дополнительный плюс собственных раннеров — нет ограничений на минуты сборки и очередей облачных сервисов.
Да, это обычная ситуация: инфраструктурой занимаемся мы, продукт развивает ваша команда или другой подрядчик. Всё, что мы делаем, лежит в вашем репозитории: конвейер, описания инфраструктуры, дашборды и runbook. Разработчикам не нужно изучать закрытую систему — им нужно знать две команды: как посмотреть состояние выката и как откатиться. Это мы и проводим на этапе обучения.
По регламенту SLA приоритеты выглядят так: P1 — сервис недоступен полностью или частично для всех пользователей, реакция 15 минут, восстановление до 4 часов; P2 — заметная деградация для части пользователей, реакция 30 минут; P3 — проблема не блокирует работу и есть обходной путь, реакция 4 часа; P4 — вопросы и плановые изменения, реакция 1 рабочий день. Время реакции — это начало работы над инцидентом. После каждого P1 готовим разбор: что произошло, почему и что меняем, чтобы не повторилось.
Работающий процесс, а не отчёт. В репозитории — конвейер, описания инфраструктуры и конфигурации; в системе мониторинга — дашборды и алерты; в документации — runbook «как выпустить и как откатить» для нового инженера, регламент восстановления и метрики DORA по этапам. Плюс обучение команды: разбор пайплайна, работа с секретами, разбор инцидентов. Через месяц вы можете развивать инфраструктуру без нас — обычно так и происходит.
Если продукт уже в продакшене и приносит выручку, а релизы делаются ночью руками — да, и начинать стоит с самого узкого места. Часто это не полный проект, а две-три недели работ: конвейер, один стенд и откат. Дальше видно по фактам. Если продукт ещё не запущен, честный ответ — сначала продукт: автоматизировать релизы того, что никто не использует, смысла нет.
DevOps — это не должность и не набор инструментов, а способ доставлять изменения в продакшен предсказуемо. На практике он состоит из четырёх частей: автоматизированный конвейер сборки и проверок, воспроизводимые окружения, наблюдаемость (метрики, логи, трейсы) и договорённости о надёжности — что считаем сбоем и за какое время восстанавливаемся.
Услуга имеет смысл, когда продукт уже работает и приносит выручку, а инфраструктура выросла стихийно: сервер настроен руками, релиз делает один человек, о падении узнают из звонка клиента. Признак, по которому это видно без диагностики: чем больше становится команда, тем медленнее выходят изменения — значит, ограничение не в людях, а в процессе.
Самый быстрый и дешёвый эффект даёт автоматизация релиза: конвейер с тестами, неизменяемый артефакт и откат одной командой. Это снимает главный риск — страх выкатывать изменения, из-за которого релизы становятся редкими и крупными, а значит, более опасными. Одновременно появляется база для всего остального: окружения, миграции без простоя, наблюдаемость.
Контейнеры, оркестрация и микросервисы решают другие задачи — одинаковую среду на всех машинах, горизонтальное масштабирование, независимые релизы частей системы. Если этих задач нет, Kubernetes добавляет сложность, которую нужно постоянно обслуживать. Мы предлагаем его тогда, когда он окупается, и говорим прямо, когда можно обойтись меньшим.
Отраслевой стандарт — четыре метрики DORA: частота развёртывания, время от коммита до продакшена, доля неудачных изменений и время восстановления. Они хороши тем, что не зависят от размера компании и технологий: и стартап, и крупная система измеряются одинаково.
Мы замеряем эти показатели до начала работ и после каждого этапа, поэтому прогресс видно в числах, а не в ощущениях. Типичная картина в проекте с ручным деплоем: релиз раз в две недели, срок от решения до продакшена около месяца, восстановление занимает часы. После внедрения конвейера, окружений и стратегии отката релизы идут несколько раз в неделю, а восстановление занимает минуты.
Технические детали каждого направления — состав работ, этапы и разбор частых вопросов — на страницах CI/CD, Kubernetes, инфраструктуры как кода, мониторинга и SRE.
Расскажите, как сейчас устроен релиз, где живёт продакшен и что болит сильнее всего. Предложим план работ с приоритетами, сроками и ориентиром стоимости — до договора и без обязательств.
Полезное рядом: управляемые услуги, разработка ERP, все услуги разработки, контакты.
Опишите, как устроен релиз, где живёт продакшен и что уже автоматизировано, — вернёмся с планом работ, сроками и ориентиром стоимости.
Cookie и аналитика
Мы используем необходимые cookie для работы сайта и форм. Аналитические cookie (Яндекс.Метрика, включая запись сессий) подключаем только с вашего согласия — от него можно отказаться. Подробнее: Политика использования cookie и обработка персональных данных.