А можно живой пример приложения с настолько корявой архитектурой, что её нельзя упростить?
У меня был один проект, в котором нужно было обращаться к сишному демону, который крутился в другом месте. Для этого заказчик просто предоставил доступ по ssh на dev-сервер, тупо, чтобы не заморачиваться с настройкой окружения
Рассказать архитектуру таких монстриков я не могу - NDA, но в разработке нескольких таких я участвовал. Могу приблизительно описать.
В одном случае действительно необходимо было выделять отдельные узлы, некоторые из которых были проприетарные и закрытые, а для некоторых просто изначально наняли команду разработчиков на одном языке, а для других - на другом (вот просто так получилось),
В другом случае нужно было как перемалывать большие объемы данных, так и отдавать уже обработанное в хайлоад (а это как минимум два отдельных узла), плюс админка (которая не хайлоад, а просто внутренняя, для контроля и работы колцентра), плюс хранилище было нужно организовывать совершенно особым образом (да так, что там потребовалось вообще несколько узлов городить для разных типов данных) и отдавать его через конвертеры. В общем, там целая инфрастуктура была, где-то с десяток серверов суммарно.