Приложение SaaS начинается с нуля

Что касается расширения моих знаний, я хотел бы попытаться сделать приложение SaaS. Я действительно не забочусь о функциональности приложения, но я хотел бы узнать о технологиях, стоящих за ним. Так что мой вопрос: будет ли кто-то таким добрым и показать мне, с чего начать? некоторые хорошие чтения, учебники, статьи или книги? Меня больше всего интересует:

  • каждый пользователь после регистрации имеет свою собственную игровую площадку по адресу username.domain.com
  • приложение должно использовать какой-то мастер script, который будет генерировать контент для всех пользователей
  • Каковы подводные камни такого приложения?
  • какой технологический сервер нужен?

Я открыт для решения Ruby on Rails. Извините за мой плохой английский, надеюсь, я разъясню. Благодаря

Ответ 1

Вы хотите создать решение для нескольких арендаторов.

Некоторые вещи, которые следует учитывать:

  • Каждый из ваших пользователей должен иметь изолированную базу данных. Это означает, что вам нужно выбрать драйвер базы данных, который может переключать базу данных во время выполнения. Идентификатор базы данных может быть основан на пользовательской части домена.

  • Для регистрации вы можете использовать Devec + cancan. Но вам нужно будет переопределить некоторые контроллеры Devise, чтобы они учитывали базу данных.

  • Вы можете рассмотреть возможность использования сервис-ориентированного дизайна с Ruby и Rails Paul Dix. У этого есть много интересных идей, которые вы можете использовать для создания эффективного сервис-ориентированного приложения, которое, несомненно, является той видной архитектурой, к которой вы должны стремиться создавать.

  • Я предлагаю вам использовать Heroku для размещения вашего приложения. MongoHQ будет очень приятным для баз данных - и у них есть api, чтобы сделать CRUD на базах данных программным путем.

  • И, наконец, не забудьте полностью протестировать ваше приложение. Capybara plus Steak для тестирования интеграции, RSpec для моделей и контроллеров и Jasmine для Javascript.

  • Кроме того, не реализуйте свою собственную платежную систему. Существует множество поставщиков, которые вы можете использовать, например http://recurly.com/.

Ответ 2

Вы можете взглянуть на комплект Rails на http://railskits.com/saas/

Если вы предпочитаете строить его самостоятельно, посмотрите http://www.chargify.com для обработки ваших платежей.