Инфраструктура как код, учёт адресов и GitOps

Мы перестроили собственную инфраструктуру так, чтобы управлять ею как программным кодом: сервер разворачивается по описанному сценарию, каждое устройство стоит на учёте, каждое изменение лежит в истории версий. Никакой «магии в голове одного администратора».

Задача

Уйти от «магии в голове» к инфраструктуре, которую можно повторить

Классическая инфраструктура держится на памяти конкретного специалиста: он помнит, какой адрес где занят, как собран каждый сервер и почему что-то настроено именно так. Пока человек на месте — всё работает. Уйдёт — и система превращается в чёрный ящик, в котором страшно что-либо трогать.

Мы поставили себе цель: каждое оборудование — на учёте, каждое изменение — зафиксировано, а разворачивание нового сервера идёт по заранее описанным правилам, а не по памяти человека. Это заодно снимает главный риск для бизнеса — зависимость от единственного специалиста, «фактор автобуса».

Разворачивание по коду

Новый сервер собирается по сценарию, а не руками

1

Машина создаётся по коду

Ansible — инструмент автоматизации, выполняющий настройку по написанному сценарию — обращается к платформе виртуализации Proxmox и поднимает виртуальную машину. Не «собрали вручную», а «выполнили код».

2

Первичная настройка через cloud-init

При первом запуске сервер сам применяет базовые параметры — сеть, учётные записи, ключи доступа. Механизм cloud-init делает это автоматически, одинаково для каждой машины.

3

Усиление защиты (hardening)

Лишние двери закрываются, безопасные настройки применяются тем же кодом. Не «кто-то не забыл захардить», а «хардинг встроен в сценарий» — значит, применён на всех серверах без исключений.

4

Сервер сам заносит себя в учёт

В конце готовая машина регистрируется в системе учёта сети NetBox и системе мониторинга Zabbix. Ни одной ручной записи и ни одного забытого узла: под наблюдением оказывается всё, что развернули.

Из чего собрано

Единый источник правды и всё «как код»

NetBox — единый источник правды

Система учёта сети ведёт управление IP-адресами (это называется IPAM), а также хранит данные об устройствах, сетевых сегментах и площадках в одном достоверном месте (единый источник истины, SSoT). Конец «мёртвым» адресам, записанным в чьих-то личных заметках.

Ansible и cloud-init — настройка по коду

Настройка выполняется по написанному сценарию, а не по памяти. Новый сервер получается по единому стандарту, и этот стандарт можно прочитать, проверить и повторить сколько угодно раз.

Свой Git на своих серверах (Forgejo)

Forgejo — самостоятельно размещённый Git, то есть система хранения версий файлов на нашем сервере, а не в чужом облаке. Резервные копии документации и настроек лежат вне основной площадки, а каждое изменение сохраняется в истории автоматически.

Документация как код (Markdown, ADR)

Вся инфраструктура описана текстовыми карточками с журналом изменений и журналом архитектурных решений (ADR — записи о том, «почему сделали именно так»). Правила ведения записей вынесены в переносимый каркас kb-core — единый и для людей, и для ИИ-агентов.

Управление инфраструктурой через систему контроля версий называют GitOps: изменение сначала попадает в Git, а уже оттуда — в инфраструктуру. Так у любого изменения есть автор, дата и причина, а откат — это возврат к предыдущей версии, а не героическое восстановление по памяти.

Результат

Инфраструктуру можно повторить, проверить и передать

Клиенту мы отдаём не «чёрный ящик», а прозрачную, полностью описанную систему. Он понимает, чем именно владеет, и не привязан намертво к одному подрядчику: инфраструктуру можно забрать и передать другой команде. В этом и есть наша инженерная честность.
Смежное

Какие услуги это доказывает

Хотите инфраструктуру, которую можно повторить и передать?

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

Или позвоните: 8 (804) 333-33-35 — бесплатно по России