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