99.9% uptime 保证仍然允许每年约有 8.76 小时的停机时间,而 99.99% 只允许 52.56 分钟。这个承诺只有在您了解测量窗口、停机公式和排除项时才会有意义,因为头条百分比本身并不能告诉您用户将会经历什么。
您通常是在事情已经出错之后才会看到这个。实时更新不会发布,支持团队会从每个地区收到相同的抱怨,团队中的某个人会问一下供应商的 SLA 是否会涵盖停机时间,还是只是在幻灯片中看起来很好。
目录
- 为实时更新平台而言,uptime保证的重要性
- 了解可用性等级背后的uptime计算
- 细读服务等级协议(SLA)中的关键组成部分
- 实时更新平台的uptime目标
- 监控和可观察性最佳实践
- Capgo 架构如何支持高可用
为什么可用性保证对于实时更新平台至关重要
周五下午进行安全修复是最糟糕的时间发现更新路径不可用。应用程序仍在用户手中,问题仍然活跃,需要补丁的人无法接收补丁。这就是为什么可用性保证 是实用而不是理论的 对于运营移动应用程序的 JavaScript、CSS、配置或资产修复的团队来说,实时更新平台的可用性

当交付服务不可用时,停机不仅仅局限于工程。支持部门开始接收重复的票据,产品经理对发布的信心下降,恢复速度变慢,因为修复本身无法到达设备。在实时更新工作流中,可用性是事件响应的一部分,而不是仅仅是基础设施卫生
实用规则: 如果用户需要更新以保持安全、合规或功能正常,那么您的更新通道就是关键路径
这就是为什么这个问题如此重要的原因:一个实时更新平台位于您的发布和用户之间。如果这个桥梁失败,您不仅会失去便利性,还会失去关闭事件循环的能力。尤其是当商店评论延迟已经会拖慢您时,因为实时更新的目的就是减少延迟,而不是用另一个瓶颈来取代它。故障排除手册只有在交付路径保持可达时才有效,这就是为什么团队应该将平台可用性与事件恢复计划联系起来,例如《事件响应指南》。 事件响应指南.
一个强大的SLA应该回答一个简单的运营问题:平台是否能在您的团队需要它时提供修复,还是在故障发生时承诺的保证会消失?这个区别决定了保证是否支持您的应用程序,还是仅仅装饰了合同。
了解可用性等级背后的可用性数学
‘九’模型很重要,因为它将模糊的可靠性声明转换为具体的停机预算。 99.9%可用性 允许约 8.76小时 允许 99.99% 52.56分钟 ,99.9% uptime 99.999% 限制停机时间约为 5.26 分钟 每年,月度预算约为 43.8 分钟, 4.38 分钟4.38 分钟 26 秒 (可用性保证计算)
一个额外的 9 变更了运营模式,而不是仅仅是营销文案。
差异不是线性的 43.8 分钟 99.9% 的时候大约是 4.38 分钟 99.99% 的时候。换句话说,这意味着承受的停机时间大约减少了十倍,这通常比更好的主机更重要。它需要冗余、更快的检测和在系统已经处于压力状态时仍然有效的故障转移。
同样的模式在数据中心等级benchmark中也出现了。 等级 I 与 99.671% 可用性有关,或者大约 28.8 小时 每年停机时间 等级 II 与 99.741% 和关于 22 小时, 第三级 与 99.982% 大致 1.6 小时, 和 第四级 与 99.995%, 这仅仅是关于 26.3 分钟 每年 (__CAPGO_KEEP_0__从 III 级到 IV 级的跳跃是将停机时间从小时转换为分钟的重大转变。
| __CAPGO_KEEP_1__ | __CAPGO_KEEP_2__ | __CAPGO_KEEP_3__ | __CAPGO_KEEP_4__ |
|---|---|---|---|
| 99.9% | __CAPGO_KEEP_5__ | __CAPGO_KEEP_6__ | __CAPGO_KEEP_7__ |
| 99.99% | __CAPGO_KEEP_8__ | __CAPGO_KEEP_9__ | __CAPGO_KEEP_10__ |
| 99.995% | 26 秒 | 5.26 分钟 | 极端可用性 |

对于实时更新平台来说,这个数学计算很重要,因为发布窗口通常很短且紧迫。服务如果错过了发布窗口10分钟,就可能错过用户需要修复的时刻。团队应该将这些数字与发布健康状况联系起来,使用同样的纪律来监控应用健康状况。 阅读细则:SLA的实际重要组成部分.
两个提供商可能会发布相同的可用性百分比,但在生产环境中却会产生非常不同的结果。合同才是承诺的来源,而不是首页。为了让一个
可用性保证 具有实际意义,需要三个部分齐头并进:测量窗口、停机公式和排除项。 首先是测量窗口
服务可能会在纸上看起来很可靠,如果提供商选择了一个可以掩盖波动期的窗口。一个SLA例子是在
年平均停机时间和月平均停机时间 按90天滚动周期 并使用独立的合成监控来评估可用性,这比模糊的营销承诺要准确得多(SLA示例和测量规则如果提供商不说明如何衡量指标,百分比难以信任。
时间窗口很重要,因为停机时间可以按月报告、按月计费或平均到更长的周期。如果您的更新服务在一个月末失败,下一个月初恢复,报告模型可能会改变该事件在SLA中的显示方式。您希望合同去除这种游戏数字的空间。
然后检查什么算作停机时间
可用性数字只有在其停机时间公式诚实时才算诚实。一个被引用SLA将可用性定义为可访问的分钟数除以月份总分钟数,并将影响大量请求或核心功能的停机时间视为服务停机时间(SLA公式示例这种定义避免了将每次微小的暂时性故障视为完全停机,但这也意味着您需要在签署之前了解什么是“显著”的。
最昂贵的SLA错误是假设提供商的停机时间概念与您的概念相同。
排除可以抹去承诺
预定维护、客户端故障、不可抗力和一些第三方停机时间通常在现实中的合同中被排除在外(SLA 示例和测量规则这并不使 SLA 变得不合理。它使 SLA 变得具体。问题是,当团队购买数字而不了解被计算的内容时,发现保证不适用于他们关心的确切类型的停机时,才会发现保证不适用。
一个有意义的 SLA 也将可用性与 MTTR、延迟阈值、丢包限制或其他运营承诺配对,因为可用性单独无法描述恢复行为(服务水平协议指导如果合同不解释恢复如何衡量,您并不是在购买可靠性。您是在购买标签。
对于移动发布系统,细则也应该反映在故障时的架构行为。具有多区域部署的提供商可以具有非常不同的停机配置文件,而依赖于单个主路径的提供商,因此 SLA 应该与设计保持一致,而不是仅仅是销售页面。见 Capgo 的多区域部署方法 实用性目标
对于实时更新平台,正确的目标取决于您如何频繁发布关键修复以及您的用户可以容忍的中断程度。
三九 对于低风险工作流程,可能是可以接受的,但是在更新是紧急响应、客户信任或受管制操作时,它会迅速变得不舒服。修复越紧急,平台越不宽容。 SLA 服务水平协议
Three nines is often the wrong default
99.9% 和 99.99% 之间的差距,是一个能承受偶尔中断的平台和一个需要刻意增强韧性的平台之间的差异。从实际角度来说,这个差异在月度停机预算上是显而易见的,大约是 43 分钟 versus 4 分钟 (可用性等级计算如果您的发布流程依赖于狭窄的时间窗口,那么较低的等级可能会过于笨拙。
当事故已经发生时,这种情况尤其如此。仅仅允许几分钟的停机时间的交付平台仍然可能错过回滚、热修复或配置更改的准确时刻。在这种情况下,SLA 应该反映您的运营耐受度,而不是供应商的最便宜支持等级。
寻找超出头条的承诺
最近的 SLA 草拟趋势倾向于滚动窗口、月度月度报告、比例服务补偿和责任上限,这是买家要求更具体的运营保证的迹象(SLA 趋势评论]
严重的合同也为您提供了失败后的路径。积分并不能恢复破裂的发布,但它确实显示了供应商是否愿意将补偿与可测量的服务行为联系起来。 在企业级别,这往往是区分支持事件的平台和成为事件的一部分的平台的关键区别。
对于正在评估此决策中架构的团队,多区域发布是值得作为设计要求,而不是nice-to-have的。原因很简单,系统越接近冗余设计,局部故障的影响就越小,这与多区域部署背后的逻辑相同。 多区域部署.
决策测试: 如果紧急发布期间的停机将迫使手动工作周转,您的可用性目标可能太低。
监控和可观察性最佳实践
一个 可用性保证 只有当您可以从外部验证它时,才会有所意义。 供应商仪表板有帮助,但您自己的监控需要回答一个更难的问题:用户是否可以接收更新,发布尝试是否可以完成,恢复是否可以继续前进而不会在路径中卡住? 最强大的监控设置显示服务可用性和客户影响一起,因此事件在变成支持问题堆栈之前就可以看到。

从外部验证,而不是仅仅在您的网络内部
模拟监控为您提供了一个用户侧视图,内部健康检查无法提供的视图。内部检查可以确认您的系统处于活跃状态,但这并不证明更新路径是从真实设备可达的。这种差距很重要,因为提供商可以报告健康服务状态,而实际上客户端的传递路径可能会失败。
跟踪每个设备的日志、版本历史、采用率和失败指标,以便您可以确定是否仅发布了更新或接收了更新。通道的保护措施也很重要,尤其是在推送到beta、staging、生产或客户特定流程时。这些控制措施可以更容易地在发布之前停止一个坏的发布,防止它在预期的组之外传播。
衡量恢复,而不是仅仅衡量失败
可用性数字掩盖了太多的信息。一个快速恢复的提供商,即使其原始的可用性百分比与一个较慢的提供商类似,也可以限制业务影响。因此,MTTR应该与可用性一起出现在您的仪表板上,因为检测速度和修复速度往往比一个精致的百分比更重要。
实践规则: 如果您的监控仅告诉您服务处于活跃状态,那么这对于发布操作是不够的。
一个清洁的告警设置应该在用户涌入支持之前触发,而不是在之后。要监控的内容包括传递失败、滞留的发布和采用率的异常下降,而不是仅仅是全面的服务故障。对于那些希望建立更紧密的运营模型的团队来说, 应用可观察性 通常比一个通用的可用性徽章更有用。
How Capgo’s Architecture Supports High Uptime

架构决定了是否能实现高可用承诺。Capgo的交付模型使用全球边缘网络,覆盖了300+个城市 ,这减少了对单个区域的依赖,并且有助于将更新流量更接近用户。其差异更新只发送更改的文件,因此发布移动的数据量比完整包少,自动回滚保护还给团队提供了更安全的恢复方式,尤其是在发布出现问题时。实践的好处是操作性的,而不是外观性的。签名的Web包让团队可以在不等待商店审查延迟的情况下,发布JavaScript、CSS、复制、配置和资产修复,这正是许多故障响应时间浪费的地方。类型化的TypeScript API和CI/CD集成还减少了通常会拖慢发布工作的摩擦力,尤其是在故障期间。
还有监控方面的好处。__CAPGO_KEEP_0__的每设备日志、采用率指标、故障跟踪、版本历史和通道防护屏障为支持和工程提供了必要的证据,以便他们可以看到是否发布正在工作或卡住。这种可见性可以将模糊的“更新是否发布?”问题转化为可以采取行动的东西。
There’s also a monitoring benefit. Capgo’s per-device logs, adoption metrics, failure tracking, version history, and channel guardrails give support and engineering the evidence they need to see whether a rollout is working or stalling. That kind of visibility turns a vague “is the update out?” question into something you can act on.
__CAPGO_KEEP_0__ __CAPGO_KEEP_0__ 与架构本身配对是有价值的,因为高可用性只有在部署出错时才有用。下面的视频展示了平台在实际应用中的使用场景,帮助您了解如何将交付路径与操作控制相连接。
If您正在与供应商谈判SLA,请将供应商的承诺与实际交付路径、恢复工具和您在事件发生时的可见性进行比较。Capgo是为需要实时更新、回滚控制和发布可观察性在一个系统中的团队提供的选项,您可以在Capgo中查看产品详细信息。 到Capgo中查看是否符合您的更新和事件响应工作流。 如果您的团队实时更新,不要仅仅因为数字听起来不错就接受。查看SLA,测试监控,并选择可以在用户需要时携带热修复的交付架构。
由