В настоящее время мы завершаем разработку веб-приложения для отслеживания времени, построенного на ASP.NET и WCF (для разных настольных клиентов). Наши клиенты могут зарегистрировать аккаунт и добавить неограниченное количество пользователей в свой аккаунт. Цены привязаны к количеству активных пользователей в учетной записи компании.
Для простоты и легкости масштабирования мы подумали, что будет хорошим архитектурным решением, если мы спроектируем каждую учетную запись для работы в качестве единого веб-сайта IIS с собственным пулом приложений, базой данных SQL-сервера и поддоменом.
К сожалению, мы быстро сталкиваемся с нехваткой памяти из-за того, что один рабочий процесс будет потреблять не менее 150 МБ, что означает, что для каждой отдельной учетной записи нам потребуется прибл. 200 МБ памяти больше ...
Помимо больших затрат на такую архитектуру (пробные аккаунты!), Мы не уверены, было ли это хорошим решением для масштабирования, чтобы спроектировать архитектуру таким образом.
- Как бы вы создали такой
SAAS-приложений?
- Один пул приложений для многих сайтов?
- Один сайт для многих учетных записей с общей базой данных?
- Масштабирование по вертикали (больше мощности) по сравнению с масштабированием по горизонтали (больше серверов)?
- Какие-нибудь хорошие книги или блоги на эту тему?
Спасибо!