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

1、介绍

从计算机诞生开始,就伴随着计算机应用程序的演变。应用程序本身没有发生本质的变化(程序=数据结构+算法),变化的是软件的供需方式发生了改变。 现在,应用程序消费者不需要再在他们的PC机上下载和安装特定的应用程序,即可获得软件所提供的计算服务。 在云计算技术的支持下,消费者(企业或个人)只需要使用Web工具(浏览器)访问并登录软件提供商的Web系统,通过简单的配置,就可以获得自己所需应用程序服务。这种通过网络即可使用软件的服务,即使SaaS(软件即服务)。

2、什么是SaaS平台?

在你决定实施SaaS品台架构设计前,你有必要先了解SaaS平台是什么。从宏观的角度来看,SaaS是一种软件应用程序交付方式,软件提供商集中化托管一个或多个软件应用程序,并通过互联网向租户体用这些软件应用程序。从分类上看,SaaS(软件即服务)也是云计算重要的一部分。目前国内主流的云服务提供商如阿里云、百度云、腾讯云等,为广大用户提供了不同业务需求的云服务,它们大致可以分为以下几类:
1、基础设施即服务:如CPU、Network、Disk和Memory等
2、平台即服务:如阿里云服务器和云数据库等
3、软件即服务:阿里短信、阿里邮箱等
4、数据即服务:如阿里云对象存储,七牛云存储等
5、其他软件服务:机器学习、人工智能等
SaaS应用程序的任何更新或者修复漏洞操作都是由软件提供商负责实施和处理的,由于租户是通过互联网获取软件服务,所以租户端无需下载任何的升级包或者修复补丁,是一种开箱即获取最新软件产品的服务方式。
通过对什么是SaaS的介绍,接下来,我们了解一下选择SaaS作为软件架构来设计产品的一些理由。

3、为什么选择SaaS?

我们将从不同的角度来阐述几个为什么选择SaaS的理由。透过对这些因素的分析,为你是否需要将自己的软件SaaS化提供一定的参考依据。
3.1、消费者角度
获取软件服务的方式足够简单,SaaS也许是迄今为止使用软件最简单的方式之一,租户只需要动动鼠标和键盘,即可在几小时甚至几分钟内获得一个大型的软件服务。 相比于传统使用软件的方式,租户省去了研发、部署、运维等一系列繁复的过程,且获得软件的时间和费用成本都大幅度降低。
3.2、商业角度
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软件中,租户用户在使用软件的过程中,几乎上感觉不到软件发生了改变。当租户用户登录到系统上时,就已经获得了最新版本的软件。

总结

本文阐述了基于SaaS架构的软件设计需要注意的问题,并分析了SaaS产品的特性、有点、缺点。

www.gotbooks.cn 版权所有 2018-2023 浙ICP备18012087号