我正在考虑将我的产品作为服务提供 - 通过在线交付。目前它是一个缩小包装的软件,用户可以下载到他们的服务器并在其服务器上运行 - 例如fogbugz。多个实例的应用程序 - 每个客户一个?
在我的新业务模式中,我将提供两种业务模式,一种是用户在其服务器上安装的传统缩小包装软件 - 并执行所有维护和升级工作。另一种是软件即服务(SaaS)类型,其托管是在我的服务器上完成的,并且用户可以使用一个URL来登录。当然,每个客户帐户都有唯一的URL,例如companya.mysoft.com,companyb.mysoft.com。
现在的问题是因为我已经有一个现有的代码库,我想对我的代码做最小的修改,以便它支持两种业务模式。对于SaaS模式,我想为应用程序创建多个实例 - 每个客户一个实例。所以每个客户都有自己的数据库,他们自己的应用程序。所有的客户数据库和应用程序都位于我的服务器上。好处是我根本不需要更改我的代码。坏事是有很多冗余,可能无法扩展。
您如何看待这种针对每个客户的多重实例?或者我必须修改我的代码,以便支持这两种模式(易于维护和升级)?
编辑:下载版本是需要的,没有办法避免这种情况。
编辑2:我的应用程序是一个PHP应用程序。