Большинство мультитенантных приложений в мире SAAS, похоже, работают в одной базе данных, используя уникальный идентификатор (идентификатор клиента или учетной записи) для разделения данных.Код довольно прост и работает.Вы можете создавать тесты и аудит для процесса развертывания, чтобы обеспечить конфиденциальность данных.
Однако я бы также посоветовал взглянуть на схемы Postgresql.Использование схемы позволяет вам разбить одну базу данных на несколько уникальных схем с контролируемым доступом.
Подробнее здесь: Стоит ли использовать несколько баз данных? .
Что касается второй части вашего вопроса относительно количества экземпляров - это действительно будет зависеть от самого приложения и от того, сколько ОЗУ оно использует.100 операций чтения / записи в день настолько малы, что не имеют значения, поэтому оперативным фактором является оперативная память.«Среднее» приложение Rails будет использовать что-нибудь от 20-100 МБ на экземпляр, поэтому сервер 2 ГБ должен быть в состоянии запустить довольно много.Конечно, ваше развертывание станет довольно сложным, так как вам нужно будет работать в среде виртуального хостинга, чтобы получить эту настройку эффективно.
Мой голос определенно был бы за одно приложение.