什么是SaaS模式?SaaS模式到底有什么优势?传统模式向SaaS模式过渡,又将面临什么样的挑战和问题?

最近几年为什么流行SasS模式?(图1)

在进入正题之前,我们先聊一点题外话,就在我写这篇文章的这一天(2019-7-31)Facebook的脑机革命迈出了重要的一步!

华裔科学家Edward Chang团队通过解码脑电波,使用深度学习方法直接从大脑信号中合成口语句子又取得了突破性进展,从大脑信号解码出对话,并转换成文字,这对那些无法说话的患者有着重要意义。此刻,无比感叹人的主观能动性在解决困难和痛点面前所表现出的强大力量。

为什么会有我们今天要聊的SaaS模式?

一定是之前的传统模式出现了很多令人头疼的问题,我们需要解决这些问题。SaaS模式应运而生!那什么是SaaS?从概念上来讲就是“Software-as-a-Service”,软件即服务!

最近几年为什么流行SasS模式?(图2)

2015年我们见证了O2O从火热到预冷,2C市场的日益饱和,资本逐渐进入了合并与退出的阶段。

这个时候更多的创业者和投资者把关注目标转移到了2B市场,寻找互联网与传统行业的深度结合。在这之前传统行业已经有了很多为了解决特定行业,或者企业的特定问题而针对性开发的“专业型”软件,比如:金蝶、用友的生产型企业的ERP系统,财务管理系统等。

随着云服务技术的成熟,SaaS模式在产品营销、使用和维护上的优越性,过去的软件服务方式就成为了我们刚才所说的传统模式。

传统模式和SaaS模式有着怎样的区别?

传统模式是:企业先提需求->软件开发商按需适配->服务人员上门部署->调试安装->长期维护。

以上的流程项目工程越大,完成周期越长,而且就算部署完成,后续的调试、维护和升级都需要巨大且持续的成本投入。除了软件之外,一般还会涉及服务器硬件的投入,服务器还是需要专人养配,因为服务器一旦除了问题,企业数据的损失是及其致命的!

而采用SaaS模式,用户不需要部署自己的服务器,软件开发商不需要投入大量的线下运维人员,SaaS模式拥有高可用性、应用高可配置性、功能服务的高扩展性,用户完全可以根据自己的需要进行灵活配置,使用效率高。

我们可以用生活中的例子来进一步形象的阐述一下两者的区别,“压水井”估计现在在农村也很难见到了,我偶尔在老家还能见到,压水井出现给我们的生活带来了便利。但是,我们想要用上水,前提需要自己挖坑,下管子和安装压水井,安装后也需要调试,因为垫片安装不好会导致打水很费劲。

后来大家的生活慢慢好起来了,家家户户都用上了自来水和集中供暖,我们只需要按使用的多少付钱就好,再也不需要自己打水和掏煤球了。上面我们说的自己安装压水井就是传统模式,而自来水厂的集中供水就是SaaS模式,我只要拧开水龙头就有干净的水可以使用,除非自来水厂设备故障。自来水厂的水源就是服务,供水系统我们就可以理解成为云服务器。

结合上面的生活中的小例子,这里稍微延伸一下什么是IaaS、PaaS和云计算。

IaaS:基础设施即服务,净水设备就属于基础设施,设备可以出租给企业和家庭使用,他们同样可以喝到干净的水;

PaaS:平台即服务,现在就算我们家里没有安装自来水,通过某矿泉水商城可以在网上下单,人家直接把干净的水给你送到家门口,我们享受平台带来的直接服务。

当然,任何事物都不可能是完美的,有优点也必然会存在缺点。SaaS产品与生俱来的的几个缺陷主要有:软件控制权、消费者基数、性能瓶颈、安全问题。

最近几年为什么流行SasS模式?(图3)

我们来简单说一下这几个问题,首先与企业内部部署的软件不同,由于SaaS软件被击中托管在服务提供商的Web服务器中,所以租户无法控制所有的软件应用程序。

SaaS化的软件比企业自行部署的软件获得的控制权更少,租户可操作的自定义控制权极度有限。对于这种多租户共同使用一套应用产品的模式来讲,很多消费者还并不能够完全认同,就像有的人宁愿自己买保险柜把钱放在家里,也不相信银行一样。

另外,由于这种多租户共享使用的方式,随着使用节点的增多,必然带来服务器性能的下降。不过,这个方面的问题现有的云服务提供商都能够轻松应对。最后,也是最关键的,就是应用的共享使用,数据的安全问题了。

这也是SaaS产品必须慎重对待的一个方面,比如:数据的隔离、敏感数据的加密、数据访问权限控制等方面都需要去解决好!

不同类型的SaaS产品,由于要面对不同的用户需求,可能在产品定位、功能服务上有所不同,剖析SaaS产品的共同点。我们会发现:任何一款产品都具备以下几个共同的核心组件(下图出自《架构师必备技能指南:SaaS(软件即服务)架构设计》一文)

最近几年为什么流行SasS模式?(图4)

从这张图我们可以看出:做一个优秀的、可靠性强、好用的SaaS产品还是比较困难的,多租户的权限设计、数据安全,功能服务的模块化设计,高可扩展性的支撑,热部署等等。任何一个模块的成功之路都比较崎岖,在这里就不一一介绍每个组件的具体作用了,感兴趣的伙伴可以去看一下上面提到的那篇文章。

技术上的架构和实现可以保证SaaS产品的稳定性,但一个产品的易用性和可操作性就必须依赖产品功能层面的设计与业务流程的梳理,以及业务权限的设计。

不同类型的SaaS产品对应的是具体的业务场景,业务诉求和业务目标,我们可按照自底向上构建,自顶向下体验的方法梳理产品的业务模块,主线业务流,在功能设计初期明确产品的商业模式,按照免费功能服务、增值服务和第三方服务进行分类以构建产品的业务生态。

产品的设计应该保持开放的心态,开放互联实现价值,在这个前提下,我们需要界定好核心与外沿的弹性边界。这也符合SaaS产品的高可用与可扩展的核心定义。

另一个方面,在功能功能权限的设计上,建议采用权限前置,角色后置的思想。(权限前置:解决的是功能与资源的关系。角色后置:解决的是用户与权限的关系。)

因为这样,我们才可以满足具体租户对产品角色的可配置性,满足不同租户的个性化权限配置与管理。这部分大家可以详细了解一下RBAC角色访问控制模型,会有详细的介绍。

说到这里,SaaS模式的优越性显而易见,这种模式是主流趋势,但在传统模式向其转变的过程中必然会有阵痛期,也会面临各种问题和阻碍。这些问题来自于企业内部的冒进,资源评估的大意;也会来自不同行业、不同背景企业用户的抵制和质疑。我们需要具体问题具体分析,尽量平衡“钱放保险箱和存银行”的这种选择焦虑。

产品SaaS化后企业换血新生的案例多如牛毛,SaaS模式下B端产品生意逐渐在C端化,对于处在产业互联网浪潮之中的每个人,都有很多可以想象的空间……


标签:SaaS平台开发,SaaS模式开发