写点什么

在 Saas 发展的黄金时代里,带你从头开始理解 SaaS 的设计

  • 2020-07-21
  • 本文字数:3310 字

    阅读完需:约 11 分钟

在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 应用程序时,他们最看重的是以下几个标准:


标准 百分比
成本59%
安全性47%
易用性38%
集成30%
客户支持24%
自服务23%
上线时间15%
可扩展性12%
灾难恢复计划12%

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://medium.com/walmartlabs/understanding-saas-from-ground-up-120bf68915d0


2020-07-21 11:363529

评论

发布
暂无评论
发现更多内容

看了小姐姐的Spring SPI 总结,双非渣硕的我差点跳起来,被征服了

牛哄哄的java大师

Java

架构实战营 -- 模块三

永佳

架构实战营

AI英雄出少年!奔赴星辰,他们正在创造黄金时代

百度大脑

AI

第一个鸿蒙应用

释缘

鸿蒙 HarmonyOS

从5大挑战带你了解多模态机器学习

华为云开发者联盟

机器学习 多模态机器学习 多模态 异构数据

深入浅出 LVS 负载均衡系列(二):DR、TUN 模型原理

UCloud技术

负载均衡

私域流量这件事,古代就有了……

白洞计划

存算解耦的多模型数据管理平台介绍:以星环科技TDH8.0为例

星环科技

人工智能 大数据 云平台 数据管理平台 存算解耦

STM32低功耗模式下GPIO如何配置最节能?

不脱发的程序猿

嵌入式 stm32 单片机 低功耗模式

技术探索系列 - 轻松带你掌握JMM(2)

洛神灬殇

JVM JMM 5月日更

Nginx 常用配置清单

Java小咖秀

nginx Web 反向代理 HTTP

双向循环链表:鸿蒙轻内核中数据的“驿站”

华为云开发者联盟

鸿蒙 数据结构 结构体 OpenHarmony 双向循环链表

轶事

言未卜

nmon和nmon analyser的网盘下载安装与使用

InfoQ_Springup

工具

架构实战营模块三作业

竹林七贤

华仔架构训练营作业(模块三)

不听不听王八念晶

“区块链+疫情预警”!这个科研团队研发了传染病预警系统

CECBC

疫情

rocketmq优雅停机往事

捉虫大师

数据架构:数据冷热分离实践思考

程序员架构进阶

数据架构 架构设计 28天写作 5月日更 冷热分离

架构实战营模块3作业

Vic

架构实战营

区块链+农业,如何升级农业价值链

CECBC

农业

数仓ETL系统:给强大的“心脏”配上“超级流水线”

华为云开发者联盟

数据库 数据仓库 GaussDB(DWS) ETL系统 MPPDB

从狗狗币说起 看区块链的未来发展方向

CECBC

狗狗币

基于OpenPAI细化部署 Hadoop 集群

Damon

hadoop 5月日更

新书见面 | 《云原生时代的微服务架构实践》

Damon

微服务 云原生 5月日更

第三次作业

Geek_9cf7b5

Nginx-代理服务器

进击的梦清

nginx Docker Linux Docker-compose 代理

求求你别再用 MySQL offset 和 limit 分页了

xcbeyond

MySQL 5月日更

NumPy之:使用genfromtxt导入数据

程序那些事

Python 数据分析 Numpy 程序那些事

在线体验四大名著情景(地图、游戏)

不脱发的程序猿

开源 程序人生 四大名著

PHP文件包含小总结

Thrash

安全

在Saas发展的黄金时代里,带你从头开始理解 SaaS的设计_开源_Adeeti Kaushal_InfoQ精选文章