本文是之前曾发表过的系列文章的第三部分(前两篇文章分别为《云计算的可靠性设计 Part 1》和《微软:利用软件解决云计算的可靠性》)。在本文中,我将讨论帮助微软提高服务的可靠性,以及帮助我们的客户实现云计算的全部潜力方面转变和进化的工程原理。
本文转自:机房360
从客户的角度来看,云服务应该只是工作。但是,正如我们已经在这个系列文章中所讨论的那样,服务中断其实是不可避免的,这不是一个“是否会发生”的问题,严格意义上是“何时会发生”的问题。不管在线服务的设计和建成是如何的精炼,都会不可避免的遭遇到突发事件的发生。区别就在于服务提供商如何预测,并及时的从这些情况中进行恢复。从而保证客户的体验。
指导设计原则
云服务的三大设计指导原则:1、数据的完整性,2、容错能力,3、快速恢复。这些是客户期望满足的三大属性,至少,要在他们的服务中保证这三大属性。数据完整性是指保护客户委托服务的信息的保真度。容错能力是服务供应商能够检测到故障,并自动采取纠正措施,以便使得服务不会发生中断的服务能力。快速恢复能力是指在未预料到的故障发生时,能够迅速而完全的恢复服务的能力。
作为服务服务商,我们需要尽可能的提前识别并找出各种潜在的故障,然后在服务设计阶段对这些情况进行充分的考虑。这种周全的计划可以帮助我们决定如何确切地服务,并在发生意想不到的挑战时如何做出反应。服务必须能够从这些故障的情况下进行恢复,并保证最小的中断。虽然我们不能预测到每一个故障点或每一失效模式,但利用前瞻性、业务连续性规划和大量的实践,我们可以制定一套紧急预案的流程,以备不时之需。
根据云计算的特点,其可以被描述为一个复杂的系统组成,依赖于共享的基础设施和松散的耦合的性,许多特性都是在供应商的直接控制之外。传统上,许多企业维护的内部部署的计算环境,能够让他们直接控制他们的应用程序,基础设施和相关服务。然而,随着云计算的使用量的持续增长,很多企业都纷纷开始选择放弃一些控制权,以降低成本,充分利用资源的弹性(例如,计算、存储、网络资源),促进业务的灵活性,以及??更有效地利用他们的IT资源。
理解团队的角色定位
从工程服务团队的角度来看,设计和建筑服务(相对于盒产品,或企业内部部署的解决方案)意味着扩大了他们的责任范围。在设计企业内部部署的解决方案时,工程团队只需要设计建造并测试服务,将其打包,然后根据软件操作建议所描述的计算环境进行发布即可。而相比之下,工程服务团队在设计建造并测试服务之后,还要进行相关的部署和监控,以便确保服务的继续运行,如果有突发事件,他们需要确保尽快的解决。而且工程服务团队经常对服务计算环境具有更少的控制权!
采用故障模式及影响分析
许多服务团队采用故障模型(FMA)和根本原因分析(RCA),以帮助他们提高服务的可靠性,防止故障的发生。我的看法是,这些都是必要的,但还不够。相反,设计团队应采用故障模式及影响分析(FMEA)来帮助确保更有效的结果。
FMA通过可重复的设计流程旨在识别和减轻服务设计过程中的故障。RCA包括识别和确定导致有害结果的性质、规模、位置和时间因素。一套整体的终端到终端的FMEA方法的主要好处包括全面的故障点和故障模式综合图,能够形成一个工程投资的优先级列表,以减轻已知故障的映射。
FMEA运用系统可靠性工程师技术的开发研究,发现可能出现的(复杂的)系统故障问题。研究通过评估严重程度、发生的频率和检测能力来了解故障影响可能存在的问题,以便基于不同的风险优先处理所需工程投资。
准备阶段:在此步骤中,重要的是要理解系统的完整性,生成一个完整的系统的逻辑图,包括其组成部分、数据源和数据业务流。使用模板来完成,这提高了整体的分析结果,通过提供可能的故障点,设计团队可以发掘到重要的线索。
发现组件间的相互作用:一切都在这一步的范围内。从前面所指出的逻辑图开始,以确定所有的组件是否容易运行失败。了解所有组件(连接器)之间的相互作用,以及每个组件如何在完整的系统中发挥作用。
网友评论