Архитектура Skitflow
Обзор control plane, runtime, observability, storage и AI Gateway architecture в Skitflow.
Понимание архитектуры Skitflow важно и для развёртывания, и для масштабирования приложений. Диаграмма ниже показывает текущий control plane и runtime flow, включая слой AI Gateway, через который работают AI Assistant и другие AI-функции.
Skitflow control plane, workloads, AI, and data fabric
A layered view of the public ingress, Docker Swarm runtime, governed AI access, observability store, and replicated storage.
Skitflow and user workloads run as services across one or more Swarm nodes.
Core state, queues, and telemetry are separated into explicit backing services.
Model access stays centralized for built-in and external agent workflows.
LINSTOR replicated volumes
DRBD-backed replicas keep workload data available across Swarm nodes without turning storage into a mystery box under the diagram.
Основные компоненты
При установке Skitflow разворачивает основные сервисы, на которых работает платформа:
- Next.js application — frontend, dashboard, API и логика control plane. Server-side rendering объединяет UI и backend в одно приложение.
- PostgreSQL — основная база данных для организаций, проектов, окружений, приложений, деплоев, provider settings, AI routing и audit data.
- Redis — deployment queue и cache. Он сериализует работу, чтобы деплои не перегружали сервер.
- Traefik — reverse proxy и load balancer. Он маршрутизирует публичный трафик и в dashboard Skitflow, и в приложения, которые вы деплоите.
Docker Swarm по умолчанию
Skitflow по умолчанию работает как Docker Swarm cluster. Начните с одной ноды и добавляйте новые по мере необходимости: Swarm распределяет сервисы по нодам и перезапускает их при отказе одной из них, без изменений в том, как вы деплоите.
Реплицируемое хранилище на LINSTOR
Когда вы используете больше одной ноды, Skitflow может реплицировать volumes между ними с помощью LINSTOR, на базе DRBD. Данные сервиса заранее синхронизируются на другой ноде, поэтому при отказе ноды Swarm может перезапустить нагрузку там, где уже есть актуальная реплика. См. LINSTOR Distributed Storage.
Observability на ClickHouse
Runtime logs, distributed traces, route metrics и resource metrics собираются telemetry agents и хранятся в ClickHouse, columnar engine для больших объёмов телеметрии. Dashboard читает ClickHouse для людей, а AI Assistant может использовать тот же operational context для диагностики и proposals. См. Observability.
AI Gateway
AI Gateway — это слой routing и governance для AI-функций Skitflow. Когда он включён, Skitflow маршрутизирует AI calls через LiteLLM-compatible gateway, а не вызывает каждого provider напрямую из каждой функции.
Gateway даёт:
- Provider routing — можно направлять organization default, Assistant и Ask AI в разные providers или в platform default model.
- BYOK и platform models — tenants могут использовать собственные provider keys, а managed deployments могут давать platform fallback model.
- Per-organization attribution — gateway traffic идёт через organization-scoped virtual keys, чтобы usage можно было атрибутировать и ограничивать.
- Usage и governance — operators могут смотреть usage и управлять budgets, не раскрывая provider secrets.
Если gateway выключен, Skitflow использует прежний direct provider configuration path. Если gateway включён, но недоступен, AI-функции корректно возвращают ошибку, а не зависают на мёртвом upstream.
AI Assistant
AI Assistant — это теперь основной product-facing assistant, а не отдельный "AI DevOps Agent". Он использует AI Gateway для model routing и умеет работать с:
- Docker Compose generation и deployment flows.
- Compose review и security hardening.
- Diagnostics для applications, compose, databases, backups, domains и environments.
- Proposal-based operations, которые требуют явного подтверждения перед mutation.
- Observability и scoped operational context, когда доступно.
Вместе эти слои позволяют Skitflow деплоить приложения, сопровождать инфраструктуру и маршрутизировать AI work через управляемый gateway, а не разбрасывать provider calls по всему продукту.