在 Saas 发展的黄金时代里,带你从头开始理解 SaaS 的设计
云栖号资讯:【点击查看更多行业资讯】
在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!
导读:软件即服务(英语:Software as a Service,SaaS),亦可称为 “按需即用软件”(即 “一经要求,即可使用”),它是一种软件交付模式。在这种交付模式中,软件仅需透过互联网,不须经过传统的安装步骤即可使用,软件及其相关的 数据集中托管于云端服务。用户通常使用精简客户端,一般即经由网页浏览器来访问、访问软件即服务。SaaS 最大的特色在于软件本身并没有被下载到用户的硬盘,而是存储在提供商的云端或者服务器。对比传统软件需要花钱购买,下载。软件即服务只需要用户租用软件,在线使用,不仅大大减少了用户购买风险也无需下载软件本身,无设备要求的限制。本文带你从头开始理解 SaaS。
引言
云计算意味着通过互联网而不是计算机的硬盘存储和访问数据和程序。
美国国家标准技术研究所(National Institute of Standards and Technology,NIST)的权威定义是:
云计算是一种实现无处不在、方便、按需网络访问可配置的计算资源(如网络、服务器、存储、应用和服务)的共享池的模式,这些资源可以快速配置和发布,只需最小的管理工作量或服务提供商的互动。
云计算可以分为:
1.IaaS:云提供商以按次付费的方式提供存储和计算服务。
2.PaaS:提供了专门面向开发人员的服务和工作流,开发人员可以使用共享的工具、流程和 API 来加速应用程序的开发、测试和部署。
3.SaaS:通过浏览器在互联网提供应用程序。
什么是 SaaS
软件即服务(SaaS)应用程序通过互联网将软件作为服务交付,从而无需在客户自己的电脑上安装和运行应用程序,并将操作开销降至最低。它使开发人员能够以低成本和更快的上市时间构建可扩展的解决方案。
B2B SaaS 公司开发、托管和维护 SaaS 服务并提供支持,以降低其运营成本。它是下一代产品开发 / 使用。当信息技术专业人员购买 SaaS 应用程序时,他们最看重的是以下几个标准:
SaaS 的好处
SaaS 软件可以在世界上任何有互联网的地方访问。
无需本地服务器安装和维护。
订阅通常是“按需付费”,因此比传统软件便宜。
成本效益。
客户可以随时使用软件,无需任何操作开销。
44% 的 SaaS 供应商提供免费试用。
SaaS 的缺点
安全问题:公司的保护健康信息(Protected Health Information,PHI)/ 安全数据由第三方保存和访问。
有时会延迟功能发布。
是去对应用程序的控制权。
关于 SaaS 市场的事实
2019 年到 2023 年,全球 SaaS 市场预计价值为 603.6 亿美元,在 4 年内复合年增长率为 9%。(来源: Technavio )
2015 年到 2017 年,企业使用的 SaaS 应用程序平均数量增长了两倍,从 8 个增至 16 个。(来源: BetterCloud )
2018 年,全球 SaaS 工作负载增至 2.06 亿,预计到 2021 年,将达到 3.8 亿。(来源: Statista/Cisco )
SaaS 市场复合年增长率预测为 18%。(来源: MarketsandMarkets )
零售和消费品的增长率最高。(来源: MarketsandMarkets )
38% 的公司表示他们几乎完全在 SaaS 上运行。
截止 2020 年 1 月中旬,Saleforce 是美国市值最大的 SaaS 提供商。(来源: Mike Sonders )
SaaS 的关键特性和功能
租户
租户可以分为单租户模式、混合租户模式和多租户模式,每种模式都有其优缺点。
- 单租户是一个架构,每个团队都有专门的服务器和陪她基础设施。
- 混合租户是单租户模式和多租户模式的组合。
- 多租户模式是一种业务结构,其中许多组织共享相同的软件来保存和存储数据。
单租户与多租户的优缺点
优点:
元数据 / 配置驱动
一个好的 SaaS 解决方案应该是高效的多租户。可以使用每个租户的元数据来实现多租户。可以为每个特定组件定义元数据。它定义了运行时的应用程序数据、应用程序的基础功能,以及特定租户的数据和自定义(如果有的话)。
弹性
多租户 SaaS 解决方案可以在不同租户之间共享。可伸缩的 SaaS 架构还应该包含组件,这些组件都是无状态的微服务。每个组件都可以相互独立缩放。应用程序应该根据需要进行冬天扩容、缩容。
参考架构
任何 SaaS 解决方案的关键功能都是基础设施、表示、安全性、应用程序和操作。
表示:主要集中在表示层:
用户控件
显示与渲染
报告
安全性:安全性是 SaaS 解决方案的主要功能。主要的应用程序构建注意事项如下:
身份认证和联合身份模式
身份验证和单一登录模式
授权和以角色为基础的访问控制
策略
加密
应用视图:包括在网络上存储和移动数据。
数据库
计算
存储
操作视图:顾名思义,这是 SaaS 最重要的方面。它有助于维护客户的信任,并增加业务。它主要包括:
容错性和可用性
监控与维护
租户的载入
分析
计费与层级管理
备份与恢复
SaaS 应用的最佳实践
- 自服务:应用程序应该是自服务式的,没有任何工程开销。
- 个性化:客户可以根据需要改变外观。
- 多租户:一个软件应用程序的单一实例是为了服务于多个客户。多住户架构方法可以使应用程序提供商和用户都受益。只为多个企业运营一个应用程序实例,对提供商和租户都会带来巨大的成本效益。
- 集成:SaaS 应用程序应该很容易与其他应用程序集成。
- 运行性能
- 安全性和合规性:保证数据安全至关重要。每个租户的机密数据应该是安全且隔离的。
- 监控:应该自己监视应用程序的停机时间,以及性能问题,因为缓慢的性能会导致用户体验不佳。开发人员需准备好监控工具和流程,以确保应用程序的高可用性。
如何开始
进行市场调查,找出客户需要的功能。
创建功能和技术规范文档。
确定功能的优先级。
创建一个以客户为中心的用户故事,而不是以开发人员为中心的故事。
开发用户体验设计和线框图。
启动 BE 代码的头脑风暴会议。
启动代码和测试套件。
使用最少的功能启动最小化可行产品。
反复测试。
定期听取客户的反馈。如果你的解决方案不能解决客户所面临的主要挑战,那么它就毫无用处。
对于任何新功能的发布,都要重复上述过程。
沃尔玛 SaaS 方法
目前,沃尔玛电商(Walmart eCommerce)为旗下的 walmart.com、ASDA、SAM 等子公司提供 SaaS 服务,遵循 Single/hybrid 租户模式。我们有一个单一的代码库,用于多个租户,所有的功能都是元数据驱动的,这将帮助我们轻松地向多租户模式转变。所有的微服务都是相互隔离的,并且根据用例进行异步和同步通信。虽然单租户的成本效益不是很高,但可以确保在每个租户的基础上解决运营限制。
总结
企业可以利用 SaaS,这可以为他们节省运营成本。精心设计和构建的 SaaS 应用程序可以为供应商和消费者提供双赢的解决方案。
作者介绍:
Adeeti Kaushal,沃尔玛电商技术主管。
【云栖号在线课堂】每天都有产品技术专家分享!
课程地址:https://yqh.aliyun.com/zhibo立即加入社群,与专家面对面,及时了解课程最新动态!
【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK
原文发布时间:2020-07-21
本文作者:Adeeti Kaushal
本文来自:“InfoQ ”,了解相关信息可以关注“InfoQ”

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
5G时代 运营商网络将面临何种挑战和机遇
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 至顶网网络与安全频道 07月20日 北京报道:随着国内5G的正式商用,到今天已经有一年多的时间了,期间伴随着互联网、移动化等产业趋势的不断深入发展,给传统服务提供商业务带来了全新的挑战和机遇。目前,服务提供商正处于业务转型的关键时期,而这种转型始发于市场对业务提出的新需求,最终将在服务提供商的基础设施建设与升级中得以体现。而云计算、大数据、人工智能等技术的引入正在为运营商应对5G市场所带来的种种挑战提供技术保障。 运营商网络面临的挑战 5G时代可以说给运营商网络带来了前所未有的冲击。随着5G的商业化落地,5G架构将连接亿级别的智能设备,网络流量增长会超过十倍之多,该架构需要展示强化的、更高程度的灵活性、敏捷性和自动化,这在很大程度上依赖网络功能虚拟化 (NFV) 和软件定义网络 (SDN) 基础架构,以便实现按需扩展和部署网络功能所需的弹性,支持各种全新的移动应用程序。 由于还要满足5G终端低延时、高并发等需求,5G网络采用了更加密集的微基站部署方式,而每个基站实际上就相当于一个小型或微...
- 下一篇
你说你熟悉JVM?那你知道Java对象是如何创建、存储和访问的吗?
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 前言 Java程序员都知道如何创建对象,不就是一个Person person = new Person()的语句就解决了么?然而,我们只知道new,却对于底层如何实现对象的创建、如何存储到内存中去、又如何被访问的知之甚少。 对象的创建 流程图 创建流程 Java程序new一个对象。 虚拟机遇到一条new指令时,首先检查这个指令的参数是否能在常量池中定位到一个类的符号引用,且检查该符号引用代表的类是否已被加载、解析和初始化过。若没有,需先进行相应的类加载过程。 在类加载检查通过后,虚拟机将为新生对象分配内存。(对象在内存中所需要的大小在类加载完成后就确定了) 内存分配完之后,虚拟机需要将分配到的内存空间初始化为零值(不包括对象头)。保证了对象的实例字段在Java代码中可以不赋初始值就直接使用,可以访问对应的零值。(对应准备阶段) 虚拟机对对象进行必要的设置(对象头的设置)。如这个对象是哪个类的实例、如何找到类的元数据信息、对象哈希码、对象的GC分代年龄等信息。 以上虚拟机中新对象产生,对应...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用