В моем проекте есть одна серверная служба (веб-API) и одно внешнее приложение SPA. Серверная служба имеет уровни представления, службы приложений, домена и инфраструктуры, расположенные в разных сборках .net. Уровень предметной области имеет объекты бизнес-домена, инфраструктура — связь с внешними данными и прочее, службы приложений — набор служб, используемых уровнем представления, представление — контроллеры веб-API. Я думаю, что это очень распространенная многоуровневая архитектура.
Наш новый архитектор объявил, что мы собираемся перейти от серверной части к архитектуре микросервисов, разбивая наши уровни и разделяя уровни домена, службы приложений и инфраструктуры на несколько сервисов, а также преобразовать уровень представления в серверную часть для внешнего интерфейса (как здесь описано). В особенности у нас будет мобильное приложение. База данных Sql Server пока останется без изменений.
У меня нет опыта работы с микросервисной архитектурой, поэтому мои вопросы таковы: многоуровневая архитектура уже вышла из моды? Какие преимущества и проблемы может принести такая архитектура для моего приложения?