В одной из прошлых компаний руководитель инженерного отдела и главные инженеры решили разбить наше приложение на Ruby on Rails на микросервисы на Go. Они создали очень подробные проектные документы и архитектурные диаграммы. Они сделали все возможное и использовали Kubernetes, gRPC, шаблоны сервисов, в общем, все, что только можно. Вся старшая инженерная команда пришла из Amazon, где они привыкли к тому, что каждая команда отвечает за отдельный сервис. Они попытались применить эту модель напрямую. Но наши проблемы заключались в владении кодом и плохом моделировании домена. Все приложение могло бы работать всего на нескольких экземплярах EC2. Каков был результат? Через пять лет 70% приложения все еще работает на монолите Ruby on Rails. Миграция так и не была завершена. Но теперь им нужно поддерживать две системы. Никто из первоначального руководства больше там не работает.