Да, бизнес-логику в приложении. Приложение или self-running docker или на сервере приложений в зависимости от технологии.
Заодно получите и легкость unit-тестирования и легкость обновления окружений. Заодно и асинхронное взаимодействие между отдельными приложениями.У система на хранимках есть заметные недостатки:
* работа на хранимках в БД заточена под массовую обработку. И программисты думают так же. Изменения намного дороже и сложнее.
* код тестовых стендов с хранимками через пару-тройку месяцев разработки расходятся с продакшеном.
* очень мало людей могут мыслить массовой обработкой и эффективно писать системы. потому с системой на хранимках попадаешь в зависимость от конкретного человека. найти замену на рынке практически не реально.
* нет CICD, нет возможности запустить конкретную версию системы в контейнере. сложности с unit-testing.
* системы на хранимках не масштабируются горизонтально. нет технологии поставить 10 серверов СУБД и параллельно обрабатывать входящие запросы. для приложений горизонтальное масштабирование работает достаточно просто.
Веду проект преобразования инфраструктуры из 130+ систем в современную архитектуру. На таком количестве систем собрали все варианты костылей, проблем и извращений.
К примеру, в одной системе эмулировали MQ через таблицы в базе данных, в другой системе придумали эмулировать MQ через динамическую регистрацию URL куда сервер начинает стучаться по запросу. Гарантированная доставка? - нет, не слышали.
Еще изврат с отсутствием изоляции - несколько систем смотрят в одну и ту же базу.
Но самая жесть с системами написанными полностью на хранимках. Еще хуже, что эти системы напрямую лезут в БД соседей. Получается в соседних системах нельзя поменять структуру таблиц - может тихо отвалиться в где-то в хранимках.