Self-hosted: заменяем платные сервисы и экономим сотни тысяч рублей
Delivery-платформа сократила расходы на картографический API в 15 раз, перейдя на self-hosted OSRM. Разбираем семь категорий платных сервисов, которые можно развернуть самостоятельно — и сколько это реально экономит.
Если вы платите за Яндекс Карты API, Яндекс 360, VK Teams или GitLab Premium — пора пересчитать, сколько это стоит на самом деле. Одна delivery-платформа перешла с платного картографического API на self-hosted OSRM и сократила расходы на геокодирование и маршрутизацию в 15 раз. Это не единичный кейс: сообщество r/selfhosted полно похожих историй.
Кратко
- Платный картографический API → OSRM: экономия в 10–15 раз — реальный кейс delivery-платформы
- Email, мониторинг, CI/CD, аналитика, хранилище и чат — в каждой категории есть зрелая open-source альтернатива
- Для российских компаний self-hosting особенно актуален: западные сервисы ушли, а российские SaaS дорожают
- Docker Compose + VPS — минимальный порог входа для большинства инструментов
- Скрытые затраты: время на поддержку, бэкапы, обновления — закладывайте их в расчёт экономии
Почему self-hosting стал мейнстримом
Три года назад self-hosting был уделом энтузиастов с домашними серверами. Сейчас это осознанный бизнес-выбор. Причин несколько.
Цены SaaS растут быстрее инфляции. Яндекс Карты API стоят от 195 000 ₽ в год за минимальный тариф. VK Teams — от 207 ₽ за пользователя в месяц, и это базовый план. GitLab Premium — $29 за пользователя. Команды, которые закладывали скромный бюджет на SaaS-инструменты, через год обнаруживают счёт в разы больше.
Западные сервисы ушли из России. AWS, Slack, Heroku, 1Password, Datadog, Mailgun — всё это больше недоступно для российских компаний. Те, кто зависел от этих сервисов, были вынуждены мигрировать экстренно. Self-hosted решения не зависят от геополитики: ваш сервер, ваши данные, ваши правила.
Вендор-лок — реальный риск и на российском рынке. Тарифы меняются, условия ужесточаются, функциональность урезается. Если ваш бизнес-процесс завязан на конкретный SaaS — вы заложник его ценовой политики.
Приватность данных — юридический вопрос. 152-ФЗ о персональных данных, отраслевые требования (PCI DSS, банковская тайна) — многие компании обязаны хранить данные на собственной инфраструктуре. Self-hosted решает это по определению.
Инфраструктура подешевела. VPS на Timeweb Cloud стоит от 477 ₽/мес, на Selectel — сравнимо. 4 ГБ RAM и 80 ГБ SSD — достаточно для большинства self-hosted инструментов. Docker Compose снял барьер входа: развернуть сервис — это написать 30 строк YAML.
Кейс: платный картографический API → OSRM, экономия в 15 раз
Delivery-платформа с несколькими тысячами заказов в день платила за картографический API десятки тысяч рублей ежемесячно — за геокодирование адресов, построение маршрутов и отображение карт в приложении курьера. Для контекста: Яндекс Карты API стоят от 195 000 ₽/год только за JavaScript API при 1 000 запросов в сутки. При росте нагрузки счёт быстро уходит за миллион.
Стек замены:
- OSRM (Open Source Routing Machine) — построение маршрутов, аналог Directions API
- Nominatim — геокодирование и обратное геокодирование на данных OpenStreetMap
- OpenStreetMap — картографические данные, обновляются сообществом
- TileServer GL — для отображения тайлов в приложении
Итог: VPS с 16 ГБ RAM для OSRM (маршрутизация требовательна к памяти, данные OSM для региона занимают 10–30 ГБ) плюс инстанс для Nominatim. На Selectel или Timeweb это 3 000–5 000 ₽ в месяц вместо сотен тысяч за платный API.
Важный нюанс: OSRM строит маршруты быстрее платных API за счёт предвычисленных графов (алгоритм Contraction Hierarchies). Для курьерской логистики это плюс — время отклика ниже 50 мс при локальном развёртывании. Минус — карты OpenStreetMap в малонаселённых регионах России менее детализированы, чем Яндекс Карты. В крупных городах качество сопоставимо.
Категории замен: что и на что менять
Корпоративная почта: Яндекс 360 → Stalwart Mail
Яндекс 360 для бизнеса стоит от 249 ₽/пользователь/мес. Для команды из 50 человек — от 12 450 ₽/мес, или ~150 000 ₽/год. VK WorkMail — в том же диапазоне.
Stalwart Mail Server — современный self-hosted почтовый сервер на Rust: поддерживает SMTP, IMAP, JMAP, имеет встроенный антиспам, написан с нуля без легаси Postfix/Dovecot. Разворачивается одной командой через Docker. Альтернативы — Maddy (легче, для небольших команд) и Mailu (полный стек с веб-интерфейсом).
Что нужно учесть: для надёжной доставки писем важны корректные записи SPF, DKIM, DMARC и обратный DNS. IP-адрес VPS не должен быть в спам-листах. Self-hosted почта оправдана для корпоративной переписки. Для transactional email (сброс пароля, уведомления) можно использовать self-hosted Haraka или Postal.
Мониторинг: платные облачные решения → Grafana + Prometheus
Платный мониторинг в облаке — это либо встроенные решения провайдера (Яндекс Monitoring, VK Cloud), либо коммерческие лицензии Zabbix Enterprise. При росте количества хостов и метрик стоимость быстро растёт: Zabbix Enterprise стоит от нескольких сотен тысяч рублей в год в зависимости от масштаба.
Стандартный self-hosted стек: Prometheus (сбор метрик) + Grafana (дашборды и алёрты) + Loki (агрегация логов) + Tempo (трейсинг). Grafana Labs предоставляет весь стек под открытой лицензией. На tproger.ru есть подробный материал о Grafana Mimir — горизонтально масштабируемом хранилище для Prometheus-метрик.
Prometheus + Grafana — де-факто стандарт в Kubernetes-инфраструктурах, поэтому переход обычно не требует переобучения команды. При этом вы получаете полный контроль над данными и никаких ограничений на количество метрик.
CI/CD: GitLab SaaS → Gitea + Woodpecker или GitLab CE
GitLab Premium стоит ~$29/пользователь/мес. Для команды из 20 разработчиков — около $7 000 в год. Платные раннеры GitLab SaaS расходуются быстро: команда с активным CI легко тратит $500–1 500/мес на compute-минуты.
Gitea — лёгкий self-hosted Git-хостинг (форк Gogs), занимает меньше 100 МБ RAM. В связке с Woodpecker CI (форк Drone CI) получаете полный аналог GitHub/GitLab. Синтаксис pipeline в Woodpecker намеренно похож на GitHub Actions — миграция занимает часы.
Альтернатива — GitLab CE (Community Edition): бесплатная self-hosted версия GitLab со встроенным CI/CD. Требует больше ресурсов (минимум 4 ГБ RAM), но даёт знакомый интерфейс без платной подписки. Раннеры запускаете на своих серверах — никаких лимитов на минуты.
Аналитика: Яндекс Метрика → Plausible или Umami
Яндекс Метрика бесплатна, но собирает данные ваших пользователей на серверах Яндекса. Для многих компаний это приемлемо. Но если вы работаете с персональными данными, подпадаете под 152-ФЗ или просто не хотите отдавать пользовательскую аналитику третьей стороне — есть self-hosted альтернативы.
Plausible Community Edition и Umami разворачиваются за 15 минут через Docker Compose. Скрипт аналитики весит 1 КБ — страницы грузятся быстрее, и блокировщики рекламы пропускают трафик, потому что запросы идут на ваш домен.
Plausible и Umami не используют cookies и не собирают персональные данные. Это снимает необходимость в cookie-баннерах и упрощает соблюдение 152-ФЗ. Данные хранятся на вашем сервере — никакая третья сторона к ним доступа не имеет.
Объектное хранилище: облачный S3 → MinIO
S3-совместимые хранилища есть у всех российских облачных провайдеров: Яндекс Object Storage, Selectel (от 2,33 ₽/ГБ/мес), VK Cloud. При 10 ТБ данных и активном чтении месячный счёт легко превышает 50 000 ₽.
MinIO — объектное хранилище с S3-совместимым API. Любой код, который работает с S3, работает с MinIO без изменений — достаточно поменять endpoint в конфигурации. На tproger.ru есть практический материал о работе с MinIO в проекте на Go.
MinIO поддерживает erasure coding (избыточность данных), шифрование на уровне объектов и горизонтальное масштабирование. Для хранения медиафайлов, бэкапов и артефактов CI/CD — полноценная замена облачного S3. Стоимость: только ваш сервер или NAS.
Чат и коммуникации: Pachca / VK Teams → Mattermost или Matrix
VK Teams стоит от 207 ₽/пользователь/мес (базовый) до 367 ₽ (расширенный). Pachca — бесплатна для малых команд, но платные тарифы стоят сопоставимо. Для компании из 100 человек на VK Teams — от 20 700 ₽/мес, или ~250 000 ₽/год.
Mattermost — наиболее близкий аналог Slack и VK Teams по UX. Есть мобильные и десктопные клиенты, интеграции, боты, webhook'и. Self-hosted версия бесплатна и поддерживает неограниченную историю сообщений, неограниченное количество пользователей и полный контроль над данными.
Matrix / Element — децентрализованный протокол мгновенных сообщений. Подходит, если нужна федерация между организациями или максимальная приватность. Сервер Synapse или более лёгкий Conduit разворачиваются на VPS за 15 минут.
Пароли и секреты: Passwork / Bitwarden → Vaultwarden
Passwork — российский менеджер паролей для команд, on-premise решение со стоимостью по запросу (от нескольких сотен тысяч рублей за лицензию). Bitwarden cloud — $4/пользователь/мес для бизнеса. Для команды из 20 человек — от $960/год.
Vaultwarden — неофициальная реализация Bitwarden-сервера на Rust, совместимая со всеми официальными клиентами Bitwarden (браузерные расширения, мобильные приложения, CLI). Потребляет меньше 10 МБ RAM. Разворачивается за 5 минут, хранит данные в SQLite. Пожалуй, самое популярное self-hosted приложение в сообществе r/selfhosted.
Когда self-hosting не стоит усилий
Self-hosting — не серебряная пуля. Есть ситуации, когда платный SaaS оправдан.
- Нет DevOps-компетенций в команде. Развернуть сервис несложно — поддерживать его, обновлять, настраивать бэкапы и отвечать за uptime сложно. Если этим некому заниматься, экономия превратится в потери
- Нагрузка непредсказуема. SaaS масштабируется автоматически. Self-hosted требует заранее выделенных ресурсов — или вы упадёте в пиковый момент
- Сервис критичен и требует SLA. Корпоративные SaaS предлагают гарантии uptime и поддержку 24/7. Ваш self-hosted сервер — нет
- Экономия меньше стоимости времени. Если экономия составит 3 000 ₽/мес, а поддержка требует 5 часов инженерного времени — это убыток
Практическое правило: self-hosting оправдан, если экономия превышает стоимость 2–4 часов DevOps-времени в месяц на поддержку. Для большинства инструментов из этого списка это выполняется уже при команде от 5–10 человек.
FAQ
С чего начать, если никогда не разворачивал self-hosted сервисы?
Начните с Vaultwarden — это самое простое развёртывание (5 минут, один Docker-контейнер) и сразу ощутимая польза. Потом попробуйте Plausible или Umami для аналитики. Оба инструмента не критичны — если что-то пойдёт не так, production не пострадает. Параллельно изучите основы Docker Compose и настройки HTTPS через Let's Encrypt + Caddy.
Насколько это безопасно — хранить корпоративные данные на своём сервере?
Всё зависит от того, как настроен сервер. Self-hosted может быть безопаснее облака (меньше поверхность атаки, нет утечек от провайдера) или менее безопасным (если не обновлять, не делать бэкапы, не закрывать порты). Минимум: автообновления через unattended-upgrades, файрвол ufw, fail2ban, HTTPS, регулярные бэкапы в отдельное место.
Как посчитать реальную экономию с учётом скрытых затрат?
Формула: экономия = (текущий SaaS-счёт) − (стоимость VPS + стоимость DevOps-времени на поддержку). DevOps-время считайте честно: первоначальная настройка (4–8 часов), регулярные обновления (1–2 часа/мес), решение инцидентов. Для некритичных сервисов — 1–2 часа/мес, умноженные на вашу часовую ставку.
OSRM — это полноценная замена Яндекс Карт для бизнеса?
Для маршрутизации и геокодирования — да, для большинства задач delivery и логистики. OSRM строит маршруты быстрее платных API (предвычисленные графы), данные OpenStreetMap в крупных городах обновляются активно. Слабые места: качество карт в малонаселённых регионах и отсутствие real-time данных о пробках (для этого нужен отдельный слой).
Как быть с обновлениями — SaaS обновляется автоматически, а self-hosted?
Для Docker-развёртываний используйте Watchtower — он автоматически обновляет контейнеры при выходе новых образов. Для production-критичных сервисов лучше ручное обновление по расписанию (раз в 1–2 месяца) с тестированием на staging. Большинство инструментов из подборки имеют активный цикл выпусков и понятные release notes.
Вывод
Для российских компаний self-hosting — не просто способ сэкономить, а стратегическое решение. Западные SaaS ушли, российские облачные сервисы дорожают, а требования к локализации данных ужесточаются. Self-hosted инструменты решают все три проблемы одновременно.
Рецепт прост: выпишите все SaaS-подписки, посчитайте годовые затраты по каждой категории из этого списка, оцените DevOps-ёмкость команды. Те сервисы, где экономия в 5–10 раз перекрывает стоимость поддержки, — кандидаты на миграцию. Начните с самого дорогого или самого простого в замене — и замерьте результат через квартал.
Сообщество r/selfhosted — хорошее место для старта: там регулярно появляются свежие кейсы, сравнения и готовые Docker Compose-конфиги для большинства инструментов из подборки.