非功能需求(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部分的更多相关文章

  1. SaaS应用十大关键NFR - 第2部分

    SaaS应用十大关键NFR - 第2部分 在继续上一篇关于SaaS应用的十大关键NFR的博客之后,我们来看看接下来的5个对SaaS解决方案架构产生深刻影响的关键NFR. SaaS应用的关键NFR 多租 ...

  2. 3星|《十大全球CEO亲授企业高速成长的关键战略》:作为CEO,我也非常坦率地表明过家庭优先于工作

    十大全球CEO亲授 企业高速成长的关键战略(<哈佛商业评论>增刊) <哈佛商业评论>上的10来篇文章合集.大部分都看过,除了一篇中信的访谈,其他大部分是美国的有点旧的案例. 总 ...

  3. 推荐Linux管理员不可不知十大PHP安全要点 - SCutePHP

    PHP是使用最广泛的脚本编程语言之一.市场份额颇能说明其主导地位.PHP 7已推出,这个事实让这种编程语言对当前的开发人员来说更具吸引力.尽管出现了一些变化,但是许多开发人员对PHP的未来持怀疑态度. ...

  4. 十大经典排序算法总结(JavaScript描述)

    前言 读者自行尝试可以想看源码戳这,博主在github建了个库,读者可以Clone下来本地尝试.此博文配合源码体验更棒哦~~~ 个人博客:Damonare的个人博客 原文地址:十大经典算法总结 这世界 ...

  5. 十大开源的.NET用户界面框架 让GUI设计不再犯难

    选择一款合适的GUI框架是.NET开发中比较重要但又很棘手的问题,因为用户界面相当于一款应用的"门面",直接面向用户.好的UI更能吸引用户,有时甚至成为决定一款应用成败的关键.下面 ...

  6. 十大广泛使用的Linux发行版

    回到上世纪90年代,Mandrake Linux还是唯一的Linux发行版:而今天,Linux发行版的数量变得数不胜数.本文为大家整理出了十大广泛使用的Linux发行版,希望能帮助大家在选择合适的Li ...

  7. 十大经典排序算法总结——JavaScrip版

    首先,对于评述算法优劣术语的说明: 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面:即排序后2个相等键值的顺序和排序之前它们的顺序相同 不稳定:如果a原本在b的前面,而a=b,排序之后a ...

  8. JS的十大经典算法排序

    引子 有句话怎么说来着: 雷锋推倒雷峰塔,Java implements JavaScript. 当年,想凭借抱Java大腿火一把而不惜把自己名字给改了的JavaScript(原名LiveScript ...

  9. 十大技巧快速提升原生APP开发性能

    移动应用市场用户争夺战日益激烈,原来做APP拼想法拼创意拼是否抓住用户痛点.现在,精细化用户体验成为了一个APP能否留存用户的关键问题,一旦用户觉得体验不畅,马上就有竞品APP后补,如何开发高性能的移 ...

随机推荐

  1. Linux - 常用 Linux 命令的基本使用

    常用 Linux 命令的基本使用 目标 理解学习 Linux 终端命令的原因 常用 Linux 命令体验 01. 学习 Linux 终端命令的原因 Linux 刚面世时并没有图形界面,所有的操作全靠命 ...

  2. “新智认知”杯上海高校程序设计竞赛暨第十七届上海大学程序设计春季联赛(D题,贪心+栈)

    链接:https://ac.nowcoder.com/acm/contest/551/D来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 524288K,其他语言10485 ...

  3. Find out where to contain the smartforms

    Go to table E071 and give smarforms name and it will give the transport req for that. Run SE03, choo ...

  4. python入门day01

      一.编程和编程语言 电脑的基本原理: #计算机通过高低电流表示二进制数的1和0,所以计算机识别的是电压的高低,准确地说是用电压表示的各种数据,即数字信号;其他的物理量必须通过传感器等设备转换成数字 ...

  5. 子元素z-index高于父元素兄弟元素z-index被遮挡问题

    问题:最近在写样式时,遇到一个这样的问题,子元素的z-index值大于父元素兄弟元素z-index值,结果子元素超出父元素部分被父元素兄弟元素遮挡解决:将父元素的z-index值设置为大于兄弟元素z- ...

  6. 数据如何输入输出_Spark

    1)输入:在Spark程序运行中,数据从外部数据空间(如分布式存储:textFile读取HDFS等,parallelize方法输入Scala集合或数据)输入Spark,数据进入Spark运行时数据空间 ...

  7. spring Mongodb查询索引报错 java.lang.NumberFormatException: empty String

    最近事情比较多,本篇文章算是把遇到的问题杂糅到一起了. 背景:笔者最近在写一个mongo查询小程序,由于建立索引时字段名用大写,而查询的时候用小写. 代码如下: db.getCollection(&q ...

  8. pycharm 有些模块没有提示 解决方法

    解决方法:右键模块所在文件夹,选择make directory as ,选择excluded或者sources root,即可.

  9. Pytorch之训练器设置

    Pytorch之训练器设置 引言 深度学习训练的时候有很多技巧, 但是实际用起来效果如何, 还是得亲自尝试. 这里记录了一些个人尝试不同技巧的代码. tensorboardX 说起tensorflow ...

  10. springboot练习

    https://www.jianshu.com/p/9a08417e4e84 1.@Controller和@RestController的区别? Spring4之后加入的注解,原来在@Controll ...