一个蚂蚁金服体量的系统需要怎样的 PaaS
PaaS (Platform as a Service),云计算体系中最厚的一层,介于基础设施和业务应用之间。它的定义非常广泛,与上下两层的边界通常比较模糊,但行业内对 PaaS 应具备的能力还是有基本共识的,它负责基础设施管理、软件研发支持、软件运行时生命周期管理和管控等职责。
那么,一个成长到蚂蚁金服这样体量的分布式系统,需要一个怎样的 PaaS 呢?
PaaS 是有需求层次的
实际上,系统对 PaaS 的需求是有层次关系的,不同规模的系统希望从 PaaS 上获得的主要价值也不一样。
马斯洛模型将人的需求从低到高描述为 5 个层次,而系统对 PaaS 的需求,也有从低到高的 3 个层次。
- 节点级:最基础的 PaaS 需求,核心价值是将所以基础设施以软件定义、白屏化的方式管理起来
- 应用级:这一层需求对应的能力,是对 PaaS 最为典型、普遍的认识,它提供的核心价值是以精细化定义的应用模型为中心,规模化的管理业务系统运行时
- 站点级:当一个系统成长到足够大足够复杂时,这一层的需求就会凸显。它的核心价值是决策辅助、站点级操作的归一
站点级 PaaS 价值
举例说明:容灾是一个大型系统的普遍要求,那么怎样规模的故障可以称为“灾”?如果一个机房整体掉电可以称为灾,那掉电 1/2 呢?核心数据库掉电呢?
所以,即便设计了足够强大的容灾能力,什么情况下将它祭出也是个问题。当系统报错突然增加,业务量急剧下跌时,到底是不是灾难级故障发生了,是用常规流量切换、非关键功能降级等方式来解决,还是动用整站机房级容灾切换;容灾切换是不是有把握一定成功,切换后是否会对业务系统产生进一步伤害,如何判断。
站点级 PaaS 的一大价值就在于,将整个站点的信息汇聚起来,通过经验规则沉淀,甚至是 AI 算法,向 SRE 决策者展示全局信息,推荐可行操作;它的另一大价值是,将站点级的操作归一到一个平台上来,成为少量的几个“核按钮”,通过对底层原子操作的自动化编排,实现一键触发一系列治愈、恢复操作。
建站也是站点级 PaaS 重要能力,每当临近双 11 这样的大促节点时,蚂蚁金服都需要在阿里云上快速建立起一些新的服务单元,以扩充整个系统容量。为了极致的压缩成本,这些临时站点的生命周期是被严格控制的,尽量只在使用之前才建立,因此留给建站的时间非常短,通常是十几个小时。站点级 PaaS 需要能够支持以 IaC(Infrastructure as Code)的形式让 SRE 把站点的架构和拓扑定义出来(用代码写出来),然后在极短的时间内自动化的在阿里云上“打印”出几个临时站点。
要构建起一个站点级 PaaS,需要建设的能力有:
- 全站容量探测、管理与监测
- 全站流量监测与管理
- 站点拓扑信息管理与 IaC 化定义
- 站点自动化搭建
- 站点级健康状况监测
- 站点级一键容灾切换
- 等
欢迎加入蚂蚁金服可信原生 PaaS 产品技术部,与我们一起建设世界一流的站点级 PaaS 平台!