管理系统中风险是系统可用性和可扩展性的关键(2)

简介: 管理系统中风险是系统可用性和可扩展性的关键(2)

测量风险



管理风险的第一步是要准确地确定某一具体行动所涉及的风险有多大,保持必要的准确性。在这里为什么我们要使用“必要”而不是“可能”这个词?你可以更准确地测量风险,但基于目前产品或组织的当前状态这可能是不必要的。例如,对一个产品做beta测试,因为客户预期会有一些小故障,可能决定没有必要进行复杂的风险评估,粗略的分析就够了。有许多不同的方法来分析和评估风险。在工具箱中的测量方法越多,就越有可能在最合适的时间、对最合适的活动、用最合适的方法来测试风险。在这里,我们将涵盖三种确定风险的方法。对于每种方法,我们将讨论其优点、缺点和精度。


第一种方法是直觉法。当相信自己可以感知风险时,人们经常使用这种方法,同时赋予风险管理者做出重要决定的权力。正如我们之前提到的,有些人天生就有这种能力,在组织中有这样的人肯定是很好的。然而,有两个非常重要的问题需要提醒你。首先,这个人是否真的有能力在潜意识层面理解风险,或者你只是希望他能做到?换句话说,你是否查证了这个人的准确性?如果没有的话,在你认为这仅仅就是个猜测之前,你应该去查证。如果有人声称可以“感知”风险的水平,让他或她把预测写在白板上。这是为了好玩。其次,注意我们事先警告的关于故障的单点。你需要在组织中多几个人来了解如何评估风险。理想情况下,每个人都熟悉风险的重要性,并掌握现有的评估和管理方法。


薄切片(Thin Slicing)是心理学和哲学中的一个术语,用来描述只根据“薄切片”或狭窄的经验窗口在事件中发现模式的能力。作者马尔科姆·格拉德威尔,在《无思维的思维力量》(The Power of Thinking Without Thinking)一书中,认为这种即时决策的过程与经过精心策划、深思熟虑的决策过程往往一样好、甚至更好。


image.png


课堂上的研究已经表明,专家可以从教师的简单举止中,区分出有偏见的教师和公正的教师。此外,法院的研究也表明,法官在审判中的只言片语可以让专家们预测法官对审判的期望。


格拉德威尔声称专家经常做出快速决策,这往往比经过大量分析的决策更好。有时过多的信息会干扰判断的准确性,导致俗话说的“分析瘫痪”。这种在非常有限的信息基础上做出决策的能力似乎很理想,格拉德威尔还指出,专家的薄片决策能力可能受个人的喜好、偏见和成见的影响。


风险评估方法的核心优势在于非常快速。一个真正的专家,如果能从根本上理解某些任务所固有的风险,可以在几秒钟内做出决定。正如我们所讨论的那样,直觉方法的缺点包括这个人可能没有这个能力,因为几次巧合的成功,被误以为他可以。另一个缺点是,这种方法很少可以复制。人们往往在行业内工作了许多年,积累和磨炼了不少经验,这可不是在一小时的课堂能就完成讲授的东西。这种方法的另外一个缺点是,很多的决定取决于一个人一时的冲动,而不是一个团队或小组集思广益得出的结论。该方法的准确性是高度可变的,这取决于人、行动和其他因素。本周一个人的风险可能会评估得很好,但下星期可能会彻底地失败。因此,如果时间是至关重要的,风险是在最坏的情况下和有一个久经考验的专家,你可以谨慎使用这种方法。


测量风险的第二种方法是交通灯法。在这种方法中,通过将行动分解成最小的组件,并用绿色、黄色或红色来标明其风险等级。最小的组件可能是应用版本发布中的一个功能或维护列表中的一个配置变化。粒度取决于几个因素,由团队进行这些评估,包括可用时间和演练的次数。下一步我们确定行动的整体或集体风险。为每种颜色分配一个风险值,计算每种颜色的数目,用不同颜色的数目乘以响应的风险值。然后,将计算得到的风险总值除以动作总数。风险评估的结果是最接近得分的颜色。图16-2个描述了三个功能组件的风险等级,它提供了一个对整体系统版本发布的累积风险的评估。


对微观层次组件很熟悉的人应该去评估风险值,并为每个微观组件标定颜色。标定颜色应根据完成每个组件的任务难度,需要的工作量,组件之间的关联关系等来分配。图中展示了一些最常见的属性及其相关的危险因素,可由工程师或其他专家衡量在某个特定功能或颗粒项目的风险。




image.png


交通灯方法的显著优点是,它使风险评估开始变得有条不紊,这意味着它有可重复性,能够记录而且训练。重复性意味着我们可以根据评估结果来学习和提高。许多人可以进行风险评估,所以你不再依赖于单一个体。再次,因为许多人可以进行评估,可以以组为单位对做出的决策进行讨论,他们可以确定某个人的论点是否有优点。这种方法的缺点是,它是过程中的一个额外步骤,比直觉猜想法需要更多的时间。另一个缺点是,它依赖于每个专家来选择属性,并用这个属性去评估每个组件的风险。由于专家之间存在着这种可能的变数,这种风险评估的准确性属于中等水平。如果专家非常熟悉而且清楚地了解特定领域风险属性的构成,那么交通灯方法的结果可以相当准确。如果他们在评估的时候,对需要重点检查哪些属性没有清楚的理解和认识,风险水平的评估结果可能会差一些。我们会在下一个风险评估方法的讨论中看到这一点,新方法可以解决这种潜在的变动性,使评估的结果更加准确。


评估特定行动风险的第三种方法是故障模式及影响分析法(Failure mode andeffects analysis,FMEA)。这种方法最初是从20世纪40年代末的军队中开始使用的。从那时起,它被广泛应用于包括汽车、制造业、航空航天和软件开发等许多行业。进行评估的方法类似于交通灯方法,系统被分解成最小的组成部分进行风险评估。对于应用版本发布,这些组成部分可能是功能、任务或模块。然后为每个组成部分确定一个或多个可能的故障模式。每个故障模式都有相应的效果,描述如果故障发生时的影响情况。


例如,注册功能的故障有几种情况,无法把新用户的信息适当地储存到数据库,为新用户分配错误的权限或其他的几种情况。其影响将是用户无法注册或能看到没有经过授权的数据。每个故障的现象可以依据下述三个因素来打分:故障的可能性、严重性和可检测性。我们选择使用1、3和9作为打分的范围,这让我们非常保守,同时可以把高风险因素和中低风险因素区分开来。故障的可能性基本上是这个特定故障真实发生的概率。故障的严重性是指如果故障发生,对客户和业务产生的总体影响。这种影响可以用金钱损失、声誉损失或任何与业务有关的其他因素来测量。故障的可检测能力指的是如果故障发生你是否能够注意到。正如你所能想象的,一个有灾难性后果并极有可能发生的故障实际上却无法检测,那将是最坏的结果。

相关文章
|
Shell Linux Python
基于远程服务器安装配置Anaconda环境及创建python虚拟环境详细方案(一)
基于远程服务器安装配置Anaconda环境及创建python虚拟环境详细方案
8997 0
基于远程服务器安装配置Anaconda环境及创建python虚拟环境详细方案(一)
|
3月前
|
SQL 人工智能 API
一个人干五个人的活?Copilot CLI 的 `/fleet` 让你体验“影分身术“
GitHub Copilot CLI 新增 `/fleet` 命令,化身“AI包工头”,智能拆解需求、调度多子代理并行处理跨文件任务(如重构+测+文档),支持依赖编排与实时监工。提升开发效率,助你从执行者进阶为指挥官!
293 0
|
6月前
|
弹性计算 容灾 定位技术
阿里云服务器ECS哪些地区有节点?全球地域汇总,开服运营20地域、80可用区
阿里云ECS已覆盖全球四大洲20+地域、80+可用区,含中国华北、华东、华南等10+地域及海外新加坡、东京、法兰克福等15+地域。支持多可用区容灾部署与低延迟内网通信,满足不同业务对地理位置、合规性及高可用的需求。
959 13
|
9月前
|
JSON 自然语言处理 安全
《服务治理》RPC框架序列化协议深度解析
序列化是将对象转换为字节流的过程,反序列化则是将字节流恢复为对象的过程。在RPC调用中,序列化协议的性能直接影响整个系统的吞吐量和延迟。
|
存储 人工智能 OLAP
百炼融合AnalyticDB,10分钟创建网站AI助手
百炼融合AnalyticDB,10分钟创建网站AI助手。本课程由阿里云产品经理陈茏久分享,涵盖大模型行业变革、向量数据库驱动RAG服务化探索、方案优势及应用场景、产品选型配置及最新发布等内容。通过整合通义百炼和AnalyticDB,用户可快速搭建具备企业私域知识的AI助手,实现智能客服、教育、汽车等多行业的应用升级。教程详细介绍了从环境搭建到知识库配置的全流程,并提供了免费试用资源,帮助用户低成本体验核心能力。
645 7
|
SQL JavaScript 前端开发
Github 2024-08-05 开源项目周报 Top15
根据 Github Trendings 的统计,本周(2024年8月5日统计)共有15个项目上榜。以下是根据开发语言汇总的项目数量: - Go 项目:4个 - JavaScript 项目:3个 - Python 项目:3个 - Java 项目:2个 - TypeScript 项目:2个 - C 项目:1个 - Shell 项目:1个 - Dockerfile 项目:1个 - 非开发语言项目:1个
882 3
|
前端开发 Java 数据库
什么是MVC三层结构
什么是MVC三层结构
|
SQL 缓存 关系型数据库
SqlAlchemy 2.0 中文文档(七十二)(2)
SqlAlchemy 2.0 中文文档(七十二)
367 0
font-size: 0消除空白字符导致的行内元素额外间距
`font-size: 0` 设置字体大小为0,但是它要实现的效果却不是字体为0看不见,而是消除子行内元素间额外多余的空白。最推荐的方式是,去掉标签之间的空格、换行等空白字符,这也是压缩...
1079 0
font-size: 0消除空白字符导致的行内元素额外间距
|
Java 索引
java8流处理器list转map的对比
java8流处理器list转map的对比