Компания «ТаскФлоу» — SaaS-платформа для управления проектами с 12 000 активных пользователей — обратилась к нам с неожиданной просьбой: помочь вернуться от микросервисной архитектуры к монолиту. За два года их система разрослась до 47 микросервисов, и команда из 6 инженеров физически не справлялась с поддержкой.
Симптомы были классическими:
- Каскадные сбои — падение одного сервиса (notification-service) вызывало цепную реакцию: task-service ждал ответа, исчерпывал пул подключений, после чего переставал отвечать project-service. В итоге вся платформа ложилась на 15-30 минут 2-3 раза в месяц.
- Ад отладки — один пользовательский запрос проходил через 8-12 сервисов. Для расследования бага инженер тратил 3-4 часа, собирая логи из разных контейнеров. Jaeger-трейсы помогали, но далеко не всегда.
- Инфраструктурный оверхед — 47 сервисов требовали 47 CI/CD пайплайнов, 47 Dockerfile, 23 отдельных базы PostgreSQL. Ежемесячные расходы на Kubernetes-кластер составляли 840 000 ₽ при выручке 2.1 млн ₽.
- Дублирование кода — общие библиотеки (авторизация, валидация, логирование) дублировались в каждом сервисе. Обновление одной зависимости требовало 47 pull requests.
Ключевой вопрос, который мы задали: зачем вам 47 сервисов на команду из 6 человек? Ответ был честным — «так было модно два года назад».
Оставить комментарий