Перейти к содержимому

Инфраструктура

Инфраструктура — это не только сервер, на котором работает сайт. Ей нужно управлять воспроизводимо, измерять надёжность, замечать сбои и организовывать восстановление. Раздел разделён по этим задачам:

  • SRE — цели надёжности, SLI/SLO/SLA, бюджеты ошибок и AI SRE.
  • DevOps — окружения, CI/CD и доставка приложений.
  • Infrastructure as Code — декларативное управление ресурсами и GitOps.
  • Наблюдаемость — внешние проверки, метрики, логи, трассировка, ошибки и реальный пользовательский опыт.
  • Управление инцидентами — дежурства, эскалации, status page и postmortem.
  • Хостинг — типы и критерии выбора вычислительной среды.
  • Домены — регистрация доменов и DNS.
  • Инструменты — отдельные профили сервисов и приложений для каждого направления.

Такое деление отделяет практику от продукта: например, принципы логирования описаны в тематической статье, а возможности Loki или Better Stack — в их собственных профилях.

Домен и хостинг
↓
Окружения и доставка приложения ←→ Инфраструктура как код
↓
SLI/SLO и бюджет ошибок
↓
Телеметрия и оповещения
↓
Дежурство → восстановление → status page → postmortem
↓
Изменения в приложении или инфраструктуре

SRE задаёт требуемый уровень надёжности, DevOps отвечает за поставку приложения, IaC — за желаемое состояние ресурсов. Наблюдаемость предоставляет доказательства для решений, а управление инцидентами организует работу людей.

Для небольшого production-проекта достаточно собрать базовый контур без enterprise-платформы:

  1. Домен, DNS и хостинг с резервным копированием; восстановление регулярно проверяется.
  2. Отдельное staging-окружение и версионируемый процесс деплоя.
  3. Понятные владельцы сервиса и хотя бы один пользовательский SLI с целевым SLO.
  4. Внешняя проверка доступности, централизованные ошибки приложения и доступ к логам.
  5. Оповещение ответственного с понятным первым действием по runbook.
  6. Канал сообщения пользователям о сбое и короткий разбор после значимого инцидента.

IaC, распределённая трассировка, Kubernetes и круглосуточные дежурства добавляются по реальной сложности системы, а не как обязательный стартовый набор.

СитуацияКуда перейти
Нужно договориться, что считать доступным и быстрым сервисомSLI, SLO и SLA
Нужно автоматизировать создание серверов, сети или DNSInfrastructure as Code
Сайт недоступен извне, хотя сервер отвечаетUptime monitoring
Нужно найти медленный участок запроса между сервисамиТрассировка
Пользователи видят ошибки в браузереError tracking и RUM
Оповещений слишком много, а реагировать на них некомуAlerting и On-call
Нужно сообщать клиентам о простоеStatus pages
Нужно выбрать конкретный продуктКаталог инструментов