经验证的连续性:逐字节备份与可度量的恢复
一份已经执行、而非仅仅写就的连续性方案:完整的完整性验证,以及以实测而非估算时间进行的恢复演练。
经验证的连续性:逐字节备份与可度量的恢复
有一句话道出了真正的连续性与展示性连续性之间的差别:一份从未被恢复过的备份,不过是一份附带了有效期的希望。对于任务关键型机构而言,绝不能等到关键时刻才发现,恢复方案不过是一份格式精美的虚构文件。Demix 将连续性视为一种可度量的能力——而可度量的能力要求的是执行,而非文档。
本文阐述我们的方法:对备份进行完整的完整性验证,并以实测时间开展恢复演练。相比谈论 AI,这是一门不那么光鲜的学科,但它是一切更高层级的根基——没有它,任何上层都不可信赖。如果支撑自主智能体的数据可能在毫无预警的情况下消失,那么自主智能体便无法在有保障的条件下运行。
“我们有备份”这一问题所在
“我们有备份”是业内最常被提及、却最少被验证的说法之一。在实践中,它通常意味着存在一个按计划运行的流程,会在某处生成文件,而没有人对其进行过端到端的测试。典型的失败案例众所周知:文件被截断、任务静默失败、副本从未经过验证、恢复依赖关系缺乏文档记录、关键时刻密钥不可用。
这些失败的共同点在于:它们全都直到最糟糕的时刻才会显现。正因如此,我们将验证视为备份的组成部分,而非可选步骤。一份完整性未经证实的备份,会被视为不存在的备份——而其缺失会被视为一次关键事件,而非一项待办的行政事项。
这里还存在一个组织层面的维度。当连续性依赖于某个“懂得如何恢复”的特定个人时,机构真正拥有的能力是那个人——而非流程。我们的方法消除了这种单点英雄依赖:流程可由任何受过训练的操作人员执行,结果被记录在案,任何审计人员都能重建当时所做的一切。依赖口口相传的经验的连续性不是连续性,而是日积月累的运气。
逐字节验证,不做抽样
我们的连续性例程所生成的每一份副本都要经过完整的完整性验证:内容与源数据逐字节比对,结果予以记录。我们不将抽样作为通过标准。抽样对于监测趋势是有用的;但要宣布一份备份完好无损,它并不足够。
除完整性验证之外,该例程还会验证整条链路:源数据完整、副本写入时未被截断、目标存储健康、恢复所需的密钥可用且有效。每一步都会产生可记录的证据,因此审计人员可以在数月之后重建任何一份副本的历史。任何一步出现失败,都会立即向操作人员发出告警——连续性中的静默失败是双重失败,因为它恰恰在最需要安全网的时候将其消除。
以实测时间开展的恢复演练
仅有完整性还不够。一份完好无损、但恢复所需时间不可行的备份,并不能解决任务的问题。正因如此,我们会在受控环境中定期开展恢复演练,其目的不是证明恢复能够奏效,而是度量它需要多长时间——并将其与机构所要求的恢复时限进行比对。
每一次演练都会产生三个数字:服务恢复运行的总时间、数据达到一致的时间,以及功能验证确认一切就位的时间。这些数字被记录在案并长期跟踪。如果恢复时间在增长,我们会在真正的关键事件发生之前就知晓——并在其仍只是一次演练时着手处理根因。
未经度量便宣称“X 小时内恢复”是一种承诺。宣称“在上一次演练中实测恢复时间为 X 小时,且数据经过逐字节验证”则是一种能力。二者在幻灯片上的差别看似微小,但它是这样两种情形之间的差别:一觉醒来面对一次关键事件,与一觉醒来面对一次关键事件、而它早已有了经过演练的应对方案。
演练还会检验那些通常被遗忘的内容:配置、凭据和服务依赖关系的恢复,而不仅仅是原始数据。一个在恢复时缺少正确配置的数据库,是一个无用的数据库。正因如此,演练范围涵盖完整的服务——而成功标准是服务能够运行,而非文件能够打开。
连续性是一项持续不断的学科
连续性不是一个有完成日期的项目。它是一门紧随基础设施每一次变化的学科:每一项新服务、每一条新的复制路径、每一次拓扑变更,都要求重新评估验证例程与演练。上个月还成立的恢复能力,今天未必仍然成立——不是因为哪里坏了,而是因为其周围的环境已经改变。
大多数连续性方案正是在这里悄然衰败。方案被编写一次、批准一次,随后基础设施便在其之外继续演进。新的依赖关系出现,存储层被替换,访问路径被重组,而文档化的流程随着每一次变更,与真实流程渐行渐远。没有任何东西会宣告这种偏移;它悄无声息地累积,直到方案终于在压力之下被实际检验的那一天,书面内容与真实情况之间的落差在最糟糕的时刻暴露无遗。将连续性视为一门活的学科,意味着验证例程与演练要作为每一次变更的一部分被重新评估,而不是作为一项单独的年度仪式。问题从来不是方案在获批之时是否正确,而是它现在是否正确。
这门学科之所以必须持续不断,还有第二个原因:证据的价值会不断累积。一份经过验证的副本只能证明某一个时刻。一份经过跟踪的、由已验证副本与实测恢复所构成的历史,则能证明一条轨迹——证明该能力在历次变更中始终得以保持,证明恢复时间是经过观测而非假设的,证明机构的信心建立在记录之上,而非记忆之上。正是这份记录,将连续性从一种断言,转变为审计人员、监管机构或董事会能够独立审查的东西。也正是它,使机构得以有意识地改进:当实测数字随时间清晰可见时,链条中的薄弱环节便不再是理论上的,而是具体的、可着手处理的,并且一经修复即可被证明。
正因如此,我们将验证与演练结果视为产品的一部分,而非内部报告。运营基本服务的机构必须能够向其监管机构、董事会和社会表明,连续性是真实的。我们提供证据:经过验证的副本、经过实测的恢复、可审计的历史。
这是我们在整个技术栈中所适用的标准。认知层或许精密复杂,但它所依托的数据明天必须依然存在。经验证的备份与可度量的恢复,是任务关键型基础设施所能作出的最基本、也最严肃的承诺——而这个承诺,我们更愿意在每一次演练中加以展示,而非在每一次演示中加以宣称。