为失败做打算似乎是一种悲观的态度,有些人可能会告诫你要创造一个自我实现的预言。然而,如果你想实现卓越服务,为失败做计划正是你必须做的。技术的现实是它容易失败,这一点不会改变,尤其是随着IT的复杂性增加。不幸的是,大多数IT专业人员专注于为最佳情况设计系统和服务。如果我们不把组件故障视为例外情况,而是认为它们是正常的,并把它们工作正常的短暂时期视为例外情况呢?
重新定义 "正常"
如果你对任何一家大公司的IT运营进行调查,并提出这样的问题:"你们所有的IT系统有多大比例的时间是在正常运行的?"大多数公司的答案都是低于15%的时间。这意味着,超过85%的时间里,有些东西没有按照预期工作。也许,现在是时候重新定义 "正常 "了。值得注意的是,这个问题并没有考虑到故障的范围或影响,只是考虑到一个组件、系统或流程没有正常工作。这是一个重要的区别,因为它是了解实际卓越服务机会的线索。例如,一个损坏的组件并不一定意味着服务不可用。
创建旨在失败的服务(但仍然是好的)。
如果公司实施的服务是为失败而设计的--假设组件会损坏,处理异常会发生,那会怎样?这些服务能否被设计成可以发生故障,并且可以在不影响性能和用户可用性的情况下进行修复? 对于这两个问题,答案是 "是"。创建旨在失败的服务是可能的,今天世界上一些领先的公司正在这样做。他们学到的关键经验是需要减轻关键的依赖性,减少发布的范围(而不是连续发布),以及减少单个组件可能影响整个系统的实例数量。冗余是必不可少的。
提供设计为失败的服务所需的架构也被设计为应用 "热修复",消除了将服务脱机进行更改的需要。如果你能在不脱机的情况下解决问题和进行修改,那么100%的可用性是可能的。
推动卓越服务
卓越服务不仅仅是满足服务水平协议和最低期望值。它是给你的企业和你的用户提供他们需要的服务,而不仅仅是他们要求的最低水平的质量和性能。 现代技术架构可以使你的公司不只追求 "足够好",而是把目光投向能够正常工作的服务--100%的时间。这一切都始于改变你对失败的思考方式--将其视为新的常态,并为其进行规划。