微服务和SAAS有什么区别?
- 发表时间:2023-01-09
- 来源:网络
- 人气:
提到“中台”,大家不得不承认还有另外两个概念便是“微服务”与“SaaS”,有相信很多人都会把“中台”和这两个概念画一个等于号。可事实上,中台≠产品微服务≠SaaS。这两个概念看起来与中台非常相似,却有着本质上的差别,这一个章节那就让我们重点探讨下这三个基本概念。
一、产品微服务
“微服务”这一词最开始要在开发团队的代码编写方面所提出的,主要目的是处理企业内部业务流程日益变得复杂后源代码量指数上升所产生的高运维成本问题,这一些问题具体如下以下3点:
所有业务流程达到源代码全写在相同的行为主体内部,任何一个人在维护时都需要承受“从头看到尾”的痛苦;
鉴于每个功能模块相互之间关联,任意一个一部分都成为了系统崩溃的潜在性风险,比如说流量猛增或系统某个服务停止运营都会造成整体系统无法访问;
伴随着业务发展,系统连续不断衍化,而每个功能模块相互之间的交互也变得越来越错综复杂,在项目对接新业务的时候需要达到高效率的集群式间通信实施方案。
然而对于非技术性出身的小伙伴来说,可以把“微服务”简单理解为:为了更加方便代码维护与防止一个功能模块出现故障造成整体系统都无法运行的局面,产品研发同学们将功能按功能模块进行打包封装,构成一个一个的的独立模块让它们独立运行
在充分了解微服务出现的背景后,对于微服务的特点,我们就能清楚地勾勒出来了。微服务的特点以下:
这样子的化大为小思路在产品设计方面也是存在的,像公司伴随着业务模块的发展,其产品内部的功能也会发生不同层级复用。所以我们在产品设计流程时就会将功能进行抽象并剥离出来,使之成为公共功能模块,以方便整条业务模块调用。比如说,审批功能模块、登录注册功能模块、个人信息编辑功能模块等。而这种设计构思被称作产品组件化。
每个子模块自成体系,可独立运行该部分业务流程的完整工作流程;
对业务进行分割、抽象,将整体业务流程划分为多个子模块;
每个业务系统的每个业务都有一个通用的标准,输入、输出定义清楚的边界。
看到这几条特点,大家是不是觉得稍微有些熟悉?这几条特点与我们刚刚学习的中台的达到基本概念算得上是如出一辙。所以中台与产品微服务之间的区别概括起来就是:产品微服务只是中台的达到手段之一但并不是中台。在第12章大家会继续来讨论怎样用微服务达到中台。
二、SaaS
另外一个常常与“中台”媲美的基本概念便是“SaaS”了,甚至于有很多人都错误地觉得中台便是SaaS,其实这也是犯了根本性的概念性错误。
首先你要搞懂什么叫SaaS。SaaS的英文翻译全称为“SoftwareasaService”,汉语翻译为“软件即服务”。
如何解释SaaS呢?接下来我们就得先回溯下互联网行业的发展历程了。在互联网时代还未诞生以前,互联网行业其实也是一个十分传统的行业。它与同时期其他制造业在商业模式上几乎没有什么的区别,也是通过生产产品再卖向用户来完成一次商业活动,而唯一不一样的是软件商每一次卖给用户的仅仅一张罐装好程序代码的光碟,用户在拿到该产品后需要在自己的电脑上进行安装使用。在今天我们依然能够看到这种软件开发公司,例如我们平常都会接触过的Windows制造商——微软。
那么既然软件系统是我们制造出的产品,那么它一定会有故障的时候,这时候就要生产厂家进行售后维修服务。但是软件系统有它的独特性,因为运行它的电子计算机载体不同,因此它而引发的故障和问题是不可控,这也给生产厂家的售后服务带来了非常大的问题。
但在互联网兴起之后,生产厂家为了给客户更好的体验,不再将应用程序以光碟的形式让消费者部署在本机上,而是统一部署在自己的服务器上,由生产厂家自己进行后期的升级维护,这时用户可以通过网页或者特殊的客户端进行访问、完成服务项目,不用再担心软件安装操作与售后服务,常见的钉钉其实就是一个标准的SaaS服务项目。
这时每位用户要根据自己的实际需求,向这些SaaS软件商按照运算量与的时间来使用权购买,用多少买多少。
通过软件服务的发展历程,我们不难看出SaaS其实就是一个服务项目需求方日渐成熟软件系统,它为客户提供了完备的计算平台与客户实际操作终端设备,当然这里的终端设备可能是网页也可能是客户端。
对比在前几章我们已经学习到的中台基本概念,中台其实就是帮助公司内部提高研发效率的工具,中台的目的在于企业能快速进行一个新产品的搭建,而不是给客户提供直接服务项目。也就是说,首先中台产品的用户是公司内部的业务员,同时在方式上,中台为了能够更好地为各个新项目提供能力支撑,在公司内部所提供的服务更多是以接口的形式而可能没有客户端。
因此,我们可以看到SaaS与中台其实就是有很大的不同的。