从零开始创建SaaS应用程序

11

就我增长知识方面而言,我想尝试制作一个SaaS应用程序。我不太在意应用程序的功能,但我想学习其中的技术。那么我的问题是,是否有人能够友好地向我展示从何处开始?有哪些好的阅读材料、教程、文章或书籍可供参考?我最感兴趣的是:

  • 每个用户注册后,都有自己的游戏区域在username.domain.com上
  • 应用程序应该使用某种主脚本,为所有用户生成内容
  • 这种应用程序的陷阱是什么?
  • 需要什么技术后端?

我愿意尝试使用Ruby on Rails解决方案。抱歉我的英语不好,希望我表达清楚。谢谢


1
首先,“软件即服务”不是一种特定的实现技术,而是一种可用多种技术实现的商业模式。我曾听说过只需在一台机器上安装OpenOffice并允许数百个用户从远程机器上使用它的例子。更多信息请参见:维基百科 - Tadeck
4个回答

8

您想要构建一个多租户解决方案。

需要考虑以下几点:

  • 每个用户都应该有一个隔离的数据库。这意味着您需要选择一个可以在运行时切换数据库的数据库驱动程序。数据库的id可以基于域名的用户部分。

  • 您可以使用Devise+cancan进行注册。但是,您需要重新定义一些Devise控制器,以便它们考虑到数据库。

  • 您可以考虑阅读Paul Dix的《Ruby和Rails的面向服务设计》。它提供了许多有趣的思路,可以用来构建高效的面向服务的应用程序,毫无疑问,这是您应该努力创建的架构类型。

  • 我建议您使用Heroku来托管应用程序。MongoHQ非常适合数据库 - 他们有一个API可以编程方式进行CRUD。

  • 最后,请记得全面测试您的应用程序。Capybara加上Steak进行集成测试,RSpec进行模型和控制器测试,Jasmine进行Javascript测试。

  • 此外,不要实现自己的支付系统。有很多提供商可以使用,例如http://recurly.com/


1

+1 给 Rails 工具包。我购买了它,这可能是我做过的最好的购买之一。节省了很多时间! - Trevan Hetzel

1

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接