大繁至简,首度揭秘阿里云飞天洛神系统
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大繁至简,首度揭秘阿里云飞天洛神系统相关的知识,希望对你有一定的参考价值。
参考技术A 摘要: 洛神是阿里云飞天中负责虚拟网络的系统,她为阿里云客户提供了丰富的网络产品,如VPC、SLB等。同时,她也是ECS,RDS,OSS,NAS等100多个云产品的网络基础设施。她还支撑了阿里巴巴集团和蚂蚁金服集团众多业务,如电商、支付、物流等。“最好的网络就像神一样,无处不在,又感知不到她的存在 …… 大繁至简,这是我们努力的方向。” – 阿里云网络高级技术专家 孙成浩
2018杭州·云栖大会的主会场上,阿里云产品总监何云飞介绍了阿里云自主研发的云操作系统飞天的全面升级版飞天2.0。作为飞天2.0核心组成部分之一,洛神首次向外界揭开了她神秘的面纱。在随后的未来网络技术专场上,阿里云网络高级技术专家孙成浩对飞天洛神进行了更为详细的阐述。本文是首次对飞天洛神的概念、演进、架构、特点等方面进行系统化的解读。
什么是飞天洛神
从物理网络到用户感知到的网络之间存在一个虚拟网络层。在阿里云,我们给这套虚拟网络系统起了个名字,叫做洛神。洛神是阿里云飞天中负责虚拟网络的系统,她为阿里云客户提供了丰富的网络产品,如VPC、SLB等。同时,她也是ECS,RDS,OSS,NAS等100多个云产品的网络基础设施。她还支撑了阿里巴巴集团和蚂蚁金服集团众多业务,如电商、支付、物流等。在全球范围内,洛神服务着百行百业超过百万的用户。在双十一、世界杯、春运等互联网流量的尖峰时刻,为每一个消费者的流畅网络体验而默默保驾护航。
很多人都知道阿里云有一个飞天(Apsara)系统,系统中各组件是用各种神的名字命名的,包括盘古,伏羲,女娲,神农等,其中盘古是分布式文件系统,伏羲是分布式调度系统。为什么叫虚拟网络系统叫洛神呢?在古代,河运是非常重要的交通手段,就好比今天的网络一样。因此,在给虚拟网络系统起名的时候,我们就起了一个河神的名字,叫洛神。
飞天洛神的架构
洛神是阿里云的分布式操作系统飞天的一部分。在飞天的基础架构里面,最上层是各种云产品,包括大家熟悉的云产品RDS,ECS,VPC,SLB等等,支撑这些是飞天的3个基础组件,包括存储系统盘古,资源管理伏羲和网络管理洛神。也就是说,洛神除了支撑了阿里云的网络云产品之外,另外一个重要的角色就是支撑了其他云产品的网络基础设施。
讲到洛神的技术架构,洛神系统由3大模块组成
– 数据平面,控制平面和管理平面。
数据平面负责云网络中数据包的处理,它就如同物理世界中的网线和路由交换设备,把数据包高效率低延迟的从发送端送到目的地。类似的,洛神数据平面也包含各种不同角色的组件,包括支持各种不同类型计算形态的虚拟交换机,用于数据中心互连的DCN网关,用于云网络连接公网的internet网关,用于云上云下互连的混合云网关,提供负载均衡能力的负载均衡网关和提供端接入能力的智能接入网关。为了提高这些组件的转发性能,洛神不仅使用了软转发的技术,而且也对软硬件结合甚至纯硬件的技术进行了广泛应用。
控制平面则控制如何处理数据包,他是洛神的业务大脑。从技术上看,洛神的控制平面是一个层次性的分布式控制系统,最底层的设备控制器主要负责控制和管理数据平面的各种组件,同时在每个区域存在一个虚拟网络控制器,在全局存在一个全球路由控制器。区域的虚拟网络控制器则负责本区域的云网络的管理与调度, 全局路由控制器则负责协调调度各个区域的资源形成一张全球的云网络。基于虚拟网络控制器和全局路由控制器之上的则是NFV控制器,完成虚拟网络高级功能例如VPN等产品的编排和抽象。
洛神的管理平面是网络运维和运营的中枢,它管理着海量的网元以及用户,这里的海量指的是千万级虚拟机和百万级网元。为了能做到这一点,洛神的管理平台是基于大数据以及机器学习技术实现的,它对网络运行当中产生的海量数据进行实时/离线计算,数据建模,来驱动网络资源的提前规划,网络系统的日常维护以及网络产品的智能运营。整个管理平面包括了一套高性能,分布式的数据分析系统,由它分析出来的数据提供给智能运维和智能运营系统,完成资源规划,网络建设,系统变更,实时监控,故障逃逸,产品运营等整个网络产品生命周期的工作。最终达到排无人值守的网络变更,先于用户的问题发现,高效简单的故障逃逸以及丰富全面的产品及用户运营的效果。
飞天洛神的技术演进之路
洛神能够成为飞天的四大支柱之一,不是一天炼成的。洛神的演进经历了四个阶段。
首先是经典网络阶段,在这个阶段,网络只有一个概念,就是公网带宽。经典网络阶段的问题是用户无法自定义网络拓扑,这样使得用户无法完成云上云下的混合云联通。为了解决这个问题,洛神进入了VPC阶段,VPC阶段里,洛神在每个地域虚拟了数百万张网络,并且用户可以完全自定义这张网络。随着网络规模越来越大,洛神也从区域网络进入到全球网络的阶段,在这个阶段,洛神主要解决如何更好的管理超大规模网络的问题,云企业网和云连接网构成了第三代洛神的两个主要特性。
满足了主要的客户的需求之后,我们开始思考如何进一步提升用户体验。用户对网络的核心诉求是什么?其实,客户的最大诉求是网络足够强健可靠,不要发生问题。就像使用水和电一样,用户是不需要了解发电站和泵站在哪里的。因此,洛神希望网络对用户是无感知的,又是无处不在的。洛神的发展,是一个从0到1,到100,再回到0的演进过程,大繁至简,这是我们在研发下一代洛神中努力的方向,这也是我们首先在业界提出Networkless理念背后的思考。
飞天洛神的特点
洛神的关键特点,包含安全,弹性和可靠,这3个特性也是洛神达到最终Networkless状态的关键特征。
安全是基本盘,因为overlay技术把网络逻辑的隔离掉,用户的网络之前完全不会互通。并且洛神中还包含了各种加密服务可以给到用户,打造更深层次的的安全。弹性有两个数字,一个是秒级的转发性能的弹性,洛神支持从1MB到1TB在一秒内完成弹性,另一个是规模的弹性,洛神的单网络支持10w台计算节点的规模。这样,洛神既可以支持小到虚拟web主机这样的服务,也可以支持打到双11零点这样的海量峰值流量。谈到可靠性,我们参考年平均故障时间这个参数,洛神引发的单实例故障时间只有50ms,这个故障时间是极其短的。
关键设计
接下来我们详细分析下洛神弹性和可靠性的关键设计。洛神系统的数据面,本身就是一台巨大的交换机。大家都知道,交换机的转发芯片对数据包的处理,都是pipeline的,硬件处理永远不会停下来,那洛神的数据面也是如此。从一个数据包进入洛神系统开始,到出去洛神系统的整个过程,经历了洛神系统里面的各个组件,都是不会被打断的,这样只处理一件事情的数据面,一定是高效的。洛神的数据面包含了软硬件结合的转发技术和架构。此外,洛神系统的网络永远不会因为维护而中断,这意味着,洛神里面的所有组件,都支持热升级。
在可靠性角度上看,多机房容灾是高可用的基础。当阿里云的某一个数据中心云机房开始部署的时候,洛神系统在物理设施部署完成之后会首先进行部署。这个时候,机房里面有计算集群,网关和控制平台。计算集群上面有我们的虚拟交换机组件。对于数据面和控制面的关键结点都是集群部署的,单台服务结点的问题不会对用户产生任何的影响。当vm的宿主机出现宕机等严重问题的时候,可以在机房范围内进行迁移,迁移本身也不会对vm的网络属性和连通性产生任何的影响。每个云机房里面都会部署集群的网关和控制器结点,而且随着机房的增多,会自动在云机房里面形成环形的备份关系。当一个新的机房建设起来,洛神系统部署之后,会自动加入到这个备份链里面。这样,当某一个机房的关键结点由于异常出现问题的时候,都可以自动在秒级切换到备份机房,由备份机房的洛神系统来提供服务。这种多层次容灾机制,保证用户可以在很快的时间内恢复业务。
除了多机房容灾之外,如何快速发现bug和快速恢复,是可靠性的另一个关键点。为了解决这个问题,洛神首先设计了基于流的染色系统。如果把洛神系统看成一个整体的交换机,那么从特性上来看,洛神系统是一个支持流跟踪的交换机,具有各种丰富的策略。洛神系统的下面是物理网络的设备和交换机,通过洛神系统的流标记的能力和设定的策略,可以同时在物理网络和虚拟网络里面具备流的染色,特定报文的镜像,采样,跟踪等的能力。这些动作产生的日志,都会通过采集后做实时计算,如果流量有异常,会产生报警和日志给到管理员,部分报警可以触发故障的自动处理和恢复。还有一部分数据经过计算处理,会产生数据报表和用户画像,也可以给到用户一张炫酷的大屏。这个本质上就是数据化的能力。
结束语
飞天洛神的使命是让网络更简单。大家都知道AWS提出了Serverless的概念,和Serverless类似,洛神以Networkless的理念作为设计目标,我们希望用户不再去关心网络拓扑,网络带宽,网络地址这些专业技术,让用户感知不到网络的存在。Networkless首先是通过不断的提高弹性和网络的可靠性来达到的,除此之外的关键特性就是NAAS化,让用户只关心网络通,而不需要去关心网络各种组件。
一群阿里人如何用 10 年自研洛神云网络平台?技术架构演进全揭秘
【编者按】逍遥子曾说,对阿里人来说「打仗是最好的团建,参加过双 11 的叫战友」,同样,参加过多次双 11 考验的系统技术都会成为真正意义上的基础设施,阿里云飞天系统的云网络平台洛神就是如此。
本文作者 —— 阿里云智能事业群研究员、网络产品线负责人祝顺民(花名江鹤)就是洛神背后的核心铸造者。在「CSDN 在线峰会 —— 阿里云核心技术竞争力」上,江鹤为详细分享洛神网络的 10 年演进之路。
复制链接或点击「阅读原文」可免费观看江鹤分享视频:
https://edu.csdn.net/course/play/28249/388353
作者 | 阿里云研究员祝顺民(江鹤)
编辑 | 唐小引
出品 | CSDN(ID:CSDNnews)
今天的主题是《云网络技术架构的演进之路》,主要介绍阿里云网络产品从无到规模应用的 10 年过程中,云网络技术平台洛神是怎么发展的。
阿里云飞天洛神云网络平台
阿里云系统叫飞天,云网络平台称为洛神,洛神和飞天系统的关系如下图所示,洛神云网络平台是阿里云飞天操作系统内核的核心组件和系统服务,伴随着飞天系统一起诞生、成长。
图 1 阿里云网络洛神平台与飞天操作系统
整个飞天系统架构分为几个层次,底层数据中心基础设施,包含物理资源、机房、服务器,还有多地域和可用区(AZ)、物理网络等;其上是飞天操作系统的核心,支撑了整个云计算的虚拟化,包括计算平台神龙,存储平台盘古,以及网络平台洛神;基于系统核心组件,构建了面向用户的系统服务以及原生服务,支撑不同行业客户在阿里云上构建自己的应用系统。
飞天洛神平台的诞生
洛神伴随飞天系统诞生,是云计算产业发展的结果,云计算首先是计算虚拟化,并提供给不同的用户使用,当用户在云上使用计算资源时,网络地址独立规划,不同用户地址可以相同,且虚拟机可以在不同机房之间迁移,地址保持不变,同时云计算是一个基础设施,支持海量用户同时使用,这些关键需求要求提供一个超大规模的虚拟化大二层的网络。
图 2 云计算租户网络应用需求
这些需求,使用传统商用物理交换机和路由器构建的网络,无法满足云计算的需求,也满足不了阿里云运营这张网络的需求,主要原因在于:
1)在百万级别的租户之下,如果每个租户都给到一张独立的地址空间,地址空间的数量非常庞大,传统交换机里面使用 VRF 来隔离租户之间的空间,意味着交换机要支持海量的 VRF 资源,这是目前硬件能力无法支持的。
2)服务器和虚拟机的数量增长,网络节点以及路由表的规模快速增大,虚拟机通讯和迁移要求路由表能快速同步。
3)当用户对云上网络层面的功能需求越来越多的时候,比如说用户在云上不仅希望有个虚拟机,还可以有个公网 IP;比如说用户可以自行定义这张网络 IP、路由和安全组。另外随着 NFV 技术发展,用户希望在云上运行虚拟化业务网元,例如负载均衡、NAT 网关、VPN 网络,要求对应的底层网络能快速进行功能迭代,以满足新需求和新技术的快速应用。
4)更关键的是,传统物理交换机是一个黑盒,各个厂商实现各异,接口各不一样,同时不支持设备内功能定制开发,让设备的运维成为一个难题。
图 3 传统网络设备应对云计算的约束
所以阿里云网络选择了一条自研的路,使用三大技术满足云计算的需求:
1)虚拟化网络;
2)SDN 技术,软件来定义网络;
3)整个技术栈自研。
阿里云网络洛神平台就此诞生。
图 4 洛神网络 10 年演进
洛神云网络平台随着阿里云飞天系统一起,已经经历了 10 年演进,分为两个阶段,洛神 1.0 时代,主要定位为支撑超大规模和多租户的网络。
随着阿里云的业务快速发展,尤其近几年规模增长特别快,2018 年开始推出洛神 2.0,洛神 2.0 的特点主要在高性能、弹性开放能力。
现在阿里云上运行着很多超级规模的用户,比如阿里巴巴集团的淘宝业务,这些超大规模用户对网络的性能提出了很高的要求,特别是在例如双 11 这种大型活动期间,网络流量的峰值是十分巨大的,这对网络的性能提出了非常高的要求。
同时阿里云提供了丰富的基础 IaaS、 PaaS 产品与服务,第三方的生态伙伴可以在阿里云上提供众多的 SaaS 服务,包括网络类的 SaaS 服务,例如网络管理类、网络数据分析类、网络日志管理类、网络转发类的软件。这些软件在阿里云上很好的运行,需要网络提供弹性,开放的能力,就是洛神 2.0 的定位。
飞天洛神 1.0:超大规模、多租户网络
洛神 1.0 平台由很多网络组件组成,架构上主要分成两类:AVS(Apsara vSwitch)和各种网关网元。AVS 是部署在每个物理服务器上的软件网元。最早基于 XEN 的 Kernel 架构实现,转发性能不高,单机只有 15 万 PPS。随后演进到了 KVM 的架构,在这个架构下,vSwitch 还是在 Kernel 的,但已能提供单机 120 万 PPS 性能。然后在 Intel 推出 DPDK 版本后,AVS 进行了架构升级,使用用户态 DPDK,转发性能提升至 600 万 PPS。
AVS 的演进,是为了追求网络性能大幅提升的过程,是阿里云网络持续迭代和改造网络软件架构的原动力。
关于业务网关,最早也是基于 Kernel 网络协议开发。例如 Load Balance 设备,第一代也是基于 Kernel 开发,当时整台物理机性能大约只有 300 万 PPS。为了追求更高的性能,这些网元基于 DPDK 进行了重新构建,既包括公网网关、私网网关,还有 SLB、NAT 网关、VPN 网关等等,转发性能提升了 20 倍。
洛神 1.0,基于 DPDK 的 AVS 和各种网关,最终搭建出一张支持超大规模租户、超大规模虚拟机的网络。
图 5 洛神 1.0 支持超大规模租户网络
如图所示,在这张超大规模的租户网络里面,我们达到的核心能力包含:
1)多租户隔离,每个区域可以支持百万规模的 VPC。如果说一个租户对应一个 VPC,一个区域就可以支持百万规模的租户;
2)单个 VPC 支持超大规模虚拟实例,目前有一些超大规模的 VPC 中实际部署并运行了超过 30 万的 ECS,也就意味着此租户的这张网络里面有 30 万个以上的 IP, ECS 之间的通讯,包括东西和南北向的流量,都能很好的在虚拟网络里面运行。
3)最后就是基于 AVS 能力,单个 ECS 能够提供百万级 PPS 能力的转发性能。
飞天洛神 2.0:连接全球,高性能,弹性开放网络
洛神 1.0 支撑了阿里云网络从无到有,至规模应用,随着阿里云的业务不断增长,租户越来越多,也带来了越来越多的 VPC。租户购买的虚拟机越来越多,也代表着网络里的节点越来越多,转发性能要求越来越高。此外,也有越来越多的租户在云上不但仅仅满足简单的连通性要求,提出了丰富的业务网元处理诉求。例如用户原来在自己的数据中心里面构建了防火墙和 NAT,或者自己买了一些 Load balancer 的设备,现在业务系统搬到阿里云上之后,希望原来的网络功能继续在阿里云使用。
在此背景下,洛神平台升级到 2.0。如图所示,洛神 2.0 提供了更加丰富的转发网元,既有神龙 MOC 卡,还有专用可编程芯片以及通用 ECS;同时洛神 2.0 新构建了一个 NFV 平台,支持业务网元不再依赖传统 X86 服务器,直接基于 NFV 平台构建,例如 NAT、SLB、VPN 产品,同时 NFV 平台支持开放能力,第三方的网元也可以基于 NFV 平台部署,通过 VPC 内和 VPC 间的访问。
图 6 洛神 2.0 架构图
洛神 2.0 的基础是阿里云遍布全球的网络基础设施和 Region 数据中心的基础设施。目前在全球有 20 个 Region、61 个可用区,100 多个 POP 节点。当国内用户需要出海或者国外的用户需要进中国的时候,不再需要自己购买很多物理形态的设备和网络连接,并花很长的时间搭建出网络基础设施。基于洛神 2.0,阿里云的网络产品就可以分钟内快速构建出运营网络、基础设施。
洛神 2.0 的 AVS 和业务网关都进行了架构跨越式升级,AVS 基于软硬件一体化方式,使用神龙 MOC 卡实现快速转发,转发性能提升数倍,达到千万 PPS。
图 7 软硬件一体的新一代 AVS
洛神 2.0 另一个跨越式架构升级是提供新一代的 NFV 平台,通过网元逻辑部署在通用 ECS 上,提供弹性和开放能力。当第三方厂商将其应用移植到阿里云之后,就可以在阿里云市场里对阿里云的租户进行售卖和提供能力,形成了一个非常好的生态:
1)网元可以给大量租户使用;
2)客户的白天流量很大,半夜的流量很少时,阿里云会自动帮你缩容。
如果说在某个时刻点突然碰到高峰,阿里云会自动协助扩容,也就意味着第三方的网元利用洛神 NFV 平台,不仅可以开放部署,还可以享受到自动的弹性。
图 8 洛神 2.0 NFV 开放平台架构
飞天洛神的未来
洛神 2.0 中,还有一个齐天智能网络平台,是未来演进的重要能力,未来的网络将是一个智能化的网络。当客户业务部署在阿里云的时候,如果网络发生波动或故障,需要非常快速的排查问题,因为网络是属于最底层的服务,当业务不能对外提供服务的时候,首先会想到网络问题。这个时候网络可能是正常的,有可能是上层业务的问题。如何让上层业务团队快速定界问题所在,如何让网络的管理员能快速自证清白,提升未来生产运营服务的效率,就这是未来智能化网络需要解决的问题。
图 9 洛神的未来演进
未来阿里云洛神平台的发展方向就是智能化,未来会通过自研网元,采集网络中数据,并且用大数据的方式去做产品问题分析和资源规划,目前洛神齐天系统已经构建在一部分能力,在内部使用,未来会提供给阿里云的客户,让客户可以智能化的运营自己的网络基础设施,这就是阿里云洛神平台未来演进的方向。
作者简介:祝顺民(花名江鹤),阿里云智能事业群研究员,网络产品线负责人,在软件定义网络(SDN)和网络功能虚拟化(NFV)领域有多年技术研发和管理经验。他带领团队历时多年,从无到有,打造了业内最丰富的云网络产品线,并铸造了阿里云飞天系统的云网络平台-洛神,服务了百万用户,并历经 8 次天猫双十一考验,已经成为真正意义上的基础设施。
欢迎所有开发者扫描下方二维码填写《开发者与AI大调研》,只需2分钟,便可收获价值299元的「AI开发者万人大会」在线直播门票!
推荐阅读
-
你点的每个“在看”,我都认真当成了AI
以上是关于大繁至简,首度揭秘阿里云飞天洛神系统的主要内容,如果未能解决你的问题,请参考以下文章