Открытый AI-инфраструктурный комбайн: как заменить Vercel, Sentry, PostHog и Resend одним self-hosted агентом на Rust

Я — Denis Shokhirev, Enterprise AI architect из Фрайбурга. За последние 6 месяцев я внедрил 14 production AI-агентов для B2B-клиентов в DACH, весь стек — Claude, Supabase, n8n, Doppler, self-hosted Postgres. На прошлой неделе опять словил три разных инцидента: один — отвалился email-отправщик, второй — лагал трекинг действий пользователей, третий — потерялись метрики ошибок. Все это — на разных SaaS, с разными интерфейсами и billing. В какой момент хватит платить за четыре дублирующих сервиса, когда можно поднять всё в одном Rust-агенте?

Почему SaaS-стек уже не тянет: реальные боли

1. Сложность и фрагментация

Vercel для деплоя, Sentry для ошибок, PostHog для аналитики, Resend для email. Каждый сервис требует отдельного аккаунта, API-ключа, интеграции, мониторинга и оплаты. Если одна из сторон падает — вы теряете часть цепочки. На реальном проекте для транспортного логистического клиента я потратил 4 часа только на расследование, где «потерялся» alert — оказалось, webhook не дошёл из одного сервиса в другой.

2. Cost-эффективность и GDPR

При объёмах больше 10K событий в сутки SaaS начинает стоить сопоставимо с зарплатой middle-инженера. В DACH клиенты требуют DSGVO/GDPR-соответствия — хранить данные в Европе, полный контроль над аудитом. SaaS на американских серверах часто не проходит security review.

Паттерн "Self-hosted AI Infra Agent"

Зачем Rust?

Rust — это не хайп. За последние полгода на Rust поднял три продакшн-сервиса: latency ниже 30ms на API-запрос, падений — 0. Сложность кода оправдана стабильностью и безопасностью (отсутствие null, borrow checker). Для AI-инфраструктуры где важна скорость и memory-safety, альтернатив нет.

Какие компоненты реально заменить?

СервисSelf-hosted Rust альтернативаКратко
Vercel (deploy, edge functions)Axum, Shuttle, Docker ComposeAPI сервер, edge-функции на Rust, деплой через Compose
Sentry (error tracking)Sentry self-hosted, tracing + opentelemetryЛокальный инстанс, интеграция через Rust crates
PostHog (analytics)ClickHouse, RudderStack, custom eventsХраним и анализируем события сами
Resend (email)Mailpit + lettreЛокальный SMTP relay + рассылка с Rust

Как собрать одного агента: главный workflow

1. Архитектура

Один бинарник на Rust (например, на базе Axum или Actix), в котором:

  • REST/GraphQL API для получения событий
  • Обработка ошибок и логирование (через tracing, sentry)
  • Отправка email (через lettre, Mailpit)
  • Сбор и запись аналитики (ClickHouse, Postgres, event-queue через RabbitMQ или native async)
  • UI для просмотра метрик (через Tauri или webview)

2. Пример кода: event ingestion и email


use axum::{Router, routing::post, extract::Json};
use serde::Deserialize;
use lettre::{Message, SmtpTransport, Transport};

#[derive(Deserialize)]
struct Event {
    user_id: String,
    event_type: String,
    payload: serde_json::Value,
}

async fn ingest_event(Json(event): Json) {
    // Запись события в ClickHouse/Postgres
    // Логирование ошибок через sentry
    // Отправка email при необходимости
    let email = Message::builder()
        .from("[email protected]".parse().unwrap())
        .to("[email protected]".parse().unwrap())
        .subject("New Event")
        .body(format!("Event: {:?}", event))
        .unwrap();

    let mailer = SmtpTransport::relay("localhost").unwrap().build();
    mailer.send(&email).ok();
}

// main, router, etc.

3. Интеграция с аналитикой

Для сбора событий — пишу их напрямую в ClickHouse. Для визуализации — Metabase self-hosted или Superset. Это снимает ограничение на кастомные event-схемы.

Безопасность: статический и runtime-анализ

1. Статический анализ

Для Rust-кода — clippy, semgrep, bandit (для Python-частей, если используются). На трёх последних проектах semgrep ловил потенциальные XSS-инъекции в auto-generated UI.

2. Runtime sandbox

Docker Compose, ограничение сетевых прав, отдельные volume для логов. Для AI-агентов — изоляция через namespaces. Логи сразу уходят в централизованный storage, чтобы не утерять при падении контейнера.

Продакшн-контур: автоматизация и мониторинг

n8n + Doppler для orchestration

n8n — для автоматизации действия после события (например, alert в Telegram или Slack при ошибке). Doppler — для управления secrets, чтобы не хранить токены в коде.


version: '3.9'
services:
  ai-infra-agent:
    build: .
    ports:
      - "8080:8080"
    environment:
      - RUST_LOG=info
      - DATABASE_URL=postgres://user:pass@db/aiagent
      - CLICKHOUSE_URL=http://clickhouse:8123
    depends_on:
      - db
      - clickhouse
  db:
    image: postgres:15
  clickhouse:
    image: clickhouse/clickhouse-server:23

FAQ

Можно ли всё это поднять на одном сервере?

Да, если не перегружать event rate (>10K/sec). Для большинства B2B-агентов хватает одной машины с 8ГБ RAM.

Чем self-hosted отличается от SaaS по SLA?

Вы сами отвечаете за аптайм и бэкапы. Но зато нет vendor lock и просадок из-за внешних проблем SaaS.

А как с legal/audit?

Все данные на ваших серверах, можно хранить логи 2+ года для аудита. В Европе — это must-have для GDPR/DSGVO.

Что с обновлениями и CVE?

Rust-контейнеры редко уязвимы, но автоматические обновления образов надо настроить через watchtower или CI/CD.

А если нужна интеграция с внешними SaaS?

Через REST/webhook, изолируя sensitive данные. Но ядро лучше держать у себя.

В каком месте вашей AI-инфраструктуры чаще всего отваливается мониторинг или алерты — ошибки данных, сбои email, или лаги аналитики? Я реально хочу понимать, где у вас болит.

Я провожу бесплатный 30-мин аудит стека для DACH-команд, кто строит AI в регулируемых отраслях. Напишите в LinkedIn или в @ger_dennis_ai.

Read more

Computer-Use-Agenten scheitern an Pixeln: wie Sie auf stabile UI-Referenzen über Accessibility Trees umstellen und fehleranfällige Desktop-Automatisierung nicht mehr ständig reparieren

von Denis Shokhirev, Enterprise AI Architect aus Freiburg im Breisgau Ich bin Denis Shokhirev, Agentic AI Systems Architect in Freiburg im Breisgau, Germany, und bei DennisCraft AI Studio setze ich produktive KI-Systeme für DACH-B2B-Kunden auf Basis von Claude, Supabase, n8n, Doppler und selbst betriebenem Postgres um. Die teuersten Fehler in

By Denis Shokhirev

Компьютерные агенты ломаются на пикселях: как перейти на stable UI refs через accessibility tree и перестать чинить flaky desktop automation

Я Denis Shokhirev, Agentic AI Systems Architect из Freiburg im Breisgau, Germany, и в DennisCraft AI Studio я собираю production AI-системы для DACH B2B на Claude, Supabase, n8n, Doppler и self-hosted Postgres. Самая дорогая поломка в desktop automation, которую я вижу у клиентов, почти никогда не связана с моделью: агент

By Denis Shokhirev