Python backend · финтех и страхованиеPython backend · fintech & insurance

Бэкенд на Python под нагрузкой High-load Python backends

Меня зовут Ярослав, в GitHub и Telegramferokuk. Четыре года разрабатываю бэкенд в страховании и платежах: антифрод, очереди, аналитика на потоке событий. Нахожу узкие места, в которых сервис теряет в скорости, и держу его стабильным под нагрузкой. I'm Yaroslav — ferokuk on GitHub and Telegram. For four years I've designed and built backends in insurance and payments: antifraud, queues, analytics on an event stream. I work out where and why a service loses speed, and keep it steady under load.

antifraud/api.py live
web UI mobile app partner API
FastAPI gateway 4 pods
payment.received #F203-6642
ANTIFRAUD rules · model v7
01 enrich Redis · velocity cache PostgreSQL · customer profile 02 score 0.24 · flag > 0.80
awaiting event
Kafka decisions ClickHouse audit log
case queue manual review ops alert high-risk only
traffic
2.42k rps p99 85 ms 5xx 0.02%
СОГАЗSOGAZ +13% фрода находится сразуmore fraud caught
СОГАЗSOGAZ 15+ MR в день через ИИ-ревьюMRs a day via AI review
СОГАЗSOGAZ 60→5 мин60→5 min обнаружение инцидентаincident detection
AmPay часы→секhrs→sec задержка аналитикиanalytics lag
AmPay −68% p95 задержки APIAPI p95 latency
ЦИАРСCIARS 1 TB+ данных через пайплайнthrough one pipeline
FastAPI· Django · DRF· PostgreSQL· Kafka· Celery· Redis· RabbitMQ· Kubernetes· LangGraph·
01 — проектыwork

Избранные проектыWhat I've built

Код закрытый, ссылок на репозитории не будет. Ниже описано, что было до и что изменилось после.The work is proprietary, so there are no repository links. What it was and what it became is below.

P—01 · СОГАЗSOGAZ в продеlive

Антифрод по ДМСMedical-insurance antifraud

Страховая платит по счетам от 12 000 клиник и лабораторий. Часть счетов содержит ошибки, часть — намеренный обман, а вручную такой объём проверить невозможно. Сервис проверяет каждый счёт до выплаты: сначала по правилам из клинических рекомендаций Минздрава, затем через ML-скоринг.The insurer pays invoices from 12,000 clinics and labs. Some are mistakes, some are fraud, and nobody can check that volume by hand. The service reviews every invoice before payout: first rules taken from clinical guidelines, then ML scoring.

+13% больше фрода находится до выплатыmore fraud caught before payout
FastAPI PostgreSQL Redis Celery
P—02 · СОГАЗSOGAZ в CI/CDin CI/CD

ИИ-агент для code reviewAI agent for code review

В большой команде ревью становится узким местом: код уже готов, но ждёт освободившегося ревьюера. Агент просматривает merge request первым и берёт на себя механическую часть: стиль, очевидные баги, забытые тесты. Он работает внутри контура, наружу код не уходит.In a big team, review is the bottleneck. The code is done but waits for a free reviewer. The agent looks at the merge request first and takes the mechanical part: style, obvious bugs, missing tests. It runs inside the network; no code leaves it.

15+ MR проходят через агента каждый деньgo through the agent every day
FastAPI LangGraph LangChain MCP FastMCP
P—03 · AmPay в продеlive

Kafka и аналитический пайплайнKafka and the analytics pipeline

Платформа принимает платежи и распределяет их между несколькими провайдерами. Аналитика обращалась прямыми запросами к боевой базе: отчёты отставали на часы и мешали транзакциям. Я вынес события в Kafka через outbox, и дашборды стали читать поток, а не базу, — задержка сократилась до секунд. Кроме того, собрал сервис уведомлений о статусах и перевёл обработку платежей в асинхронный режим.The platform takes payments and routes them across several providers. Analytics used to query the production database directly: reports lagged by hours and competed with live transactions. I moved events into Kafka through an outbox, so dashboards read the stream instead of the database and lag by seconds. Along the way I built the status notification service and made payment processing async.

часы → секhrs → sec задержка аналитики после переноса на поток событийanalytics lag after the move to an events
FastAPI Kafka RabbitMQ Celery PostgreSQL
P—04 · ЦИАРСCIARS сданshipped

ETL и мониторинг перевозокETL and freight monitoring

Заказчик хотел видеть все перевозки на одном экране, но данные были разбросаны по госреестрам и PDF. Я собрал пайплайн: он забирает их, приводит к единой схеме и загружает в Postgres, а поверх строятся дашборды с графами маршрутов. Сложнее всего дался парсер реестров: источник ограничивает частоту запросов и нередко отдаёт повреждённые файлы.The client wanted every shipment on one screen. The data sat in state registries and PDFs. I built the pipeline: it pulls them, maps them to one schema and lands it in Postgres. Dashboards with route graphs sit on top. The hardest part was the registry parser: the source throttles requests and often returns broken files.

50 00050,000 документов госреестров в едином форматеregistry documents in one schema
Pandas SQLAlchemy Flask · Dash Selenium
02 — стекstack

Как я это делаюHow I work

Сервисы и APIServices & APIs

FastAPI — для асинхронных сервисов, Django с DRF — там, где много админки и CRUD. Контракты описываю в Pydantic и покрываю интеграционными тестами с реальной базой и очередью.FastAPI for async services, Django with DRF where there's a lot of admin and CRUD. Contracts live in Pydantic, covered by integration tests against a real database and queue.

FastAPI Django DRF pytest

Данные и очередиData & queues

Основное хранилище — Postgres с составными и частичными индексами под отчёты. Тяжёлые задачи выполняются в Celery, события между сервисами передаются в Kafka через outbox, чтобы не терять их при сбоях.Postgres is the main store, with composite and partial indexes for reports. Heavy jobs go to Celery; events between services go through Kafka with an outbox, so a crash never drops them.

PostgreSQL Redis Kafka Celery ClickHouse

Прод и наблюдаемостьProduction & observability

Сервисы работают в Kubernetes с liveness- и readiness-пробами, сборка и деплой идут через GitLab CI. Метрики собираю в Prometheus и Grafana, алерты настраиваю не только на 5xx, но и на остановку платежей — она не менее критична.Services run in Kubernetes with liveness and readiness probes; builds and deploys go through GitLab CI. Metrics land in Prometheus and Grafana, and alerts cover more than 5xx — payments stopping matters just as much.

Docker Kubernetes GitLab CI Prometheus Grafana

ML и агентыML & agents

ML-скоринг вынесен в отдельный сервис и вместе с ответом возвращает версию модели — без этого принятое решение потом не объяснить. Агентов собираю на LangGraph: явный граф шагов, ограничение на число итераций, лог каждого вызванного инструмента.ML scoring is a separate service that returns the model version with every answer — otherwise you can't explain a decision later. I build agents on LangGraph: an explicit graph of steps, an iteration cap, a log of every tool call.

LangGraph LangChain MCP Pandas NumPy
03 — опытexperience

Где я это делалWhere I did it

Сентябрь 2026 — настоящее времяSep 2026 — present
СбSb

Python-разработчик · СберPython developer · Sber

Перехожу в бэкенд-команду Сбера: те же высоконагруженные сервисы на Python в финтехе, но в другом масштабе.Joining a backend team at Sber — the same high-load Python services in fintech, at a different scale.

Июль 2025 — Сентябрь 2026Jul 2025 — Sep 2026
СОSO

Python-разработчик · СОГАЗPython developer · SOGAZ

Антифрод по ДМС и ИИ-агенты. Отвечал за эти сервисы целиком, включая дежурства. Расчистил узкие места: тяжёлые операции перенёс в приоритетные очереди, переписал ORM-запросы, и обработка счетов перестала упираться в нагрузку. Настроил мониторинг, и инциденты стали обнаруживаться за пять минут вместо часа.Medical-insurance antifraud and AI agents. The services are mine end to end, on-call included. I cleared the bottlenecks: heavy operations moved to priority queues, ORM queries rewritten. Invoice processing stopped backing up. I set up the monitoring, and incidents now surface in five minutes instead of an hour.

Май 2024 — Июль 2025May 2024 — Jul 2025
Ap

Python-разработчик · AmPayPython developer · AmPay

Ядро платёжного сервиса: API для продавцов и обработка транзакций. Собрал сервис аналитики — события уходят в Kafka через outbox, и дашборды читают поток, а не боевую базу. Отдельно написал сервис уведомлений о статусах платежей и перевёл обработку в асинхронный режим.The payment service core: merchant API and transaction processing. I built the analytics service — events go to Kafka through an outbox, so dashboards read the stream instead of the production database. I also wrote the status notification service and moved payment processing to async.

Июль 2022 — Май 2024Jul 2022 — May 2024
ЦиCi

Python-разработчик · ЦИАРСPython developer · CIARS

Проекты под заказчика: бэкенд и аналитика системы мониторинга перевозок, ETL для аналитических моделей. Свёл 100 000 товарных позиций из B2B-каталогов к единой схеме. Для обучения OCR не хватало размеченных данных, поэтому написал генератор синтетических документов.Client projects: backend and analytics for a freight monitoring system, ETL feeding analytical models. I reduced 100,000 product entries from B2B catalogs to a single schema. There wasn't enough labeled data to train OCR, so I wrote a synthetic document generator.

04 — образованиеeducation

Где училсяWhere I studied

2024 — 2028

Факультет информационных технологий и анализа больших данных. Прикладная информатика, направленность «Прикладные информационные системы в экономике и финансах». Учусь параллельно с работой.Faculty of Information Technology and Big Data Analysis. Applied Informatics, track: Applied Information Systems in Economics and Finance. Studying alongside full-time work.

2020 — 2024

Программирование в компьютерных системах, квалификация «техник-программист». Здесь я начал писать на Python и отсюда пришёл на первую работу.Programming in Computer Systems, qualification: software technician. Where I started writing Python, and where my first job came from.

Резюме целикомFull résumé cv.ferokuk.dev ↗
05 — связатьсяcontact

Рассмотрю предложенияOpen to offers

Москва, полная занятость. Открыт к удалённому, гибридному и офисному форматам. Со мной можно связаться по почте или в Telegram — отвечаю в течение рабочего дня.Moscow, full-time. Open to remote, hybrid, and on-site formats. Reach me by email or on Telegram — I reply within one business day.