Разработка
DevOps
Сборка, выкладка и эксплуатация: окружения и секреты, конвейер с возвратом к предыдущей сборке, резервные копии с пробным восстановлением, логи и оповещения.
- Ответ на заявку
- в течение 24 часов
- Первый звонок
- 30 минут, без обязательств
- Первая рабочая версия
- через 2 недели
Процесс
Что происходит и когда
Работа разбита на этапы, у каждого назван результат. Вы видите его сами, а не узнаёте о нём из отчёта.
Дни 1–3
Разбор текущей выкладки
Смотрим, как продукт собирается и выкатывается сегодня: чем собран образ или что копируется на сервер руками, где лежат секреты, у кого есть доступ, что происходит при откате. Отсюда складывается схема того, что есть, и список мест, где выкладка держится на одном человеке.
На выходе — Схема выкладки и её зависимость от людей
Дни 4–10
Окружения и конфигурация
Договариваемся об окружениях: сколько их, чем стенд отличается от боевого, откуда берёт данные. Конфигурация выносится в переменные, инфраструктура описывается кодом — чтобы одна и та же сборка ехала и на стенд, и на прод, а не собиралась заново под каждый.
На выходе — Разделённые окружения и инфраструктура кодом
Недели 2–3
Конвейер и откат
Собираем конвейер: сборка образа, прогон тестов, выкладка на стенд по кнопке к концу второй недели и откат на предыдущую версию за минуты, а не за вечер. Тогда же встают SSL, проверка живости и резервное копирование.
На выходе — Конвейер сборки с откатом, SSL и резервные копии
Перед переносом
Перенос боевого трафика
Переводим боевой трафик: и переключение, и откат сначала репетируются на копии, а не на живых пользователях. Отдельным шагом восстанавливаемся из резервной копии — копия, из которой ни разу не восстанавливались, резервной не считается.
На выходе — Отрепетированное переключение и проверенная копия
После переноса
Мониторинг и эксплуатация
Мониторинг и логи настраиваются так, чтобы о поломке узнавали вы, а не пользователь, и чтобы будило только то, ради чего действительно встают ночью. Дальше — обновления базовых образов, смена ключей и разбор счёта за инфраструктуру: в нём часто находится стенд, который подняли на неделю и не выключили.
На выходе — Оповещения о поломке и разобранный счёт
Что входит в работу
Текущая выкладка по шагам
описание, снятое с работающего сервера, инвентарь служб и доменов, права по людям, секреты и места их хранения.
Окружения и конфигурация
граница между стендом и боевым, настройки в переменных, секреты вне репозитория, инфраструктура описана кодом.
Конвейер сборки
один образ на все окружения, тесты до выкладки, кнопка вместо ручных команд, возврат к предыдущей сборке без пересборки.
Резервные копии
расписание, хранение отдельно от сервера, пробное восстановление и замер, сколько оно занимает.
Мониторинг и оповещения
логи в одном месте, метрики сервера и приложения, проверка живости снаружи, порог, при котором приходит сообщение.
Перенос на новую площадку
репетиция переключения и отката на копии, домен и сертификаты с автопродлением, окно простоя, назначенное заранее.
Что нужно от вас
- Доступ к серверам и к аккаунту, на который они оформлены, вместе с управлением DNS домена.
- Всё, что сегодня заменяет инструкцию по выкладке, — команды из чьей-то памяти, скрипт на сервере, переписка в чате.
- Согласованное окно простоя под перенос живой базы и человек с вашей стороны, который на связи, пока он идёт.
Что обычно спрашивают
Контакты
Пришлите описание задачи
Ответ с объёмом работ, сроками и оценкой бюджета придёт в течение 24 часов.
Первый звонок — 30 минут, без обязательств с вашей стороны.
01
Вы описываете задачу
Пять вопросов в форме или письмо в свободной форме — как удобнее.
02
Мы отвечаем за сутки
С объёмом работ, сроками и оценкой бюджета — по тому, что вы рассказали.
03
Созваниваемся на 30 минут
Уточняем непонятное. Ни к чему вас не обязывает.