Breaking up a Monolith Khan Academy

·

Пример переписывания монолита на сервисы.

TL;DR:

  • Переписывание 1 млн строчек python на golang заняло 3.5 года и 100 инженеров в пике.
  • Для переписывания поставили GraphQL gateway, вытаскивали функциональность и последовательно переключали.
  • Сразу были очерчены границы того, что надо переписать в минимальном варианте и поставлен дедлайн в 2 года (MVE).
  • Только один сервис может обновлять данные, все остальные должны делать через API.

Pasted image 20230302211412.png

Link:: https://newsletter.pragmaticengineer.com/p/real-world-eng-8