Поскольку я совершенно новичок в webhostingcorner, у меня есть несколько вопросов о том, как реализовать / настроить веб-сервер для приложения SaaS. Я собираюсь арендовать собственный сервер для нового продукта (CMS), который запускаю через два месяца. Для меня разработка системы не была такой уж сумасшедшей поездкой, но правильный способ ее реализовать.
Итак, допустим, это моя ситуация:
Я думал о чем-то вроде такой структуры:
./CMS/ [all CMS files]
./Websites/*/ [all websites]
Мой хостинг-провайдер установит обновления для ОС (CentOS, последняя версия) и панели администратора (Direct Admin).
Есть ли у кого-нибудь опыт по этой теме? Или у вас есть какие-то мысли по этому поводу? присоединяйтесь к разговору, так как я новичок в этом.
Вы рассматривали стратегию виртуализации? Таким образом, вы можете легко управлять объемом дискового пространства, доступным для клиента. Вы можете убедиться, что клиенты не могут получить доступ к материалам друг друга. И вы можете быть готовы к масштабированию до большего количества клиентов, убедившись, что виртуальные машины автоматически устанавливаются с помощью шаблона или из золотого образа. Если вам нужно больше оборудования, просто добавьте еще один хост и начните развертывание виртуальных машин или переместите уже работающие виртуальные машины на новый хост. Также правильно настроенная виртуальная инфраструктура позволит вам очень быстро переместить виртуальные машины в публичное облако, такое как Amazon EC2 или RackSpace. Если ваш клиент получает косую черту, может быть безопаснее просто перебросить виртуальные серверы этих клиентов в облако, чтобы другие клиенты не зависли.
Я не понимаю этого блестящего нового термина, который сейчас широко используется в Интернете "SaaS", но ... давайте присоединимся к дискуссии :)
Ваше программное обеспечение готово?
Для квот дискового пространства есть несколько возможностей:
Если я вас достаточно хорошо понимаю, все получат одно и то же программное обеспечение, но, возможно, смогут добавлять свои дополнительные файлы / темы.
Я не знаю, будет ли это отличным решением для вас, но можно смонтировать эталонный шаблон (скажем, срез LVM) в режиме только для чтения и смонтировать в режиме записи дисковое пространство клиента на «тему» или "пользовательская" папка.
Таким образом, все изменения, которые вы вносите в эталонный шаблон, «развертываются» для всех ваших клиентов.
Расскажите подробнее о своих желаниях и потребностях, чтобы мы могли добавить больше советов
Чтобы это было больше похоже на разговор, я отправлю новый ответ.
SaaS действительно новый термин через год или два, и его популярность растет. Фактически, это просто договор с вашими клиентами, основанный на предоставлении услуг. Они сдают в аренду ваше программное обеспечение, чтобы не отставать от их компетенции;)
Моя программа почти готова. Все самое интересное сделано, модули отображения (средство визуализации шаблонов) нуждаются в оптимизации, но готовы к тестированию.
Могу ли я объединить использованные квоты в базе данных с используемым дисковым пространством и используемым пространством электронной почты?
Монтаж невозможен, поскольку все клиенты платят за уникальный шаблон. Вещь, которая является обязательным требованием.
Не зная всех деталей вашего реального приложения CMS, довольно сложно дать конкретный совет. Но если предположить, что в программном обеспечении CMS есть какая-то система, позволяющая различать клиентов и то, к чему они могут получить доступ ваша система DirectAdmin решит все остальное более или менее; он может chroot пользователей (держать их в их собственном каталоге), измерять пропускную способность, использование дискового пространства и применять квоты. Думаю, он также устанавливает MySQL.
Он должен делать то, что вы хотите но с уловкой: только если вы устанавливаете свою CMS на каждый клиентский домен. А чего вы не хотите.
Поэтому я бы посмотрел на ссылку (человек пер.) ваше программное обеспечение CMS в каждый домашний каталог, делая его доступным. Протестируйте это - и БУДЬТЕ ВНИМАТЕЛЬНЫ: если я смогу написать в вашу программу CMS, я смогу взломать всех других клиентов, использующих эту CMS. Так что посмотрите на установку правильных разрешений (человек чмод / человек чоун).
Вы должны иметь возможность решать проблемы, добавляя клиентов в определенные группы и предоставляя пользователю веб-сервера доступ к некоторым (хранилищам) каталогам, в то время как сами клиенты не могут писать в них.
Лично я бы забыл о символических ссылках, дисковое пространство действительно дешевое и обновление установки вашей CMS до неработающего состояния (это случится) ссыт сразу всех ваших клиентов.
Создайте одну установку для каждого клиента, я надеюсь, что это функция приложения для управления несколькими отдельными сайтами с помощью CMS, а не ОС, это просто неправильное место, и я рекомендую всем убегать, а не уходить от продукта, который утверждает, что может управлять несколькими сайтами, но на самом деле требуется несколько установок.
Плюсы: