В течение нескольких лет писал для себя софт, теперь многие у меня его просят. Я хочу продавать доступ по подписке.
Всё ПО состоит из базы данных и примерно 40 файлов. БД на MySQL на 300 000 строк, 50 мбайт.
Изначально не рассчитывал на это, поэтому почти весь код придётся переписать, но меня больше всего беспокоит вопрос обновлений. Как дать доступ к ПО для 100 пользователей, но при этом оперативно обновлять и БД и файлы у всех?
Я никогда не занимался продажей софта или вообще дистрибуцией, и не в курсе, как это должно работать, я вижу несколько вариантов:
- у каждого пользователя свой поддомен, своя БД, свой набор файлов. Хочешь обновлений - плати, и я вручную накачу тебе все наработки
- у каждого пользователя свой поддомен, своя БД, свой набор файлов. но обновления (и файловые и в БД) каким-то образом прилетают всем пользователям автоматически
- единый набор файлов для всех и своя база данных у каждого пользователя. в ПУ авторизуешься, и по логину скрипт определяет, что тебе выводить
- единый набор файлов, единая база данных, в каждой таблице есть client_id, по которому скрипт запрашивает только информацию для пользователя. но при 100 пользователях как я - получится 30 млн строк и 50 гбайт веса, не многовато ли для одной БД?
Мне больше всего нравится второй вариант - пусть нагрузка будет больше, но зато можно изолировать пользователей друг от друга на разные сервера, да и вообще это выглядит логичным. Но повторюсь, у меня нет подобного опыта. Может быть, есть уже готовые платформы, которые позволяют автоматически создавать поддомены, и отправлять пользователям обновления?
Подскажите пожалуйста, хотя бы что мне гуглить.