随着智能机的普及,互联网C端的流量红利越来越少,靠大打补贴战快速积攒用户的玩法越来越少了,毕竟资本也不是傻子。在这么一个浮躁的环境里,硬逼着一些老板耐下心来,默默耕耘业务,确实挺难为他们的。
另有一部分创业者,开始瞄准了to B市场,毕竟把老板们“伺候”舒服了,花个万把块钱买个服务也不是什么难事。SaaS 软件布局模型,其应用专为网络交付而设计,便于用户通过互联网托管、部署及接入。具有统一运维、管控、升级等特性,很受青睐。
画外音:SaaS正在蓬勃发展,前途一片光明
SaaS系统简称云系统,是云计算后台的整体运营系统,指把服务器、数据库、放在云端的综合性系统,客户只需要通过互联网在云端就可以实现互通,用户只要在PC端安装个登陆程序或通过APP/输入网址/扫描微信二维码等等手段访问云端,就可以随时随地实现功能应用与管理。
SaaS是一种软件交付模式,将软件以服务的形式交付给用户,用户不再购买软件,而是租用基于Web的软件,并按照使用情况付费。
画外音:我们卖艺不卖身。对于客户来讲,省钱才是硬道理。
特性:
多租户SaaS架构需要具备相同的硬件、网络和操作系统配置能力,所以很难实现根据单一用户的需求去做功能上的定制化,也很难根据某个用户的请求进行常规的系统升级、重启之类的操作。所以会有单租户模式,关于多租户与单租户的详细描述,可参考 一篇文章读懂SaaS多租户和单租户的分别
画外音:有钱人住单间,没钱睡大通铺。
成熟度模型
多租户模式可以同时为多个用户提供个性化服务,定制化应用的某些属性,会存在很大挑战。有什么好的解决思路。
核心系统架构
提供一系列组件,如:账户、认证、权限、服务的注册与发现、安全、计费、加密,统一化的接入规范等等,来满足服务的支撑运行。可参考 SaaS参考架构和关键技术
数据库设计
一种简单的设计方案,每张表中都添加一个用于区分租户的字段(如租户id或租户代码)来标识每条数据属于哪个租户,其作用很像外键。当进行查询的时候每条语句都要添加该字段作为过滤条件。其特点是所有租户的数据全都存放在同一个表中。数据的隔离性是最低的,完全是通过字段来区分。
除此之外,在租户ID下面还定义了不同的用户ID,来保证每一个用户都能够按照正确的访问权限访问属于他们的数据。