软件即服务 架构师必备技能指南:SaaS架构设计( 二 )


  • 1、缩短产品上线时间:多端适配,统一版本,统一更新
  • 2、降低维护成本:不需要同时维护多个版本的软件实例,运维压力减小
  • 3、容易升级:由于版本得到有效控制,一次升级,即可覆盖所有租户端
4、SaaS的特性和优势
我们将SaaS应用程序与传统的桌面应用程序做一个水平的对比,部署一个SaaS产品将可以获得以下的几点优势 。
4.1、简单
SaaS化的产品通过互联网向租户提供软件服务,随着Web技术(如jQuery、Node.js)的进步,Web页面的交互体验度大幅度提升,交互更流畅、更人性化 。与传统的桌面应用程序的人机交互效果相差无几 。
4.2、经济实惠
SaaS化产品可以为租户提供弹性的付费方案,如按日、按月、按年、按使用人数或者按使用量进行计费,它将给租户提供更经济的使用软件的财务预算表 。
4.3、安全
使用SaaS产品无需担心数据安全问题,这好比将钱存入银行一样安全 。相较于企业内部部署的软件系统而言,SaaS产品具备更高的安全保障能力,因为软件提供商具有更多软件安全防护的技术资源、人力资源和财政资源 。
4.4、兼容性
与传统软件相比、SaaS软件的兼容性更好,它没有传统软件的多本版维护问题和操作系统兼容问题 。在SaaS软件中,租户用户在使用软件的过程中,几乎上感觉不到软件发生了改变 。当租户用户登录到系统上时,就已经获得了最新版本的软件 。
5、SaaS软件的适用范围
SaaS产品具有广泛的适应范围,特别是与其他云产品(如IaaS(基础设施即服务)和PaaS(平台即服务))配合使用时这种能力表现尤为突出,例如阿里云之类的云计算技术允许你配置可托管的Web站点、数据库服务器等 。你只需要打开浏览器并登录到阿里云控制台,通过操作对应的控制面板,即可获得相关的软件服务 。
从理论上讲,SaaS可以将任何的软件SaaS,下面列举一些通用的分类供大家参考:
  • 1、office在线办公类SaaS产品
  • 2、电子邮件和即时消息类SaaS产品
  • 3、社交媒体类SaaS产品
  • 4、第三方API类SaaS产品
  • 5、安全和访问控制类SaaS产品
  • 6、机器学习类SaaS产品
  • 7、人工智能类SaaS产品
  • 8、地理位置服务类SaaS产品
  • 9、数据流和数据检索类SaaS产品
6、SaaS产品的天生缺陷
软件即服务 架构师必备技能指南:SaaS架构设计

文章插图
 
图 6-1 SaaS产品的缺点
从上图我们可以直观的看到,SaaS产品与生俱来的几个缺陷,接下来我们将逐一进行描述 。
6.1、软件控制权
与企业内部部署的软件不同,由于SaaS软件被击中托管在服务提供商的Web服务器中,所以租户无法控制所有的软件应用程序,SaaS化的软件比企业自行部署的软件获得的控制权更少,租户可操作的自定义控制权极度有限 。
6.2、消费者基数小
由于SaaS软件是将一套应用程序共享给一个或者多个租户共同使用,这种共享的消费方式还未被大多数的消费者所接受 。同时,受制于市场环境的影响,目前还有大多数的软件还未SaaS化 。
6.3、性能瓶颈
共享应用程序必然会带来服务器性能的下降、如计算速度、网络资源、I/O读写等都将面临严峻的考验 。在性能方面,企业内部部署的“独享模式”的应用程序比SaaS软件的“共享模式”略胜一筹 。
6.4、安全问题
当租户在选择一款SaaS产品时,产品的安全性将会被放置在第一位进行考虑 。如数据的隔离、敏感数据的加密、数据访问权限控制、个人隐私等问题 。在2018年5月25日,GDPR(General Data Protection Regulation)《通用数据保护条例》出现之后,越来越多的人开始重视数据安全问题 。如何最大程度的打消租户的这一顾虑,需要服务提供商加强对自身信誉度的提升,以赢得租户的信赖 。
7、SaaS产品的核心组件
不同类型的SaaS产品,由于要面对不同的用户愿景,可能在功能和业务上会有所不同,但任何一个SaaS产品,都具备以下几个共同的核心组件 。
软件即服务 架构师必备技能指南:SaaS架构设计

文章插图
 
图 7-1 SaaS 核心组件
7.1、安全组件
在SaaS产品中,系统安全永远是第一位需要考虑的事情,如何保障租户数据的安全,是你首要的事情 。这如同银行首选需要保障储户资金安全一样 。安全组件就是统一的对SaaS产品进行安全防护,保障系统数据安全 。
7.2、数据隔离组件


推荐阅读