原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,非公众号转载保留此声明。

我向来是很佩服阿里云的,因为它很有商业头脑,很早就能够抄 AWS 的作业,并能够把那些开源软件改吧改吧来赚钱。像其他的云,反应就非常迟钝,以至于现在不得不靠走关系、吹情怀来拉客户。

但是在马云比较风光的那个年代,我们话不能乱说。往昔之阿里犹如今日之华为,都喜欢暴力的把你的帖子干掉,把你身上带孔的地方全给堵住,让这些愤恨与不甘,逐渐侵蚀你冰清玉洁的身体。这是比起事实本质来,更让人寝食难安的地方。

那么,事情发展到今天,我们也并不需要追寻事实的本质,我们只需要看事实的结果。

12月18日,阿里云香港C区机房发生故障,持续达10小时以上(https://status.aliyun.com )。香港作为金融技术行业最集中的存在,位置不可谓不重要。我们有理由相信,如果阿里云连香港的可用区都做不好,其他地方的可用区就是一个笑话。

在这个高烧此起彼伏,世界杯决战的18日,许多程序员注定需要陪跑一番,为此买单。

那么,什么是可用区AZ?

对于云厂商来说,Region 是指不同的物理区域,比如北美、亚洲等。AZ 则指的是某个 Region 的里的可用区域。一个 Region 包含一个或者多个 AZ(通常是三个)。

AZ 是指在同一地域内,电力和网络互相独立的物理区域。当一个AZ 发生故障,其他 AZ 依然能够提供服务。为了保证可用区之间访问时延能够尽量小,通常都会建立在 100 公里以内,通过光纤和专线相连。

通过 Region 和 AZ,你可以将服务全部部署在同一个地域中,同时保证良好的时延和服务能力。

拿 ES 数据库来说,如果你想要保证在某个 AZ 出现问题的时候,能够正常提供服务,那么就需要将 3 个节点部署在 3 个不同的 AZ 上。当其中一个 AZ 出现问题,剩余的两个节点依然能够提供服务。

如今看来,AZ 自身的可用性以及云提供商出现问题的响应能力,非常影响云服务的整体稳健。除了自建机房这一套机制,未来跨云服务依然是一个趋势。

虽然 AZ 的存在,就是为了解决单个 AZ 不可用的问题。但 AZ 的不可用时间,依然会大大影响部署在上面的服务。理论上,C 区崩了可以转到 D 区,但:

客户可能并没有钱和意识来选择多个 AZ 来分散风险;

一些平常看起来不重要,但其实很重要的服务,并没有部署到多个 AZ;

许多软件可能并没有能力来兼容多个AZ;

k8s增加了云上的复杂性,通常出问题会一锅端;

也就是说,AZ 不能光靠想,还得靠演练,用实践来确定其能力。仅靠空想,那是行不通的。所以单个AZ的可用能力依然是非常非常重要。

我们上面说过了,作为用户或者非云厂商从业人员,并没有必要关注其本质问题,比如是技术问题还是管理问题,我们只需要关注其结果。阿里云此次当机,已经完全打破了它所承诺的服务等级协议(SLA)。虽然 SLA 低于某些水平,会有一定的赔付,但对商业公司所产生的信誉影响,并不是一些优惠券就能解决的事。

当然,本次阿里云故障,沸腾的并不仅仅是吃瓜群众,另外一些不入流的云厂商,更不会错过这个沸腾的机会。但你一定要小心这些宣传,因为它们比起阿里云,更加的不堪。

毕竟目前看来,使用阿里云,你或许得到的是一个看起来很傲娇的客服;但你如果用了某些云,你的抱怨就会变成404。这些容易让你憋出青春痘的做法,比起服务器宕机,要恶劣的多。