AI-Ops Documentation

Русский English
  • Главная
  • Карта документации
0. С чего начать
  • Что это за продукт
  • Для кого он
  • Как устроена документация
  • Быстрые ссылки
  • Как начать разработку
  • Как найти нужный сервис
  • К кому идти по вопросам
1. Продукт
Обзор продукта
  • Миссия продукта
  • Ценность для бизнеса
  • Основные сценарии
  • Границы системы
Пользователи и персоны
  • Сегменты пользователей
  • Роли пользователей
  • Основные потребности
Пользовательские сценарии
  • Регистрация / логин
  • Основной пользовательский сценарий
  • Оплата / заказ / действие
  • Поддержка и сценарий восстановления
Функции продукта
Фича: Аутентификация
  • Цель
  • Пользовательская история
  • Бизнес-правила
  • Ограничения
  • Метрики успеха
  • Связанные сервисы
  • Связанные события / данные
  • Фича: Профиль
  • Фича: Организации
  • Фича: Топология
  • Фича: Вычислительные ресурсы
  • Фича: Кластеры
  • Фича: Каталог сервисов
Требования
  • Функциональные требования
  • Нефункциональные требования
  • Требования к производительности
  • Требования к безопасности
  • Конфиденциальность и соответствие
  • Доступность
Метрики
  • Ключевая метрика (North Star)
  • Продуктовые KPI
  • Метрики воронки
  • Метрики качества
  • Метрики экспериментов
2. Домены
Домен: Identity
  • Назначение
  • Основные концепции
  • Сущности
  • Бизнес-правила
  • Сервисы домена
  • Данные домена
  • Связанные фичи
  • Домен: Профиль пользователя
  • Домен: Поиск
  • Домен: Заказы / транзакции
  • Домен: Уведомления
  • Домен: Аналитика
  • Домен: Рекомендации
3. Архитектура
Обзор системы
  • Что входит в систему
  • Что не входит
  • Высокоуровневая диаграмма
C4 Model
  • Контекстная диаграмма
  • Диаграмма контейнеров
  • Диаграмма компонентов
  • Диаграмма развёртывания
Интеграционная архитектура
  • Внешние системы
  • Интеграции API
  • Webhooks
  • Сторонние провайдеры
Потоки данных
  • Онлайн-поток данных
  • Пакетный поток данных
  • Поток событий
  • Владение данными
Архитектура безопасности
  • Аутентификация
  • Авторизация
  • Управление секретами
  • Шифрование
  • Аудит и логирование
Надежность и масштабируемость
  • SLA / SLO
  • Планирование мощностей
  • Отказоустойчивость
  • Обратное давление и повторы
  • Восстановление после сбоев
Архитектурные принципы
  • Границы доменов
  • Принципы проектирования API
  • Принципы проектирования событий
  • Принципы контрактов данных
  • Диаграмма: auth микросервисы
Control plane
  • Архитектура компонентов (control plane)
  • Доменная модель v0
  • Протокол v0 (control plane)
  • Примеры (control plane)
Сервисы (control plane)
Сервис control plane
  • API
  • Модель данных
  • События
  • Модули
  • Операции
Сервис execution plane
  • API
  • Модель данных
  • События
  • Модули
  • Операции
Сервис resource catalog
  • API
  • Модель данных
  • События
  • Модули
  • Операции
4. Инженерия
Сервисы
Каталог сервисов
  • Все сервисы списком
  • Владельцы
  • Критичность
  • Уровень / домен / статус
  • Сервис аутентификации
  • Сервис аккаунтов
  • Облачный сервис
  • Сервис учётных данных
  • Herald
  • Сервис идентификации
  • API Gateway
  • Сервис токенов
Фронтенд
  • Обзор фронтенда
  • Структура приложения
  • Routing (фронтенд)
  • State management (фронтенд)
  • Design system (фронтенд)
  • UI components (фронтенд)
  • API контракты фронтенда
  • Обработка ошибок (фронтенд)
  • Performance (фронтенд)
  • Feature flags (фронтенд)
  • Тестирование фронтенда
Бэкенд
  • Обзор бэкенда
  • Паттерны сервисов
  • Рекомендации по API
  • Событийные паттерны
  • Паттерны доступа к БД
  • Кэширование
  • Асинхронные задачи и воркеры
  • Идемпотентность
  • Обработка ошибок
  • Тестирование бэкенда
Данные
  • Обзор данных
  • Системы-источники
  • Контракты данных
  • Каталог схем событий
  • Хранилище данных
  • Витрины данных
  • ETL / ELT-пайплайны
  • Качество данных
  • Происхождение данных
  • Политики хранения
  • Политики доступа
ML / DS
  • Обзор ML/DS
  • Сценарии (ML)
  • Каталог моделей
  • Feature store
  • Training pipelines
  • Inference pipelines
  • Offline evaluation
  • Online evaluation / A-B
  • Мониторинг (ML)
  • ML runbooks
QA / Качество
  • Стратегия качества
  • Пирамида тестов
  • Тестовые окружения
  • Тестовые данные
  • Ручное тестирование
  • Автоматизированное тестирование
  • Нагрузочное тестирование
  • Тестирование безопасности
  • Критерии приёмки релиза
  • Процесс разбора багов
5. Платформа
Инфраструктура
  • Ansible
  • WireGuard
  • Kubernetes
  • Longhorn
  • Ingress
  • PostgreSQL Cluster
  • Redis
  • Kafka
  • Vault
  • MinIO
  • Authentik
  • Monitoring
  • Logging
  • Tracing
  • Nexus
  • SonarQube
  • GlitchTip
  • GitLab Runner
  • Kubernetes Dashboard
  • OLM
  • Deploy
  • Internal DNS
  • Обзор (инфраструктура)
  • Config generator
  • Пример (инфраструктура)
  • Скрипты (инфраструктура)
Окружения
  • Локальное
  • Stage
  • Pre
  • Продакшен (prod)
  • Tech
  • Облако
  • Объектное хранилище
  • CI/CD
  • Секреты и сертификаты
Наблюдаемость
  • Логирование
  • Метрики
  • Трейсинг
  • Алертинг
  • Резервное копирование и восстановление
6. Разработка
  • Быстрый старт
  • Локальная настройка
  • Карта репозиториев
  • Стандарты кода
  • Git-процесс
  • Стратегия ветвления
  • Руководство по код-ревью
  • Критерии готовности
  • Процесс релиза
  • Флаги фич
  • FAQ разработчика
  • Миграция secure auth
7. Эксплуатация
  • Дежурство
  • Управление инцидентами
  • Уровни критичности
  • Политика эскалации
  • Постмортемы
  • Ранбуки
  • Управление изменениями
  • Непрерывность бизнеса
8. Аналитика
  • План трекинга событий
  • Определения KPI
  • Каталог дашбордов
  • Словарь метрик
  • Эксперименты
  • Стандарты отчётности
9. Управление
  • Решения (ADR)
  • Политика статуса контента
  • Changelog обновлений документации
Безопасность и соответствие
  • Модель угроз
  • Безопасная разработка
  • Управление доступом
  • Конфиденциальность
  • Реагирование на инциденты
Ответственность и владельцы
  • Команды
  • Зоны ответственности команд
  • Владельцы сервисов
  • Владельцы доменов
  • Контакты
Глоссарий
  • Бизнес-термины
  • Продуктовые термины
  • Технические термины
  • Сокращения

Введение (control plane)

Previous Next

Статус: Draft Дата: 2026-04-29 Область: продуктовая и архитектурная концепция, без выбора конкретных технологий реализации.

Зачем нужен этот раздел

Сейчас многие инфраструктурные сущности в AIOps являются metadata-сущностями: cluster, node, service, deployment и marketplace service описывают объект, связи и атрибуты, но не выражают полный процесс управления реальной инфраструктурой.

Для настоящего управления инфраструктурой нужен отдельный слой control plane. Он должен описывать не только "что хранится в базе", но и:

  • какой результат пользователь хочет получить;
  • какие capabilities нужны для результата;
  • какие capabilities и artifacts создает каждый шаг;
  • какой DAG операций надо выполнить;
  • где нужны approval, verification, ручное вмешательство или AI-анализ;
  • как связать процесс выполнения с итоговым состоянием ресурса.

Главная идея

Пользователь описывает желаемый результат. Control plane строит проверяемый план, разрешает зависимости через capabilities, исполняет DAG как operation run, собирает evidence и обновляет состояние управляемых ресурсов.

flowchart LR intent[Intent
Desired result] --> resolve[Capability resolution] resolve --> plan[Editable DAG plan] plan --> run[Operation run] run --> evidence[Evidence and artifacts] evidence --> resources[Managed resources] resources --> observed[Observed state] observed --> resolve

Эта модель должна поддерживать две оптики:

  • Simple mode: "получить рабочий Kubernetes/Postgres/Tempo/S3/сервис".
  • Advanced mode: "показать DAG, стадии, контракты, логи, artifacts, evidence, gates и точки вмешательства".

Это не два разных продукта. Это один control-plane объект с разной глубиной отображения.

Почему это не CRUD

CRUD меняет данные в базе. Control plane управляет переходом реальной системы из одного состояния в другое.

Пример:

  • CRUD: создать запись cluster со статусом provisioning.
  • Control plane: проверить ноды, credentials, сеть, установить runtime, инициализировать control plane, установить CNI, добавить workers, проверить health, сохранить kubeconfig, endpoint, evidence и итоговый статус.

Ресурс и операция должны быть разными сущностями.

flowchart TB cluster[Resource: cluster/prod-k8s] operation[Operation: Create Kubernetes Cluster #482] plan[Plan: concrete editable DAG] history[Timeline, logs, artifacts, interventions] state[Resource state and health] operation --> plan operation --> history operation --> state state --> cluster

Ключевые понятия

Понятие Смысл
Resource Управляемая сущность: cluster, node, service, postgres, tempo, deployment, pod, process
Intent Намерение пользователя: желаемый результат, параметры и ограничения
Capability Способность или свойство, которое требуется или предоставляется ресурсом, сценарием или job
Artifact Конкретный объект, файл, секрет, конфиг или output, который нужен другим шагам
Evidence Доказательство, что состояние достигнуто: check, log, metric, command output, health result
Scenario Шаблон действия из marketplace или внутреннего каталога
Plan Конкретный DAG, построенный из scenario под конкретный intent и environment
Operation Фактический запуск plan с timeline, состоянием, логами и решениями
Stage Крупный этап, понятный человеку
Job Атомарный исполняемый шаг с контрактом input/output
Gate Точка остановки для approval, выбора варианта или проверки риска
Intervention Ручное или AI-вмешательство в выполнение
PlanPatch Формальное изменение plan: вставить, заменить, убрать или изменить узлы
ResourceBinding Связь requirement с конкретным resource/provider

Capability + DAG

Capability отвечает на вопрос "что нужно или что уже есть". DAG отвечает на вопрос "как безопасно этого достичь".

Marketplace-сценарий не должен жестко говорить "установи MinIO". Он должен говорить "мне нужна capability object_storage.s3". Control plane уже выбирает provider:

  • использовать существующий MinIO;
  • использовать внешний AWS S3;
  • создать dedicated MinIO через sub-operation;
  • остановиться на gate и попросить пользователя выбрать вариант.
flowchart TB tempo[Intent: Install Tempo] tempo --> k8sReq[requires kubernetes.cluster] tempo --> s3Req[requires object_storage.s3] tempo --> nsReq[requires kubernetes.namespace] k8sReq --> k8s[binds cluster/prod-k8s] s3Req --> missing{matching provider exists?} missing -->|yes| existing[bind existing S3 provider] missing -->|no| minio[run sub-operation: Install MinIO] nsReq --> namespace[create or bind namespace] k8s --> plan[Install Tempo DAG] existing --> plan minio --> plan namespace --> plan

Job как контракт трансформации

Каждый job в DAG не просто "выполняет команду". Он трансформирует входные capabilities и artifacts в новые capabilities, artifacts и evidence.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
inputs:
  capabilities:
    - ssh.access
    - linux.host
    - package.manager.apt
  artifacts:
    - node_inventory
    - registry_mirror_config

outputs:
  capabilities:
    - container.runtime.containerd
  artifacts:
    - containerd_config_snapshot
    - package_install_report
  evidence:
    - containerd_service_active
    - crictl_works

Стадия считается успешной не потому, что команда завершилась с exit code 0, а потому что заявленные output capabilities подтверждены evidence.

Marketplace как набор scenario packs

Marketplace должен содержать не только карточки сервисов, но и scenario packs:

  • какие resource types пакет умеет создавать или обслуживать;
  • какие actions поддерживает: install, upgrade, scale, repair, uninstall;
  • какие capabilities предоставляет;
  • какие capabilities требует;
  • какие plan templates поставляет;
  • какие gates, permissions и risk levels нужны;
  • какие stages можно редактировать в advanced mode.

AI и ручные вмешательства

AI не должен быть "магией сбоку". Он должен работать через тот же протокол:

  • анализировать failed stage и evidence;
  • предлагать PlanPatch;
  • добавлять diagnostic jobs;
  • предлагать sub-operation для недостающей capability;
  • объяснять риск и blast radius;
  • выполнять только разрешенные действия по policy.

Ручное вмешательство тоже является частью модели. Пользователь может починить проблему руками, отметить stage как manually fixed, после чего control plane обязан выполнить verification перед продолжением.

Документы раздела

  • Domain Model v0 - сущности, связи, ownership, статусы и инварианты.
  • Component Architecture - микросервисы, модули, коммуникация и инфраструктурные технологии.
  • Сервисная архитектура - подробная документация по core-сервисам platform-core.
  • Protocol v0 - черновая модель объектов и контрактов.
  • Примеры сценариев - Kubernetes cluster, Tempo с S3 dependency, AI PlanPatch, ручное исправление.
Диаграмма: auth микросервисы Архитектура компонентов (control plane)
Меню
Главная Карта документации
0. С чего начать
С чего начать Что это за продукт Для кого он Как устроена документация Быстрые ссылки Как начать разработку Как найти нужный сервис К кому идти по вопросам
1. Продукт
Продукт
2. Домены
Домены Домен: Профиль пользователя Домен: Поиск Домен: Заказы / транзакции Домен: Уведомления Домен: Аналитика Домен: Рекомендации
3. Архитектура
Архитектура Диаграмма: auth микросервисы
4. Инженерия
Инженерия
5. Платформа
Платформа Облако Объектное хранилище CI/CD Секреты и сертификаты Резервное копирование и восстановление
6. Разработка
Разработка Быстрый старт Локальная настройка Карта репозиториев Стандарты кода Git-процесс Стратегия ветвления Руководство по код-ревью Критерии готовности Процесс релиза Флаги фич FAQ разработчика Миграция secure auth
7. Эксплуатация
Эксплуатация Дежурство Управление инцидентами Уровни критичности Политика эскалации Постмортемы Ранбуки Управление изменениями Непрерывность бизнеса
8. Аналитика
Аналитика План трекинга событий Определения KPI Каталог дашбордов Словарь метрик Эксперименты Стандарты отчётности
9. Управление
Управление Решения (ADR) Политика статуса контента Changelog обновлений документации

На странице

Зачем нужен этот раздел Главная идея Почему это не CRUD Ключевые понятия Capability + DAG Job как контракт трансформации Marketplace как набор scenario packs AI и ручные вмешательства Документы раздела