写点什么

在 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:364014

评论

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

区块链数据共享平台—追踪、溯源、可信

电微13828808271

区块链+

火山引擎 Redis 云原生实践

火山引擎开发者社区

云原生 redis cluster

【LeetCode】寻找旋转排序数组中的最小值Java题解

Albert

算法 LeetCode 4月日更

正点原子:STM32F103(战舰)、STM32F407(探索者)、STM32F103(MINI)原理图和PCB

不脱发的程序猿

开发板 stm32 硬件设计 4月日更 正点原子

kubectl top node报错及解决

箭上有毒

翻译:《实用的Python编程》08_00_Overview

codists

Python

为什么很多SaaS叫好不叫座?

ToB行业头条

SaaS tob

纹理打包器TexturePacker

空城机

UI 4月日更 Texture Packer 纹理打包器 pixi

SumSwap节点预售关注度飙升而Uniswap V3版本却备受争议

币圈资讯

语音聊天室 anyHouse 使用手册

anyRTC开发者

ios android 音视频 WebRTC RTC

GitHub爆火!银四巨作:拼多多/蚂蚁/百度面经分享

比伯

Java 架构 面试 程序人生 技术宅

Linux cat 命令

一个大红包

4月日更

团队协作中,如何写出让同事赞不绝口的代码

有道技术团队

代码规范

以太坊杀手?NA公链(Nirvana)Chain忠于挑战自己NAC公链

区块链第一资讯

Python实现植物大战僵尸

不脱发的程序猿

Python GitHub 开源 游戏开发 4月日更

技术分享第二讲报名!

神策技术社区

大数据 活动 报名 神策

华云大咖说 | 华云数据与海量数据携手共建国产云生态

华云数据

区块链农产品质量安全溯源,保证农产品品质

13530558032

“区块链+电子处方”,医疗跟更健康

电微13828808271

阿里最强 Python 自动化工具开源了!

星安果

Python 开源 自动化 阿里

关于机器学习的十大常见问题

澳鹏Appen

人工智能 机器学习 深度学习 大数据 数据

[知识它]一篇文章或一本书是怎么写出来的

知识它

写作技巧 写文章 快速写作 写作方法

Javascript执行机制-任务队列

Sakura

面试笔记(一)事务连环炮

U2647

分布式事务 事务隔离级别 事务 4月日更

重磅功能!博睿数据APM助企业从容应对云原生架构演进

博睿数据

应用性能监控产品 Bonree Server 博睿数据 bonree

Redis 客户端服务端命令数据交换

escray

redis 学习 极客时间 Redis 核心技术与实战 4月日更

为什么主动跨数据复制在5G时代非常重要?

VoltDB

数据分析 5G VoltDB 电信

EFT【阿凡提】等级规则、收益、排线方法与EFTalk十大关键点

币圈那点事

多功能工具箱Quicker+笔记软件flomo,竟然还能擦出这样的火花?

彭宏豪95

效率 工具软件 笔记 工具分享 4月日更

基于Vue和Quasar的前端SPA项目crudapi后台管理系统实战之布局菜单嵌套路由(三)

crudapi

Vue crud crudapi quasar 路由

500+解决方案已搭载,英特尔新至强出道不含糊

E科讯

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