一、背景
SAAS项目与传统项目的区别:
SAAS颠覆了传统软件的开发模式与交互模式 传统软件由于是通过磁盘等固体介质或者软件下载安装传播的,比传统软件更加柔性,更适应新形势剧烈变化的环境的需求,比传统软件部署时间更快,比传统软件适用的时间与空间更广,这类软件可随时随地使用。
这里提到传统项目:类磁盘等固体介质传播的软件。
与SAAS相关的常见概念有哪些:
SAAS、PAAS、IAAS等。
SaaS的前世今生:欲见未来,必见其史 (baidu.com)
二、Iaas(Infrastructure as a Service:基础设施即服务)
基础设施即服务,用户通过互联网获得对所有设施的利用,包括了处理数据、存储数据、网络访问以及其他基本的计算能力,用户可以在其上安装和运行任意的软件,如:操作系统、office等等应用程序。IaaS所提供的服务就像是一台虚拟的计算机,用户通过互联网就可以登录自己的计算机,它的携带成本降到了零,完全就是一台“云”端个人计算机,用户可以像操作个人电脑一样操作它。例如OpenStack,它是由美国国家航空航天局(NASA)和Rackspace合作研发的,并且是一个面向任何人的开放源码项目;
公司举例:亚马逊网络服务、bluelock、CSC(通信系统中心)、GoGrid、IBM、OpenStack、Rackspace、Savvis、Terremark、VMware
三、PaaS(Platform as a Service:平台即服务)
平台即服务,是一种用户通过互联网就可以获取服务器平台的服务。该服务器平台为用户提供了软件研发工具和部署环境,用户开发的应用程序可以运行和部署在其上。其实PaaS也是SAAS的一种应用,只不过PaaS提供的软件服务比较特殊一点而已。PaaS的出现,加快了SAAS的发展,目前Google的GAE(Google App Engine)、新浪的SAE(Sina App Engine)以及百度的BAE(Baidu App Engine)都具有相当规模的使用者,大大促进了云计算的发展;
公司举例:紫光股份、卓易信息688258、光环新网、恒生电子、汉得信息
四、SAAS(Software as a Service:软件即服务)
软件即服务,是一种通过互联网提供软件服务的模式,用户无需购买和部署软件,而是向服务提供商租赁软件服务,大大减轻了用户的购买、部署、维护成本,实现按需租赁、按需付费。
从上可以看出IAAS、PAAS、SAAS,客户所要管理负责由多到少,成本也越来越低。
4.1、特性
早在1999年,Keith Bennett等人的论文Service-Based Software:The Future for Flexible Software中第一次提出了SaaS的说法。文中对SaaS软件提出了几点要求:能够满足用户的某些需求、用户可以对软件功能进行定制、软件具有一定的自适应能力、软件应当模块化、软件具有一定的易用性和透明性。
SaaS具有以下几点特性:
通过网络访问,SAAS提供商是通过Internet来提供服务的,SAAS的一切都是基于网络,没有互联网,SAAS无所适从。当前互联网的快速发展,正是为SAAS的发展铺垫了良好的基础。
租赁的特性,用户是通过租赁的方式来获取SAAS服务的,并且一套SAAS服务可以被成千上万个用户所共同租用,用户可以个性化定制自己所需要的功能模块。
按需付费,SAAS是将软件作为服务来进行提供的,用户不再像传统的使用习惯一样购买整个软件,而是按照租用服务的模块数量、时间、用户数量等来进行付费,很大程度上节省了用户的花费。
简单特性,客户不需要购买、部署、维护软硬件环境,使用SAAS服务只需要简单的注册、安装即可,降低了用户的门槛。
灵活特性,用户可以在不需要SAAS服务的时候,很便捷的停用服务,并且亦可在需要的时候再度启用。
互联网特性
一方面,SAAS服务通过互联网浏览器或WebServices/Web2.0程序连接的形式为用户提供服务,使得SAAS应用具备了典型互联网技术特点;另一方面,由于SAAS极大地缩短了用户与SAAS提供商之间的时空距离,从而使得SAAS服务的营销、交付与传统软件相比有着很大的不同。 比如,SAAS软件行业知名产品NetSuite所提供的在线ERP、在线CRM等模块产品都是基于网络的,这样的优势在于不必投入任何硬件费用,也不用请专业的系统维护人员就能上网,有浏览器就可以进行ERP、CRM系统的使用。快速的实施、便捷的使用、低廉的价格都有赖于SAAS产品的互联网特性。
多重租赁(Multi-tenancy)特性(很重要)
SAAS服务通常基于一套标准软件系统为成百上千的不同客户(又称为租户)提供服务。这要求SAAS服务能够支持不同租户之间数据和配置的隔离,从而保证每个租户数据的安全与隐私,以及用户对诸如界面、业务逻辑、数据结构等的个性化需求。由于SAAS同时支持多个租户,每个租户又有很多用户,这对支撑软件的基础设施平台的性能、稳定性和扩展性提出很大挑战。SAAS作为一种基于互联网的软件交付模式,优化软件大规模应用后的性能和运营成本是架构师的核心任务。
服务(Service)特性
SAAS使软件以互联网为载体的服务形式被客户使用,所以很多服务合约的签订、服务使用的计量、在线服务质量的保证和服务费用的收取等问题都必须加以考虑。而这些问题通常是传统软件没有考虑到的。
可扩展(Scalable)特性
可扩展性意味着最大限度地提高系统的并发性,更有效地使用系统资源。比如应用:优化资源锁的持久性,使用无状态的进程,使用资源池来共享线和数据库连接等关键资源,缓存参考数据,为大型数据库分区。
4.2、优势
4.2.1、从技术方面来看:SAAS是简单的部署,不需要购买任何硬件,刚开始只需要简单注册即可。企业无需再配备IT方面的专业技术人员,同时又能得到最新的技术应用,满足企业对信息管理的需求。
4.2.2、从投资方面来看:企业只以相对很低方式投入(按时或按量),不用一次性投资到位,不占用过多的营运资金,从而缓解企业资金周转的压力;不用考虑成本折旧问题,并能及时获得最新硬件平台及最佳解决方案。
4.2.3、从维护和管理方面来看:由于企业采取租用的方式来进行物流业务管理,不需要专门的维护和管理人员,也不需要为维护和管理人员支付额外费用。很大程度上缓解企业在人力、财力上的压力,使其能够集中资金对核心业务进行有效的运营;SAAS能使用户在世界上都是一个完全独立的系统。如果您连接到网络,就可以访问系统。
4.3、安全性
4.3.1、传输协议加密
4.3.2、服务器安全证书
4.3.3、url数据访问安全码技术
4.3.4、数据的管理和设备备份机制
4.3.5、运营服务系统的安全
4.4、SAAS的分级
SAASS软件从成熟度角度可分为四级。
第一级称为定制级别,这其实就是ASP(Application Service Provider:应用服务供应商)的模式。使用这种级别的SAAS模式,软件服务提供商为每个客户都定制了一套特定的软件,并且单独发布及部署,数据库的实例也是单独的,可以为某一客户任意的修改功能模块,每个客户的软件之间从物理上完全分离。这种级别的SAAS,从根本上来说,其实只是为客户提供了软件部署的服务器,传统的B/S或C/S软件只要通过简单的修改就可以满足条件。级别如此低的SAAS模式,必定具有很大的劣势,在这种模式下,服务提供商需要为每个客户单独按需修改、发布软件,这样带来的成本也必将随之升高,客户的支出也肯定水涨船高,因此很难形成规模化。
第二级别的SAAS模式是在第一级别的基础上有了一定的改进,服务提供商不需要对代码进行修改就可以为客户提供定制化的软件服务。提供商在软件的开发阶段充分考虑了多客户需求之间的差异,通过灵活可配置的方式来解决这些问题。这种模式下,每个客户仍然在软件和数据库上相互独立分离,但是每个客户的软件实例都是相同的,只不过通过不同的配置文件来满足客户不同的个性化定制。这种级别的SAAS软件开发成本相对于第一级别有所降低,但是软件的发布、部署以及升级维护都是独立的,因此也很难形成规模化。
第三级别是符合MultiTenant(多用户租赁)的,也就是说服务提供商只需开发一套软件、提供一个数据库实例就可以为多个用户提供服务。但是从用户的角度来看,并不会察觉到软件服务是与多个用户之间共享的。在这种模式下,服务提供商不再需要为不同客户的不同软件、数据库实例提供大量的存储空间了,这样就直接降低了开发成本,但是由于大量用户的访问,对于处理器的性能也将形成一定程度的挑战,但是如果用户的数量并不是大到一定程度,该级别的SAAS服务完全能够胜任挑战。
第四级别是针对第三级别的遗留问题进行了改进,通过加入一个负载平衡层,来为不同的客户提供基于服务器集群的服务。每个服务器上的实例其实都是相同的,用户与某个服务器之间的连接通过负载平衡层来自动分配,同样多个数据库实例也是运行在一个机群之上,软件实例和数据库实例之间通过配置文件来互联关联。在这种模式下,SAAS服务可以无限的进行扩展,以满足客户的增长,这也是SaaS成熟度的最高级别。
SAAS项目的核心就是多租户、形成行业标准化、通用可配置化
SAAS的分级并不是分割的,本人所在的公司从事某行业的供应链服务,开发SAAS项目,我们再努力形成更多的行业标准,总体来说我们属于第三第四级别同时考虑个性化需求;
技术上:前端采用微服务、模块化、组件化,工程化贯彻很彻底,后端采用中台服务+集群;
业务上:
对于新用户我们会定制菜单
对于新用户集团公司我们会定制专属系统及所属菜单
对于老用户我们会识别需求,帮助用户在行业的高度实现需求,往往用户提到一个点,我们能由点到面,甚至达到面与面交织的一个体系,最终结合客户的自身定位,给到客户一个满意的交付。
我们会识别用户需求,站在行业高度来评估,如果是行业通用需求我们按照行业标准形成模块化,如果是已有的服务,那么正好了,在现有的基础上就可以实现需求了,,如果是个性化需求,我们也会在行业的角度帮助客户分析,最总实现效果达到行业高度
多租户模式下,如何处理个性需求与行业需求,识别伪需求,提高真需求的行业标准,系统性的满足用户需求点
4.5、SAAS代表产品
公司举例:用友、金山软件、珍岛集团、金蝶软件、广联达、泛微网络、亚信科技、浪潮软件、致远互联、263云通信
淘宝网本身是SAAS应用,准确的说是C2C的应用。但是淘宝网本身底层内部的IAAS、PAAS平台进行支撑,这个一般不面对最终的用户。
个人观点,欢迎指正:
看了一些资料后,我在想,早期的“类磁盘交付”的软件很少了。然后再看电脑里边的项目,手机上的项目,浏览器里边的项目 满眼都是SAAS。既然这样,我个人觉得SAAS、PAAS、IAAS这些理念还在而且更加的深入了,但是概念已经过时了。
或者更准确的说是SAAS、PAAS、IAAS在当今互联网热潮的时代概念已经泛化了,现在市场上交付的项目绝大多数都符合这样的理念,不管是pc应用、手机APP还是浏览器APP,我觉得都符合这些理念,甚至比这些理念比最初构想的还要好的多。所以再可以的强调这些概念有点不合适了。或者我们可以称这些为互联网应用,不区分是哪一类客户端,统称为APP。
以某项目为例:
从名称上:举例 一个项目开始时可能也提SAAS项目,后来常说的就是这个项目具体的服务,比如说“智能汽车数字化供应链服务”,我觉得这样是更直观也更准确的。
从技术上:前端开发(PC、手机APP、车机APP、浏览器应用)软件架构,开发所用的技术,与数据交互的方法,更新的方式、后端数据的支持、对大数据的分析、云厂商的支持、算法的支持,我觉得这些内容的综合使用时很优化并且灵活的,开发的过程中SAAS、PAAS、IAAS理念的实践也很充分,但是没有人提这些概念,甚至有的人根本不知道这些概念,但是做的甚至更好。
从业务上:我觉得现代互联网项目业务也实践了这些理念,但是同时不受这些理念的束缚,从实际的业务来,到实际的业务去,同时因为有优秀的市场、产研、运营团队,我们交付的产品满足客户需求的同时更加具有行业高度(使客户更具行业竞争力),甚至我们会考虑全行业项目的一些优缺点,学习优点,避免缺点。
PAAS还是SAAS核心在真诚的服务,天时不如地利,地利不如人和。真诚服务是无论遇到何种情况,都以解决客户需求为核心,讲求实事求是,开发能够为企业切实提高效率,降低成本的产品,提供高品质的服务,并建立良好的合作关系,这样才能树立良好的口碑和品牌影响力。真诚服务即是更好的达到人和,人和是持续发展的基础,人和是所有真正伟大企业所共有的特性。
以上为我个人猜想的一些内容,希望互联网行业发展更上层楼。
五、参考文献
(46条消息) Saas的概念及相关应用_troy wang的博客-CSDN博客_saas应用
(46条消息) Saas的概念及相关应用_troy wang的博客-CSDN博客_saas应用
PaaS概念上市公司一览,2021年PaaS上市公司有哪些? - 南方财富网
详解 IaaS、PaaS和SaaS 以及他们各自的代表公司 - 走看看
真正“淘宝式”SaaS应用平台应具备哪些因素?_中服软件_新浪博客 (sina.com.cn)
saas模式与传统软件的区别 - 简书 (jianshu.com)
(5条消息) 一文搞懂SaaS困境、API经济与Serverless WebAssembly_serverless 技术社区的博客-CSDN博客
六、这些概念可能不是简单查阅一些资料就能深刻理解的,欢迎交流指正,突破思维受限,一起进步