Микросервисы внедряют ради производительности, отказоустойчивости, четких границ и независимых релизов. На практике эти обещания часто оборачиваются издержками, а не ожидаемыми преимуществами.

Вызов функции через HTTP или gRPC требует в 3,5 раза больше ресурсов, чем вызов внутри процесса. Использование RabbitMQ увеличивает затраты ресурсов в 6,3 раза из-за накладных расходов на взаимодействие.

Эксперимент Google с приложением Online Boutique показал: объединение 11 микросервисов в один процесс снижает потребление ядер в 9 раз и сокращает задержку в 14 раз по сравнению с распределенной версией.

Отказоустойчивость в микросервисах часто остается теоретической, так как каскадные сбои случаются регулярно, а тестирование обработки ошибок требует значительных усилий и проводится редко.

Миграция эталонного приложения eShop с десяти микросервисов на три модуля позволила сократить потребление памяти на 75%, нагрузку на CPU на 81% и объем серверного кода на 39%.