ToB企服应用市场:ToB评测及商务社交产业平台

标题: 云计算的三种模式IaaS/PaaS/SaaS/BaaS对比:SaaS架构筹划分析 [打印本页]

作者: 守听    时间: 2024-8-11 01:00
标题: 云计算的三种模式IaaS/PaaS/SaaS/BaaS对比:SaaS架构筹划分析
SaaS——软件即服务(Software as a Service)的出现改变了传统使用软件转变为使用服务。
SaaS与传统软件的最大区别是,前者按年付费租用服务,后者一次买断。这貌似只是“报价方式”的区别,实际上这是一个根本性的变化,这带来的是对服务模式、贩卖模式、公司代价等多维度的根本影响。
   传统软件实施失败率高或上线后用地不爽,相当于沉没本钱。从软件公司来看,贩卖在签订合同时其业绩使命就已经达成,因此贩卖、乃至售前支持顾问多数会以“拿下单子”为目的,遇到竞争鼓励时纵然过度答应、给实施部分挖些坑也在所不惜。而后续年份只有10~15%的维护费,利益不多,好收就顺手收一下,欠好收也不值得费力再进行重度投入。而SaaS的按年付费彻底改变了这个局面。对软件公司来说,贩卖难度和贩卖周期都收缩,一个SaaS产品的Sales是能做到一年上百万的贩卖收入的。而对SaaS公司来说,第二年开始的续费本钱非常低,客户成功部分拿走20~40%的费用,剩下60~80%都是毛利。
  所以在云计算的三种模式IaaS/PaaS/SaaS,SaaS面对的用户最多,如同C端,应用步伐的任何更新大概修复漏洞操作都是由软件提供商负责实施和处理的,由于租户是通过互联网获取软件服务,所以租户端无需下载任何的升级包大概修复补丁,是一种开箱即获取最新软件产品的服务方式。
什么是SaaS

从宏观的角度来看,SaaS是一种软件应用步伐交付方式,软件提供商集中化托管一个或多个软件应用步伐,并通过互联网向租户体用这些软件应用步伐。从分类上看,SaaS(软件即服务)也是云计算紧张的一部分。



云计算的三个分层,基础设施(infrastructure)在最下端,平台(platform)在中间,软件(software)在顶端,分别是分别是


laaS已经变成了巨头之间的德州扑克;PaaS市场进入白热化,军阀割据天下;而SaaS市场正是百家争鸣的阶段,但是这个阶段不会持续太久。
SaaS的优势


SaaS可以将任何的软件SaaS,下面列举一些通用的分类供大家参考:

企业级SaaS市场近几年在每个细分领域都涌现出了一批玩家。从技术角度看,不同的领域、不同的SaaS产品,必定有着同样的架构内核,此中最关键的便是对于多租户(Multi-Tenancy)的支持。对广大企业来说,引入SaaS产品本质上就是对互联网服务的租赁,因而多租户便必然是SaaS的自然属性之一,也是其与传统互联网应用架构筹划的紧张差别之一。
SaaS的多租户筹划

经典的分布式服务架构自然解决了互联网应用的三高问题(高并发、高性能、高可用),这也是企业SaaS发展中后期即将面对的问题,
从资源共享的层面看,从share nothing到share everything,在天平的任何一个点上都可以支持多租户。但正如我们前文所说,SaaS架构主要考虑的目的便是单实例,只有单实例才能将本钱尽大概低落,产品才会有规模效应。所以所谓共享和隔离,在经典架构下又会聚焦为一点,即怎样对不同租户进行资源层面的隔离
SaaS系统在技术本质上也可以以为就是分布式存储和分布式计算的融合。
在多租户的实现中,每每更关键的是对于存储资源的处理,计算资源一般只在须要情况下才会考虑,我以为这紧张是和存储的“有状态性”有关。
隔离存储资源概括来说可以用一个词来解决:定名空间。以数据库为例,我们只需要在每条租户的记录上,记下对应租户的标识即可。在不考虑分库分表的情况下,我们逻辑上会在同一个Schema中,存储所有租户的数据。
无论何种存储,思路都是相通的,而且处理起来相对简单粗暴。偏重强调的是,在工程层面应当将这种约定在底层框架里做同一处理。比如可以通过AOP技术将多租户相干的逻辑切出来进行同一处理


SaaS架构包括分层:

SaaS架构的呈现层

SaaS架构的呈现层客户端大概是浏览器、或是本地客户端。如果是浏览器则包括Web界面技术、交互技术等,如:HTMl5技术、CSS3技术、Ajax技术等。如果是软件客户端则包括远程桌面技术、软件交互技术等。
不同的岗位工作情况有不同适用的应用技术:

SaaS架构的调度层

SaaS架构的调度层负责辨认每个用户请求并对每个请求进行AAA认证,然后根据后端业务处理服务器的负载及其业务特征进行公道的调度。通过这样的架构SaaS平台可以横向扩展。别的在存储、缓存等方面为了满足平台的横向扩展需求,该层也必须具有良好的可扩展性。
因为客户端是不同岗位、不同素质本领水平、不同业务重心、不同工作情况,所以功能不一样、用户体验不一样,所以后端的服务层业务逻辑也都不一样。
这层因为涉及到客户端接入,所以需要API网关中间件,因为比力轻(因为另有一层公共业务逻辑处理层),所以接纳微服务中间件(如SpringCloud),这些不同的微服务都打包在一个个的Docker中,为了快速弹性启动扩容。前面有API网关中间件可以做分流限流、路由导流,这样背面微服务容器怎么扩容,对前端都透明。
API网关中间件就属于这一层,只不外客户端来的请求都起首经过它再路由到业务逻辑微服务。
但是总有一些业务逻辑是这四种端应用都要处理的,所以还得分出一层叫做公共业务逻辑处理层。这些公共业务逻辑处理层按功能职责也分成一个个的服务,放在Docker容器中,受Swarm或Kubernetes集群管理。
SaaS架构的业务层

SaaS架构的业务层负责吸收调度层转发过来的请求并实行真正的业务逻辑。一般业务逻辑再怎么复杂也足以转载在一台服务器上。因此业务层实际是由一排对等的服务器组成的,每台服务器都实行雷同的业务逻辑。
SaaS架构的数据层

SaaS架构的数据层通过数据库集群处理存储关系性很强而且对事件性要求很高的业务数据,这类数据每每很难采用NoSQL解决因此现在还不得不借助传统的数据库集群技术来解决,紧张是根据业务特征制定命据拆分方案。同时分布式数据库用于存放海量但关系性不强的数据。

对于报表统计、历史查询、综合查询、商业指标对比分析,咱们必须把这些工作放到大数据套件中来处理,和真正快速业务处理的系统分开。
不但仅是要计算资源分开,还要存储资源也分开。因为对于大数据,存储容量要大(但不一定存储访问性能要高),内存要大(要进行大量数据取出进行计算),CPU性能要高(要密集计算)。所以对于统计、查询、分析这些功能,服务器云主机和云存储都要和应用业务处理分离。
分离后,就需要从应用业务处理系统中抽取数据。
所以,对于数据抽取层:我们有一系列的ETL工具,另有数据爬虫引擎用于爬表里静态数据,另有用Flume、Logstash、Splunk网络IT资源日志和应用系统运行日志。
抽取来的数据可以放在大数据仓库中,我们可以采用Hadoop HDFS、Hbase、Hive等等开源中间件。
要计算处理时,我们可以在YARN或MapRedurce计算调度框架下使用Spark、Storm来进行内存计算和流式计算。
处理后的数据,我们可以用presto查询,我们也可以用ElasticSearch来搜刮。
最后,我们使用一些可视化工具把效果用图表形式输出出去。

按照这样的技术架构搭建好后,每一个客户要在公有云上专属独立部署,那么给它用DevOps工具新启几个服务层Docker,如果公共业务逻辑模式也要变化,那就新启几个公共业务逻辑Docker。毕竟我们有分布式用户登录验证网关和API网关,所以不管是公有云专属部署照旧私有云部署,都没问题。
对于主数据管理模块,因为也有UI层、逻辑层、数据层,所以主数据这些各层的代码和数据和中间件,可以打包成一个部署单元,用一套专门的DevOps工具及脚本进行自动化部署、设置变动、升级。
对于数据层,我们有KV分布式数据库、分布式关系数据库、主备读写分离中间件、分库分表中间件、CDN分发、时序数据库/文档数据库/图数据库、我们确实需要在API网关路由层面用DevOps工具及脚本、集中设置中间件Puppet来做到自动化部署扩展、设置变动、升级。这样不同的企业指向了不同的分布式数据库引擎地点和分布式数据库存储卷。这样就方便了既能做公有云专属部署又能做私有云部署。

SaaS产品的天生缺陷

软件控制权
与企业内部部署的软件不同,由于SaaS软件被击中托管在服务提供商的Web服务器中,所以租户无法控制所有的软件应用步伐,SaaS化的软件比企业自行部署的软件获得的控制权更少,租户可操作的自定义控制权极度有限。
性能瓶颈
共享应用步伐必然会带来服务器性能的降落、如计算速率、网络资源、I/O读写等都将面对严肃的磨练。在性能方面,企业内部部署的“独享模式”的应用步伐比SaaS软件的“共享模式”略胜一筹。
安全问题
当租户在选择一款SaaS产品时,产品的安全性将会被放置在第一位进行考虑。如数据的隔离、敏感数据的加密、数据访问权限控制、个人隐私等问题。在2018年5月25日,GDPR(General Data Protection Regulation)《通用数据保护条例》出现之后,越来越多的人开始重视数据安全问题。怎样最大程度的打消租户的这一顾虑,需要服务提供商增强对自身信誉度的提升,以赢得租户的信赖。

最紧张的是:SaaS的复杂性,一般的团队玩不转。PaaS能否做好的微观差距,紧张体现在软件筹划者和软件开辟者的本领上。有个段子:美国把软件开辟叫工程师,中国把开辟职员称作码农。美国很多卓越的软件都是大叔筹划开辟的,而中国步伐员35岁以后就要面对赋闲风险。中国非常缺乏高端的软件人才,缺乏的原因就是因为缺乏持续的积累。大家都在做一些低水平的重复劳动,和流水线上的工人没什么本质区别。

参考文章:
架构师必备技能指南:SaaS(软件即服务)架构筹划 架构师必备技能指南:SaaS(软件即服务)架构筹划 - 知乎
漫谈企业级SaaS的多租户筹划 漫谈企业级SaaS的多租户筹划 - 知乎
中国SaaS为什么不赢利? 中国SaaS为什么不赢利?-虎嗅网
https://www.zhihu.com/question/21641778/answer/308674603
SaaS的本质和SaaS公司的大坑https://zhuanlan.zhihu.com/p/67169367

转载本站文章《云计算的三种模式IaaS/PaaS/SaaS/BaaS对比:SaaS架构筹划分析》,
请注明出处:云计算的三种模式IaaS/PaaS/SaaS/BaaS对比:SaaS架构筹划分析 - 前端架构筹划 - 周陆军的个人网站

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4