Добавить в корзинуПозвонить
Найти в Дзене

🪐 Кейс: Как Notion отказывался от монолита и не сломал продукт

История перехода от гигантского Ruby on Rails монолита к сервисной архитектуре — учебник по осторожной эволюции сложной системы. ⛓️ Исходные условия: Один репозиторий, сотни моделей, тысячи endpoints. Любое изменение — риск для всей системы. Новым разработчикам нужны месяцы, чтобы начать эффективно работать. 🌀 Их подход — не «революция», а стратегическое извлечение: Определили границы сервисов по доменам (workspaces, documents, comments, payments), а не по техническим слоям. Создали «мост»: Внедрили механизм для постепенного переноса вызовов внутри монолита через абстракцию (типа API Gateway, но внутренний). Извлекали по одному сервису за раз, тщательно тестируя в продакшене на части трафика (canary-релизы). 🔮 Ключевой инсайт их CTO: «Мы не переписывали систему. Мы отделяли и стабилизировали по кусочку, сохраняя возможность отката». 🕸 Результат: Независимые команды могут деплоить свои сервисы без страха сломать всё. Разные части продукта используют разные технологии (где

🪐 Кейс: Как Notion отказывался от монолита и не сломал продукт

История перехода от гигантского Ruby on Rails монолита к сервисной архитектуре — учебник по осторожной эволюции сложной системы.

⛓️ Исходные условия:

Один репозиторий, сотни моделей, тысячи endpoints.

Любое изменение — риск для всей системы.

Новым разработчикам нужны месяцы, чтобы начать эффективно работать.

🌀 Их подход — не «революция», а стратегическое извлечение:

Определили границы сервисов по доменам (workspaces, documents, comments, payments), а не по техническим слоям.

Создали «мост»: Внедрили механизм для постепенного переноса вызовов внутри монолита через абстракцию (типа API Gateway, но внутренний).

Извлекали по одному сервису за раз, тщательно тестируя в продакшене на части трафика (canary-релизы).

🔮 Ключевой инсайт их CTO: «Мы не переписывали систему. Мы отделяли и стабилизировали по кусочку, сохраняя возможность отката».

🕸 Результат:

Независимые команды могут деплоить свои сервисы без страха сломать всё.

Разные части продукта используют разные технологии (где это оправдано).

Но: Добавилась сложность orchestration, distributed tracing, согласованность данных.

💎 Главный вывод: Миграция с монолита — это операция по разделению сиамских близнецов, а не снос здания. Требует хирургической точности и терпения.

➖➖➖

Приходилось участвовать в подобной миграции? Какие главные боли?

#аналитика #архитектура #микросервисы #кейс #notion