转 SaaS应用十大关键NFR - 第1部分
非功能需求(SaaS的NFR)是跨越应用功能的跨越所有模块和功能的要求。这些要求深入到应用程序的架构,这是他们得到解决的地方。因此,在SaaS架构阶段之前了解这些NFR对于特定应用程序很重要,因此应用程序设计可以满足这些要求。
SaaS模式的本质使得某些NFR对其运行至关重要。让我们看看SaaS应用程序的十大关键NFR以及其背后的原因。

SaaS应用的关键NFR
可扩展性:
SaaS是一个按需的业务模式,很难预测系统的负载。同时,您无法计划峰值负载情况,因为这将消耗高水平的成本,并导致资源使用效率低下。因此,应用程序应设计为基于系统上的实时负载动态扩展和缩小。这就是SaaS架构师必须利用云模型来利用按需资源消耗模型的地方。
性能:
随着互联网速度和带宽可用性的不断增加,客户期望基于互联网应用的照明响应。无论应用程序的类型还是屏幕后面的处理量,SaaS客户都将期望相同。因此,架构师必须有意识地考虑潜在的性能瓶颈,并实施可以帮助利用异步处理,微服务架构,多数据可用性等概念的设计。
可用性:
可能是所有NFR中最重要的。SaaS应用程序必须首先提供给其他NFR才能播放。SaaS应用程序的可用性是最大的问题,特别是如果应用程序涉及到关键业务解决方案。SaaS应用程序的计划外停机可能导致客户的重大损失,从而可能破坏SaaS提供商的业务。架构师必须了解针对性的SLA,并以不存在单点故障的方式设计部署模型。在设计DR策略时,还应考虑恢复时间目标(RTO),恢复点目标(RPO)因素。
积分:
我们今天生活在一个高度互联的世界,这在未来几年只会增加。客户非常关心选择SaaS应用程序,该应用程序不仅可以解决预期的功能,而且还能够根据客户端的现有设置进行良好的凝结。这导致了SaaS应用程序必须与不同的内部和外部系统对话的情况。建筑师必须将SaaS应用程序设计为具有足够钩子的开放系统,以便集成不仅可行,而且可以以最小的努力完成。
审计:
从SaaS提供商的角度来看,系统的所有权及其功能与供应商有关。因此,SaaS提供商有责任实施适当的措施来跟踪系统的使用情况及其中发生的事件。此信息对于诊断目的以及解决与客户的冲突至关重要。审计设计应确保所有用户和系统操作都被正确地记录和存储,以便跟踪和识别系统中发生的事件的确切顺序。存储数据更改(旧数据与新数据)以及引发更改的时间戳和用户详细信息也很重要。
在下一个博客中,我们将看到SaaS应用的下一个5关键NFR。
原文:https://blog.techcello.com/2016/04/top-10-critical-nfr-for-saas-applications-part-1/
转 SaaS应用十大关键NFR - 第1部分的更多相关文章
- SaaS应用十大关键NFR - 第2部分
SaaS应用十大关键NFR - 第2部分 在继续上一篇关于SaaS应用的十大关键NFR的博客之后,我们来看看接下来的5个对SaaS解决方案架构产生深刻影响的关键NFR. SaaS应用的关键NFR 多租 ...
- 3星|《十大全球CEO亲授企业高速成长的关键战略》:作为CEO,我也非常坦率地表明过家庭优先于工作
十大全球CEO亲授 企业高速成长的关键战略(<哈佛商业评论>增刊) <哈佛商业评论>上的10来篇文章合集.大部分都看过,除了一篇中信的访谈,其他大部分是美国的有点旧的案例. 总 ...
- 推荐Linux管理员不可不知十大PHP安全要点 - SCutePHP
PHP是使用最广泛的脚本编程语言之一.市场份额颇能说明其主导地位.PHP 7已推出,这个事实让这种编程语言对当前的开发人员来说更具吸引力.尽管出现了一些变化,但是许多开发人员对PHP的未来持怀疑态度. ...
- 十大经典排序算法总结(JavaScript描述)
前言 读者自行尝试可以想看源码戳这,博主在github建了个库,读者可以Clone下来本地尝试.此博文配合源码体验更棒哦~~~ 个人博客:Damonare的个人博客 原文地址:十大经典算法总结 这世界 ...
- 十大开源的.NET用户界面框架 让GUI设计不再犯难
选择一款合适的GUI框架是.NET开发中比较重要但又很棘手的问题,因为用户界面相当于一款应用的"门面",直接面向用户.好的UI更能吸引用户,有时甚至成为决定一款应用成败的关键.下面 ...
- 十大广泛使用的Linux发行版
回到上世纪90年代,Mandrake Linux还是唯一的Linux发行版:而今天,Linux发行版的数量变得数不胜数.本文为大家整理出了十大广泛使用的Linux发行版,希望能帮助大家在选择合适的Li ...
- 十大经典排序算法总结——JavaScrip版
首先,对于评述算法优劣术语的说明: 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面:即排序后2个相等键值的顺序和排序之前它们的顺序相同 不稳定:如果a原本在b的前面,而a=b,排序之后a ...
- JS的十大经典算法排序
引子 有句话怎么说来着: 雷锋推倒雷峰塔,Java implements JavaScript. 当年,想凭借抱Java大腿火一把而不惜把自己名字给改了的JavaScript(原名LiveScript ...
- 十大技巧快速提升原生APP开发性能
移动应用市场用户争夺战日益激烈,原来做APP拼想法拼创意拼是否抓住用户痛点.现在,精细化用户体验成为了一个APP能否留存用户的关键问题,一旦用户觉得体验不畅,马上就有竞品APP后补,如何开发高性能的移 ...
随机推荐
- python之元组及其方法---整理集
元组: 区别:与列表类似,是对列表的二次加工:用小括号包括起来:元素不可修改:不可增加.删除 技巧:创建元组的时候,一般在最后一个元素后面加一个逗号:为了与方法区分:并且这个逗号不算元素例如: tu= ...
- vim matchit 自定义配对关键字之间的跳转
vim因其强大的扩展性一直深受linux程序员的喜爱,最近在用vim写verilog的时候,由于一个逻辑块中的begin end较多,常常会多写或者漏掉匹配关键字,很是苦恼,于是寻找匹配关键字间跳转的 ...
- SQL查询中连接--学习
一.开头说 不出意外,还是先说下SQL中所有的联接类型: 内连接.外连接(左连接.右连接 .全连接).交叉连接 然后接下来就是依次学习下各种连接的使用效果 二.各种连接秀 首先准备两张表 学生表: ...
- oralce 的安装以及plsql的配置的html连接
https://www.cnblogs.com/xkstudy/p/6400738.html
- Java创建对象的初始化顺序
1. 初始化块 初始化块通常写在类的构造方法之前,由花括号括起来,通常包含对成员属性进行初始化的语句: 初始化块分为instance初始化块和static初始化块,初始化块在构造方法执行之前被执行: ...
- 部署代码review和CI
公司原先搭了一个代码Review的服务器,由于历史原因,装的是一个32bit的Ubuntu系统,后来由于需要,需要安装gitlab,由于gitlab需要64位系统,所以临时凑合了个vagrant,本质 ...
- TypeError: unsupported operand type(s) for +: 'float' and 'decimal.Decimal'
TypeError: unsupported operand type(s) for +: 'float' and 'decimal.Decimal' 浮点型和双精度类型 相加报错 from deci ...
- ERRORS !MySQL 和 Javaweb 的报错合集
ERROR:1175. You are using safe update mode and you tried to update a table without a WHERE that uses ...
- echarts 图表重新加载,原来的数据依然存在图表上
问题 在做一个全国地图上一些饼图,并且向省一级的地图钻取的时候,原来的饼图依然显示 原因 echars所有添加的图表都在一个series属性集合中,并且同一个echars对象默认是合并之前的数据的,所 ...
- 自己搭建git服务器
1.安装git 2.创建git用户,给权限(git目录下) 3.设置公钥 4.初始化git仓库 5.给权限(仓库) 连接到本地