Breaking up a Monolith Khan Academy
·
Пример переписывания монолита на сервисы.
TL;DR:
- Переписывание 1 млн строчек python на golang заняло 3.5 года и 100 инженеров в пике.
- Для переписывания поставили GraphQL gateway, вытаскивали функциональность и последовательно переключали.
- Сразу были очерчены границы того, что надо переписать в минимальном варианте и поставлен дедлайн в 2 года (MVE).
- Только один сервис может обновлять данные, все остальные должны делать через API.
Link:: https://newsletter.pragmaticengineer.com/p/real-world-eng-8