揭秘2019双11背后的云网络 – 双11网络架构和洛神系统
图1 天猫双11成交额
狂欢背后的技术栈
网上轻松购物体验实际上是背后复杂的技术组成的,这是一个简化的通用电商系统架构,由很多产品和业务组件组成。
图2 简化电商系统架构
这些业务组件核心系统今年100%上云,底层承载的技术就是阿里云的计算,存储,网络,数据库等等一系列产品和解决方案。
因为处理量非常巨大,这些业务产品、组件和模块之间会采用分布式部署方式,产品与产品、组件与组件、模块和模块之间会存在海量的通信要求,承载这个通信要求的技术平台就是阿里云网络的飞天洛神平台。
什么是飞天洛神
阿里云的技术平台叫飞天操作体系,其目标是将一个数据中心,乃至遍布全球的多个数据中心变成一台计算机,对内管理数据中心的服务器和各种物理资源和设施,对外统一的提供公共服务和对应的编程接口。
图3 阿里云飞天操作系统
飞天操作系统的内核提供最基础的系统服务,是对基础资源的虚拟化,核心是计算、存储和网络资源的虚拟化,其中虚拟网络服务(如虚拟专有网络VPC,SDN控制器,负载均衡网元等)是由洛神平台提供,总结一句话,洛神是阿里云飞天操系统内核的核心组件,提供了云计算网络的全部功能。
飞天洛神特点
洛神伴随着阿里云飞天系统诞生,到目前已经有10年的历史,支撑了阿里云20个region,数百万级别虚拟机之间的如丝般顺滑的访问体验,这些与洛神10年来的技术沉淀息息相关。
1. 全自研
目前阿里云网络有业界最丰富的产品,从使用场景角度分为云上网络、跨地域网络、混合云网络和智能网络。
图4 阿里云业界最丰富的云网络产品
这些丰富产品基于洛神平台开发,核心业务代码全自研,到目前为止,已经达到数百万行,不管是底层的软件系统,还是硬件设备形态,其技术方案、业务逻辑完全自主设计和开发,所以阿里云的虚拟交换机也称为AVS(Ali Virtual Switch),从转发表项设计,至报文处理,都不同于业界开源的OVS(Open Virtual Switch)。
2. 软件定义网络
从洛神诞生的第一天起,阿里云的网络架构遵循软件定义网络的理念,管控和转发分离,网元只负责数据转发,管理配置以及表项由SDN网络控制器生成和下发。
图5 阿里云软件定位网络架构
转发网元不管是软件方式,还是硬件方式,都支持可编程,所有业务逻辑都是通过软件代码实现,兼容SDN控制器之间自定义通道通信协议,软硬件一体化,兼容可扩展性。
3. 海量规模
阿里云目前有数百万的公有云租户,还有阿里集团这种超大规模的用户,通过海量的虚拟机协同完成丰富的业务。量变引起质变,洛神平台要支持这些海量租户,海量虚拟机之间的网络通信,网元的管理,表项下发性能,数据转发性能不是小规模网络可以相比拟的。目前实际运行环境,洛神已经支持单租户超过10W+虚拟机实例、单租户100G+公网带宽、单租户20T+混合云带宽。
飞天洛神如何支撑双11
“不是任何一朵云都能撑得住双11”,阿里集团核心系统首次100%运行在公共云上,54.4万笔/秒的订单峰值,970PB的单日数据处理量是承载在虚拟化的分布式系统上的,分布式节点之间的通信,依赖的就是底层的云网络基础设施,就是洛神平台提供的能力。
双11对云网络,对云网络的技术平台洛神有哪些具体的挑战,洛神如何支撑的呢,让我们一一揭秘。
1. 超大规模
阿里集团核心业务全面上云,随之而来的最大的挑战超大规模。2018年双11云上单个VPC的规模已经接近10w,今年还需要成倍增加,达到单VPC 30w的规模,业界有如此规模的用户屈指可数,基本集中在个别超大规模互联网公司,但不管是否自身就是公有云提供商,都没有将自己的核心业务部署在公有云上,所以单个VPC支撑如此规模的虚拟化实例,没有先例。同时在转发带宽的要求上,去年整个云上公网和跨域出口流量5Tbps左右,今年这个流量增长到了数十Tbps。
网络设备逻辑上包括管控和数据转发两个组成部分,首先在管控层面,集中式的SDN控制器使用传统方式,转发表项的下发性能会很低,结果会导致虚拟实例的上线速度很慢,影响业务开通效率,包括业务切换效率。洛神的管控系统采用集群和分层架构,集中能力提升的同时,将大量虚拟实例上线的处理下层,大大提升管控配置和表项的处理性能。
图6 洛神分层管控架构
数据转发层面,洛神提供了软硬件一体化的技术架构,虚拟交换机在传统DPDK架构基础上进行了升级,支持可编程硬件实现的快速转发。
图7 基于可编程硬件的洛神虚拟交换机
基于可编程硬件的虚拟交换机相对于传统软件虚拟交换机,转发性能提升达到10倍左右,时延降低1倍以上。公网和跨域带宽的快速增加,也对DPDK虚拟网关的性能提出了极大挑战,一方面是设备规模的增加,导致管理复杂度,供应成本的增加,另外CPU单核能力的约束,无法支撑某些突发和大带宽单流的场景,影响其它正常流量的通信。
图8 阿里云洛神软硬件一体网关
在虚拟网关上,通过技术架构的升级,支持软硬件一体化的硬件网关,业务逻辑通过可编程的P4语言实现,对外接口兼容软件虚拟化网关,实现统一的扩展性。可编程硬件网关相对于传统X86软件架构,转发性能提升数十倍,同时有效避免了大带宽单流对单个CPU core的冲击,整个双11期间的流量洪峰在整个洛神软硬件一体化架构下,呈现出来的是“涓涓细流”。
2. 稳、稳、稳
阿里集团核心业务100%运行在公有云上,稳定性是第一要素,容不得半点差错,不仅仅单个节点的稳定性要做到极致,整个网络架构,解决方案层面也要保证绝对的稳定,做到多重防护,万无一失。洛神平台,架构层面保证网络通信的稳定性,业务按AZ(Available Zone)部署,公网和跨域访问的网关在可用区内集群部署,避免单点故障的影响,同时在可用区之间互为备份,避免可用区的故障。
图9 洛神网关类设备可靠性部署架构
3. 复杂流量模型
整个阿里巴巴经济体的业务系统非常复杂,不仅仅包括电商购物系统,还包括蚂蚁支付系统,还有大数据分析系统,菜鸟物流体系等等,不同的系统对网络通信需求的要求也不相同,业务流量的优先级也不一样,有些对延时敏感,有些对带宽要求高,有些对丢包敏感,这些纷繁复杂的业务如何在统一的底层云网络中承载,对云网络的技术平台洛神提出了区别普通公有云租户的不同挑战。以阿里集团在线业务和离线业务为例,离线业务主要就、是大数据,熟悉的人可能都比较清楚,大数据的出名的流量大户,经常会有一些突发的流量将物理网络的带宽占满,导致丢包,而在线业务一般流量不大,但对时延和丢包敏感。这就要求云网络支持流量等级区分,拥塞是优先丢弃低优先级的流量,保证离线和在线业务的和谐共处。
图10 业务对网络的差异需求
云网络洛神平台支持不同业务的QoS,对于大带宽、丢包非敏感业务,设置通信报文低优先级,突发流量不会导致高优先级报文被丢弃,复杂的流量模型也能“和平共处”。
4. 高效运维
物理规律决定了没有100%可靠的网络,一方面阿里云网络追求最高的可靠性,一方面遵循没有永远不失效的单点逻辑这个规律,故障一定会发生,无法避免,但需要有故障发生时快速恢复,快速定位的能力,在双11之前的各种压测和故障演练之中,洛神平台不断的锤炼网络运维能力,做到故障快速监控,快速恢复,快速定位。阿里云网络洛神平台的运维,运营平台,内部叫齐天系统,这是一个分布式,大数据智能化运维系统,通过大数据,AI分析能力,集合阿里云海量数据,实现故障的快速定位和逃逸。
图11 阿里云齐天智能网络系统架构
通过底层网络网络和虚拟网络数据流,日志,设备状态等等数据信息,通过以blink为底座的大数据分析平台,在业务方感知故障之前,快速判断网络的监控状态,以及快速识别故障的根因,实现故障的自动逃逸。同时每种典型故障,都录入到日常故障演练中,做到网络运维的真正高效,随时可用。智能的网络,也是阿里云洛神平台保障双11业务的一个利器,为双11的平稳保驾护航。
洛神还在不停的进步,从最初的洛神1.0 DPDK网元演进洛神2.0软硬件一体化网元,网络能力有了质的提升,支撑了阿里集团核心业务的100%上云,未来在弹性、开放能力上会更进一步,提供给用户更加美好的体验。
本文作者:瑄珉
本文为云栖社区原创内容,未经允许不得转载。