1. SaaS高可用概述:什么是SaaS高可用、为什么需要高可用、高可用的核心指标

各位同学,咱们今天聊聊SaaS高可用这个话题。

说实话,我做了十几年SaaS架构,见过太多因为高可用没做好而翻车的案例。有一次凌晨三点被电话吵醒,客户说系统挂了,整个销售团队没法干活。那种感觉,嗯,真的很酸爽。

所以第一节课,咱们先把基础打牢。

什么是SaaS高可用?

高可用,说白了就是你的系统能一直提供服务。

我习惯这么定义:SaaS高可用是指系统在面对各种故障时,依然能保持对外服务的连续性。注意,不是不出故障,而是出了故障还能用。

你想想看,SaaS和传统软件最大的区别是什么?传统软件装在你自己的电脑上,崩了就崩了,没人怪你。但SaaS不一样,用户把业务都托管在你这里,你挂了,人家生意就做不了。

核心要点:

  • 高可用不是「不出错」,而是「出错了还能用」
  • SaaS的高可用要求比传统软件高一个量级
  • 用户对SaaS的容忍度极低——挂了5分钟,可能就流失一个客户

我在项目中遇到过一家做CRM的SaaS公司,他们的系统每个月都要宕机两三次,每次半小时左右。结果呢?客户续费率从85%掉到了60%。这就是不重视高可用的代价。

为什么需要高可用?

这个问题其实挺傻的,但确实有人问过:「系统偶尔挂一下,用户能理解吧?」

我的回答是:不能。

原因有三:

  1. 信任问题:SaaS的本质是信任。你把数据交给别人管,结果人家三天两头掉线,你还敢用吗?
  2. 商业损失:我算过一笔账,一个中等规模的SaaS平台,每宕机1小时,直接经济损失可能在10万到50万之间。这还不算品牌损失。
  3. 合规要求:现在很多行业都有监管要求,比如金融、医疗,系统可用性不达标,可能面临罚款甚至吊销牌照。

我的经验:

我曾经帮一家电商SaaS做架构评审,他们觉得「先上线再说,高可用后面补」。结果上线第三天就遇到机房断电,数据丢了6个小时。最后赔了客户200万。嗯,从那以后,我再也不敢建议别人「先上线再说」了。

高可用的核心指标

聊高可用,绕不开三个指标:SLA、MTBF、MTTR。

SLA(服务等级协议)

SLA就是你跟客户签的「保证书」。比如「我们保证系统99.9%的时间可用」。

99.9%听起来很高对吧?但你算算,一年365天,99.9%意味着允许宕机8.76小时。对于很多业务来说,8小时已经够呛了。

SLA百分比 年允许宕机时间 月允许宕机时间 周允许宕机时间
99% 3.65天 7.2小时 1.68小时
99.9% 8.76小时 43.2分钟 10.1分钟
99.99% 52.56分钟 4.32分钟 1.01分钟
99.999% 5.26分钟 25.9秒 6.05秒

你看,从99.9%到99.99%,差了10倍。但实现难度可不是10倍,可能是100倍。

注意:

别轻易承诺99.999%。我见过一些初创公司,为了拿客户,直接承诺99.999%。结果呢?技术团队天天加班,还是达不到。最后客户投诉,反而更惨。

MTBF(平均故障间隔时间)

MTBF衡量的是系统「能撑多久不出事」。单位通常是小时。

比如你的系统MTBF是2000小时,意味着平均每83天左右会出一次故障。

怎么算?很简单:

MTBF = 总运行时间 / 故障次数

举个例子:你的系统运行了10000小时,期间发生了5次故障,那么MTBF = 10000 / 5 = 2000小时。

我个人习惯把MTBF当作「系统的健康度」来看。MTBF越高,说明系统越稳定。

MTTR(平均修复时间)

MTTR衡量的是「出了事多久能修好」。单位也是小时。

包括:发现故障的时间 + 定位问题的时间 + 修复的时间 + 验证的时间。

MTTR = 总故障修复时间 / 故障次数

我遇到过最夸张的案例:一个系统MTBF很高,能跑半年不出事。但一出事,MTTR要48小时。为什么?因为没人知道怎么修,每次都要翻文档、查代码、打电话找人。

避坑指南:

我曾经犯过一个错误——只关注MTBF,忽略了MTTR。结果系统确实很少挂,但一挂就是半天。客户说:「你们这系统,要么不坏,一坏就坏一整天,还不如经常坏但修得快呢。」

所以记住:MTBF和MTTR要一起看。一个高一个低,都不行。

三个指标的关系

这三个指标其实是一体的。SLA = MTBF / (MTBF + MTTR)。

你想想看:

  • 想提高SLA,要么让MTBF变大(少出故障),要么让MTTR变小(修得快)
  • MTBF靠的是架构设计、代码质量、运维规范
  • MTTR靠的是监控告警、自动化运维、应急预案

说白了,高可用不是某一个环节的事,而是从设计到运维的全链路工程。

好了,第一节课就到这里。下节课咱们聊聊「SaaS高可用的架构设计原则」,我会分享一些我在实际项目中踩过的坑,以及怎么避免。

记住一句话:高可用不是成本,是投资。你投入的每一分钱,都是在保护你的客户和你的品牌。