// DevOps
Как я автоматизировал управление 366 серверами и перестал тратить ночи на рутину
Опубликовано 16.05.2026
Когда у тебя один сервер — заходишь по SSH и делаешь что нужно. Когда их десять — пишешь bash-скрипты. Когда больше трёхсот — либо ты автоматизируешь всё до конца, либо инфраструктура управляет тобой, а не ты ей.
Я прошёл этот путь. Десяток проектов, более 400 серверов в семи странах — Нидерланды, Польша, США, Германия, Индия, Казахстан, Россия. В какой-то момент стало понятно: держать это в голове и тыкать руками уже не получится. Либо система, либо хаос. Я выбрал систему — и теперь новая нода в любой точке мира поднимается за несколько минут без единой SSH-сессии вручную.
Расскажу, как это работает.
Как это выглядело раньше
Запуск нового сервера — это был квест. Открыть SSH, вспомнить (или найти в заметках) нужные команды, выполнить по порядку, забыть прописать что-то в DNS, вернуться, дописать, добавить в мониторинг отдельно, зарегистрировать в панели отдельно. Час-полтора на одну ноду — и это если всё идёт гладко. А ещё каждый раз с ненулевым шансом сделать что-то чуть иначе, чем в прошлый раз.
На масштабе более 400 серверов это уже не просто неудобство. Даже если каждый трогаешь раз в месяц — это сотни часов в год на механическую работу. Плюс инфраструктура постепенно превращается в чёрный ящик: никто толком не помнит, что на каком сервере настроено, почему именно так и кто это делал.
Что внутри
Основа всего — Ansible в связке с Semaphore. Ansible позволяет описывать настройку серверов кодом: написал один раз, запускаешь на любом количестве машин. Semaphore — это простой веб-интерфейс поверх него, чтобы не бегать с терминалом и видеть что происходит в реальном времени.
Весь репозиторий — 49 плейбуков, 39 ролей, 11 inventory-файлов. Плейбук — это сценарий: последовательность шагов для сервера. Роль — переиспользуемый блок логики, скажем “настроить firewall” или “выпустить сертификат”. Inventory — список всех серверов с параметрами: роль, страна, порты, версии сервисов. Вся инфраструктура живёт в git — любое изменение видно в истории, любое состояние воспроизводимо. Когда что-то идёт не так, ответ всегда в коде, а не в голове у человека который “помнит как делал в прошлый раз”.
Каждый сервер несёт роль: обычная нода, edge, шаред, базовая машина, мониторинг. Плейбуки читают эту роль и сами пропускают неподходящие шаги — прокси не получит VPN-стек, шаред-нода не пройдёт полный hardening. Никакой ручной фильтрации.
Inventory устроен иерархически: проект → регион → хост. Нужно поменять параметр для всех нод в Нидерландах — меняешь одну строку. Нужно обновить только один сервер или только конкретный регион — указываешь нужный фильтр при запуске. Никакого дополнительного кода, никакого copy-paste.
Как выглядит деплой изнутри
Запуск новой VPN-ноды — самый показательный пример. Один клик в Semaphore, девять шагов по цепочке, 8–12 минут реального времени. Пока нода разворачивается, я занимаюсь чем-то другим.
Что происходит внутри: сначала проверяется доступность по SSH — незачем запускать цепочку на мёртвый сервер. Потом bootstrap: базовые пакеты, Docker, swap. Следом hardening — закрываются лишние порты, настраивается защита от брутфорса, применяются параметры ядра для оптимизации сети. Дальше копируются конфиги и файлы проекта. Через Cloudflare API выпускаются DNS-запись и SSL-сертификат. Нода регистрируется в панели управления, поднимается Docker-стек. В финале — DNS-записи для балансировки трафика.
Каждый шаг описан кодом и прогнан десятки раз. Вероятность человеческой ошибки стремится к нулю — не потому что люди стали аккуратнее, а потому что человек из этого процесса просто убран.
Детали, которые экономят нервы
Мониторинг добавляется сам. На каждом сервере при provisioning поднимается агент, который регистрирует машину в общем реестре. Prometheus находит новые серверы через этот реестр — никаких статических списков, никакого “не забудь добавить”. Добавил сервер в inventory, запустил плейбук — он уже в метриках. Вывел сервер — отдельный плейбук почистит за ним все записи.
SSL-сертификаты больше не задача. Система сама выпускает их через Cloudflare, поддерживает wildcard и несколько доменов, сама продлевает. Один сервер может выпустить сертификат и передать состояние другим нодам — удобно когда сотня машин работает под одним доменом.
Плейбук сверки состояния. Любая живая инфраструктура рано или поздно расходится с тем, что написано в коде — что-то поправили руками, что-то поехало само. Этот плейбук запрашивает панель управления, сравнивает с inventory, проверяет порты, сверяет правила firewall. На выходе — конкретный отчёт: вот эта нода есть в панели, но не в inventory; вот тут не совпадает профиль; вот тут нет нужного правила. Без этого инструмента такие расхождения копятся незаметно.
Результаты в Telegram. После каждого плейбука прилетает сообщение: сколько хостов обработано, сколько успешно, сколько упало, что именно и ссылка на детали. Обновляешь 50 нод — не нужно сидеть смотреть в экран. Запустил, пошёл заниматься своим, получил итог в телефон.
Про скучные инструменты
Сейчас модно ставить AI-агентов на всё подряд. Я сам активно работаю с AI и понимаю ценность. Но есть задачи, где языковая модель — это не то что нужно. Когда тебе нужен не “умный помощник который разберётся”, а детерминированная система: запустил — получил ровно тот результат, который описал. Без интерпретации, без галлюцинаций, без творческого подхода в 3 ночи на проде.
Ansible скучный. Проверенный. Предсказуемый. Выстроил структуру один раз — и двухсотый сервер настраивается точно так же, как первый. Это и есть инженерия — не когда красиво, а когда работает.
Что в итоге
Цифры простые. Один сервер вручную — 60–90 минут. С автоматизацией — 8–12 минут, и большую часть этого времени я не при делах. На масштабе 366 машин это сотни часов в год, которые раньше уходили на механику.
Но честно — главная ценность не в скорости. Главная ценность в том, что инфраструктура перестала быть чёрным ящиком. Любой сервер в любом проекте настроен одинаково: те же параметры ядра, тот же порядок шагов, те же проверки. Когда что-то идёт не так — ищешь причину в коде, а не пытаешься вспомнить кто что делал руками три недели назад.
И ещё одна деталь, которую начинаешь ценить только когда нужно перезагрузить всю инфраструктуру: rolling reboot. Плейбук перезагружает серверы по одному, ждёт каждый перед следующим. Перезапустить 89 нод проекта — один запуск, без риска положить всё разом. Раньше это была операция на несколько вечеров с постоянным контролем. Сейчас — запустил и забыл.
400 серверов, семь стран — один репозиторий. Не потому что я использовал самый модный инструмент. А потому что выбрал правильный.
// Reviews
Отзывы по теме
Пришел с дорогим запросом по настройке VPS-сервера, но в процессе консультации Михаил предложил гораздо более простое и экономичное решение. В итоге сэкономил бюджет и время. Михаил — настоящий эксперт, который работает на результат клиента, а не на чек. Рекомендую!
Пришел с дорогим запросом по настройке VPS-сервера, но в процессе консультации Михаил предложил гораздо более простое и экономичное решение. В итоге сэкономил бюджет и время. Михаил — настоящий эксперт, который работает …
Настройка vps, настройка сервера
12.05.2026 · ★ 5/5
Отличная работа! Очень быстро настроил сервер, установил панель, прописал IP. Однозначно могу порекомендовать!
Отличная работа ! Очень быстро настроил сервер, установил панель прописал IP Однозначно могу по рекомендовать !
Всё отлично, помог оперативно и профессионально, спасибо, рекомендую сообществу
Всё отлично, помог оперативно и профессионально, спасибо, рекомендую сообществу
Настройка vps, настройка сервера
16.04.2026 · ★ 5/5
Было несколько проблем касаясь как технической части так и понимания в целом. Михаил быстро ответил на запрос, помог разобраться и решил проблеммы технические и помог разобраться в понимании, за что отдельное спасибо. Результатом доволен.
Было несколько проблем касаясь как технической части так и понимания в целом. Михаил быстро ответил на запрос, помог разобраться и решил проблеммы технические и помог разобраться в понимании, за что отдельное спасибо. …
Настройка vps, настройка сервера
18.02.2026 · ★ 5/5
Все было сделано быстро и четко. Рекомендую
Все было сделано быстро и четко. Рекомендую
Настройка vps, настройка сервера
17.01.2026 · ★ 5/5
Всё прошло хорошо, исполнитель быстро реагировал на вопросы и помог решить проблему. Спасибо!
Всё прошло хорошо, исполнитель быстро реагировал на вопросы и помог решить проблему. Спасибо!
Настройка vps, настройка сервера
16.12.2025 · ★ 5/5
// Contact
Нужна помощь?
Свяжись со мной и я помогу решить проблему
// Related