ME

Кейс · Клиент анонимизирован · 2024 · VPN-сервис

VPN-инфра

Multi-region серверная архитектура с биллингом подписок и Telegram-ботом.

Стек проекта

  • Kubernetes (k3s)
  • Docker
  • Nginx
  • PostgreSQL
  • Redis
  • Prometheus + Grafana
  • Loki
  • GitLab CI/CD
  • Telegram Bot API
  • Payme API
  • YuKassa API
Срок
несколько недель
Бюджет
Полная инфра + миграция (от $4000)
Индустрия
VPN-сервис

TL;DR

3 региона k3s multi-region с auto-failover
Telegram биллинг подписок прямо в чате
Payme + YuKassa рекуррентные подписки
24/7 Prometheus + Loki + PagerDuty

Контекст

Вводные данные.

VPN-сервис для розничной аудитории — нужна была инфраструктура, которая выдерживает нагрузку, легко масштабируется по регионам и не падает при пиках. Биллинг подписок завязан на Telegram-бот: пользователь оформляет/продлевает подписку прямо в чате.

Мы отвечали и за инфру (multi-region kubernetes), и за биллинг (рекуррентные платежи через локальные шлюзы), и за Telegram-бота.

Задача

Что нужно было решить.

01

Multi-region Kubernetes с auto-scaling

02

Биллинг рекуррентных подписок через локальные шлюзы

03

Telegram-бот для управления подпиской

04

Мониторинг с алертингом 24/7

05

SLA-поддержка

Решение

Что и как мы сделали.

Развернули k3s-кластеры в нескольких регионах с автоматическим failover. GitLab CI/CD пайплайн с canary-деплоями. Prometheus + Grafana + Loki для observability, алерты в PagerDuty.

Биллинг подписок реализовали через рекуррентные платежи Payme + YuKassa с автоматической пролонгацией. Telegram-бот общается с биллинг-сервисом через внутренний API, сам не хранит критичные данные.

Наблюдение

Multi-region для VPN — не про масштаб, а про отказоустойчивость. Пользователь не должен заметить, что один регион упал.

Этапы

Как разворачивали.

01

k3s в 3 регионах

Автоматический failover между регионами — падение одного не замечают пользователи.

02

GitLab CI/CD

Canary-деплои с автоматическим откатом по метрикам.

03

Биллинг-сервис

Рекуррентные подписки через Payme и YuKassa с автоматической пролонгацией.

04

Telegram-бот

Оформление и продление подписки прямо в чате — бот не хранит критичные данные.

05

Observability

Prometheus + Grafana + Loki с алертами в PagerDuty, дежурный получает 24/7.

Архитектура

Как это устроено.

Клиент Бэкенд Воркеры Внешние API
VPN-клиент Telegram-бот Nginx k3s (multi-region) Биллинг-сервис PostgreSQL Prometheus + Loki Payme API YuKassa API Telegram Bot API

Трансформация

До и после.

Было

Один сервер в одном регионе, биллинг вручную через переписку, нет observability, падение = простой всех пользователей.

Стало

K3s в 3 регионах с auto-failover, рекуррентный биллинг через Telegram-бота, Prometheus + Loki с алертами в PagerDuty 24/7.

Результаты

Что получилось.

Multi-region кластеры с автоматическим failover
Рекуррентные подписки через локальные платёжные шлюзы
Observability с алертингом и SLA-поддержкой

Похожая задача?

Расскажите о вашей ситуации — пришлю расчёт и план в течение рабочего дня.

Обсудить задачу → — Резидент IT Park · Ташкент