多租户特性一定是SaaS软件的必要特征吗?
发布日期:2016-7-9 20:7:51
当用户选择一个SaaS技术路线时,会面临“单租户SaaS”与“多租户SaaS”两个选择。尽管大部分的ISV提供的是多租户的SaaS,但是开发者同样需知道这两种架构的区别,以保证选择了正确的路线。当前和未来的功能需求,行业的细分,安全的考虑,这些都是选择需考虑的要素。下面是一些关于“单租户SaaS”与“多租户SaaS”架构对比的汇总。 什么是单租户SaaS架构? 单租户SaaS架构,有时也被称作多实例架构(Multiple Instance),指的是为每个客户单独创建各自的软件应用和支撑环境。单租户SaaS被广泛引用在客户需支持定制化的应用场合,而这种定制或是因为地域,抑或是他们需要更高的安全控制。通过单租户的模式,每个客户都有一份分别放在独立的服务器上的数据库和操作系统,或使用强的安全措施进行隔离的虚拟网络环境中。 在一个单租户SaaS的环境中,每个租户购买特定的软件实例,并通过客制化满足他们的特定需求。虽然这些云服务提供商(如阿里云)提供了基础的功能,用户能得到很多的可配置能力:比如,用户可调整不同的配置需求,向内部数据库或外部合作伙伴的数据库添加不同的模块。 什么是多租户SaaS架构? 在一个多租户的环境中,应用都是运行在同样的一个或者一组服务器上,被称为“单实例”架构(Single Instance)。多个租户的数据是保存在相同的位置,并且通常是依靠分区来确保租户之间的数据隔离。正由于所有的应用都运行在相同的服务器(组)上,就必须有一个标准的SaaS架构,包含了对硬件、网络及操作系统的相同配置能力。 鉴于多个用户在运行相同的应用实例,且所有的数据都保存在一个多租户隔离的数据库中,单一用户仅有有限的能力,或压根没有能力,去做一些在基础功能集上的定制化。这个不仅指的是功能本身会受到限制,更说明在这种架构下很难实现定制化。因此,多租户比较适合通用类需求的客户,也就是不需对主线功能进行调整或重新配置的客户。 这种标准化对于一些希望使用开箱即用的软件的客户是一个福音。大部分知名的SaaS提供商,都十分擅长分析和预测他们客户的需求,且以标准化的版本提供最相关的功能。很多时候一个“多租户SaaS”会选择一部分特定群体的客户作为他们预售版本的体验者,来快速验证和测试他们的产品。关于多租户特性是不是SaaS软件的必要特征,业界一直有着争议。且这种特性还被一些SaaS提供商认为是“真SaaS”的标识特性。但我们可从下面看到,单租户SaaS同样有着他们与众不同的优势。 究竟哪个更合适? 虽然多租户环境很安全,且足以满足很多公司的需求,但是单租户SaaS可提供更高的安全管控,毕竟公司之间的数据泄漏的可能在技术上就被禁止了。出于这个原因,单租户的架构有时候适合某些需要安全管控、甚至必须有法律合规性要求的行业。同时,定制化需求大于通用化需求的软件,同样不适合采用多租户的架构。 不能单纯脱离应用场景来评价“多租户SaaS”和“单租户SaaS”谁更好一些,每个都有自己独特的差异化优势。怎样使用,取决于你的运行位置、安全规定、行业、IT能力,及相关的其他因素。 上一条: Kubernetes 1.1发布:网络性能大幅度提升 下一条: 那些分布式系统设计常用的开源模块
|