Привет всем, так что я работаю над проектом, и я не буду вдаваться в подробности, но он будет запрограммирован / спроектирован мной и позволит клиентам подписаться на свой собственный экземпляр, где они смогут настроить Это. Думайте об этом как о чем-то похожем на phpbb, где они являются моими хостами, за которые клиенты будут платить ежемесячную плату и получат поддомен для своей версии проекта.
Я пытаюсь решить, как я собираюсь настроить это на стороне сервера, и вижу следующие параметры:
1) Размещать все на одном или двух серверах
Плюсы
- Легко выталкивать изменения, поскольку все находится в одном окне
- Получение поддоменов, указывающих на одно и то же место, будет несложно, поскольку в исходном коде будет только одно место и только одна база данных
- Пользователи смогут использовать глобальный логин для всех клиентов, поскольку существует только одна
users
таблица
Против
- Масштабирование станет быстрым, так как весь трафик будет на одной коробке
- Запросы к базе данных будут медленными из-за большого количества строк (для большинства вещей будет поле
client_id
для идентификации того, какие данные принадлежат какому поддомену)
2) Воспользуйтесь EC2, Rackspace Cloud или чем-то подобным
Плюсы
Против
- У меня просто нет опыта работы с платформой, чтобы предвидеть все проблемы (да, я знаю, извините)
- Не уверен, как я смогу распространять новые версии на все экземпляры
- Не уверен, смогу ли я как-нибудь настроить его так, чтобы, как только клиент заплатил, он сразу же настроил свой экземпляр и все было готово
- Не знаю, как мне реализовать глобальную систему входа в систему (хотя, похоже, 37 сигналов делают это)
Кажется, что лучший вариант - это что-то облачное, и единственная реальная проблема - это отсутствие у меня опыта.
Кто-нибудь когда-нибудь запускал что-то подобное? Что ты сделал? Какие-либо проблемы, о которых я не думаю?