驱动阿里云的高性能网络引擎- 飞天洛神

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yunqiinsight/article/details/84855006

大家都知道阿里云部件的系统都是以神仙命名的,比如说洛神、伏羲、盘古、女娲等等。而在11月15日的GNTC 云专场峰会上,阿里云资深网络技术专家宗志刚先生首先分享了“驱动阿里云的高性能网络引擎- 飞天洛神”主题演讲。洛神是阿里云飞天系统的虚拟网络系统核心,提供了阿里云丰富的网络产品同时也是阿里云所有云产品的网络基础设施。洛神也支撑了阿里巴巴集团和蚂蚁金服集团的业务。此分论坛深度探寻了洛神系统关键技术能力及未来应用方向。

以下为大家带来宗志刚专家精彩的演讲摘要:

起名洛神的来由是因为在古代,河流是人们非常重要的一个交通方式,就好比网络一样是人类生活工作通讯重要的组成方式,所以阿里云网络在刚刚成立的时候,就起了洛神这个名称。洛神现在管理阿里云的基础网络系统已经非常的庞大,到目前为止已经有19个Region,20T的总出口带宽以及超过200条的BGP线路,而且不断在增长。另外阿里云推出了业界最丰富的网络产品,从部署的位置来看可以分成四个组成部分:

  1. 云上网络(洛神):如VPC、NAT网关、负载均衡这些网源,以及要大力发展的IPv6的网络
  2. 云间网络(织女):GEN云企业网、GA全球加速
  3. 上云网络(嫦娥):高速通道、VPN网关还有智能接入网关
  4. 大圣智能机器人(齐天):通过阿里云运营的数据目前有的大数据分析,通过人机交互的方式给网络的规划者、运营者提供疑难杂症的解答,帮助我们的网络维护人员、规划人员提高效率,现在正在试用,预计明年会推出。

阿里云的网络架构跟以上的网络产品是一一对应的,而洛神实际上是代表了云上网络。从以下企业上云的路线以及企业的一个IT架构的变化来看一看云对网络的要求是哪一些。云进化的路线图分几个阶段:

  1. 第一阶段,企业会将部分IT系统云化,主要是提升用户体验,提升运维效率。
  2. 第二阶段,企业会将基础资源全面云化,主要用于优化企业IT资源的利用率。
  3. 第三阶段,企业会进行架构的微服务化改造,构建以中台为核心的业务架构,共享企业之间的各业务模块,快速构建自己的业务系统,主要用于提高IT的敏捷能力
  4. 到了最后一个阶段,阿里云认为随着企业的业务在云上逐渐运行,收集了大量的一个数据,后面会通过智能学习、大数据分析相关的工具对数据进行智能化的一个分析,用于指导业务更精准的服务,更精准的开展。

对应阿里云的系统架构转变,最开始的时候业务都是应用和数据一体化的单机部署方式,到后面应用和数据分层、多级分层部署,再到分布式的集群,以及到现在越来越应用广泛的微服务化的改造,在这个过程中可以看到应用和应用之间,应用和数据之间弹性越来越高。

进入云以后,企业的业务在云上是可以看到网络的,所以最基本的要求是网络首先要提供各种网关类的服务,其次还需要提供跟业务相匹配的弹性能力、安全、可靠性以及高效的运维。

另外是阿里云认为未来企业在云上的时候其实对基础设施将不再可见,将看不到所谓的计算、存储、网络等等各种服务,只需要在云上的生态系统里面按需获取自己所获取的前台、中台稍微进行改造生成自己的生态系统。在这个阶段阿里云认为最终的用户将对网络不可见,这正是洛神系统最终的使命。

阿里云网络产品推进的时间点跟企业上云的系统基本上保持一致的。最开始只是提供AVS、SLB这些单实例,到后面因为基础实例上云了之后需要云上和云下的高速通道,专线以及智能接入网关,到后面资源的力度越来越细,分布的范围越来越广,阿里云提供了比如说全球加速、云企业网,通过企业架构在云上不停的演进,阿里云网络还将继续推进各种满足客户服务,各种业务系统的网络产品。

接下来介绍阿里云网络洛神系统的关键技术。三个关键词:弹性、可靠和智能。

  • 弹性:有两个重要数字,第一个是秒级的转发性能的弹性扩展。洛神可以支持转发带宽从1兆到1个T在1秒以内可以弹性扩张。另外一个是容量的弹性能力,目前10万太的单网络内ECS规模。

而阿里云有这样的弹性扩展能力,主要有两个原因:

  1. 数据面:目前洛神系统包括X86、FPGA、ASIC,在转发面可以支持多种方式,但不同的转发技术及不同的转发产品如何应用在不同的场景里面?到目前为止大部分的网关网源类产品主要还是用X86软转发,但是后面会逐渐到智能网卡上面去。另外对于一些大带宽,同时带宽诉求不确定的应用场景,例如阿里云一些VRP客户访问存储这一块带宽要求非常的高,而且也不确定。这样的话阿里云会专门部署ASIC的芯片提升客户的能力。通过这么多的转发技术洛神形成了庞大的转发的资源池,用于快速提升转发性能的诉求。
  2. 管控面:洛神管理着一个非常庞大的网络系统,所以使用传统的集中式单点的控制面肯定没办法满足要求,所以整个洛神系统一方面控制面是区别层次化的,另外一方面很重要的是在下发转发表面的时候采用的是缓冲的机制,例如虚拟机之内的表象生成,通过数据面通过缓存自发学习到表象,通过数据面学习到的表象而不是通过控制面一一下发的,这样表现的深层效率、深层速度将远远超过集中式的这样方式。通过这种方式可以快速的去让计算节点上线或者是下线。
  • 可靠性:去年阿里云所有的网络实例故障是50毫秒,还不计算 vSwitch的网络情况下得到的结果,这是一个很短的时间。

谈到可靠,跨机房多活是最基本的要求,对于洛神来讲它的关键节点包 
括控制器,包括各种网关,一方面是集群化部署,另外一方面在每一个机房基本上都会部署,节点与节点之间,机房与机房之间会互相备份,当某一个故障洛神会在集群内倒换,如果超过了一定的值会在机房倒换,避免因为单一的一个点或者一个集群故障造成整个网络的不可用。这个实际上是一个跨机房多活的方式。

跟大家介绍一下洛神的故障快速发现染色系统,这个系统会对特定的流 
进行染色并且加以匹配,作用于阿里云虚拟网络和物理网络上面。在整个设备的运行过程中会对特定的业务,特定的流染色进行景象采样,打时间搓等等,会进行数据的实时分析。通过数据的实时分析快速发现特定的流的故障,比如说丢包了,立即通知网络管理人员恢复故障,这是我跟我们现在IT的思维基本上一致的,但是阿里云的洛神平台主要是从客户的业务出发。

  • 智能性:其实智能与可靠性是密切相关的,因为通过智能监控、智能运维、智能故障恢复,可以有效降低故障的时间。

提到智能,就必须介绍阿里云基于大数据的智能运维平台,在阿里云内部叫齐天系统,通过数据面、控制面的各种数据收集,例如流数据、统计数据等等用户信息,收集到大数据的分析工具(JStorm)里面去对数据进行分类,我们分为基础数据、监控数据和诊断数据,对这些数据进行规则的匹配、运算,会将分析结果输送到各个界面,比如说报警、API、机器人等等,对于一些故障会进行故障隔离恢复,思路是差不多的。

介绍几个现在正在使用的场景案例:

  • 变更的案例:大家都知道线上很多的问题都是因为网络的变更导致的,怎么样降低变更时对业务的影响,阿里云一般会选取业务量最小的对客户影响最小的时间点去进行变更。那怎么选择时间点以往会通过人工的方式,这样的话一方面工作量大,另外一方面其实也不精准,对业务的影响是不可知的。阿里云的齐天平台可以通过大数据的分析,精准描绘用户网源的画像,选择业务量最小的时间点进行自动的变更。这样的话大大降低了影响业务运行的概率。另外很多时候要选择版本上线的时间进行恢复,很多的时候难以判断哪一些机房跟网源。利用大数据分析和齐天系统可以判断哪些先进行可以对业务的影响最小,这也是基于智能平台去做的,所以在网络变更的情况下可以达到对业务的影响很小,而且都是自动化完成的。

  • 异常的检测:齐天会对多种策略异常检测,并且用到线上去,在实际的运行过程中判断这些策略是否异常存在并首先告警,其次会进行快速的逃逸过程。整个过程其实并不容易,因为要对全局全景进行判断,到底是屏蔽电路还是屏蔽结点还是整机房的倒换,要根据业务场景做综合判断才可以得出。实际上在阿里云的网络上运行时候正是齐天系统可以综合判断及决策,什么样的故障逃逸对业务的影响是最小的。

 

看一下洛神的应用情况。截止当前整个阿里云的网络规模已经非常的庞大,对于虚拟网源来讲已经有百万级的网络设备,千万级的网络实例,并且监控着超过一千多个的网络指标进行一些大数据的分析。当然对于运行压力最大的肯定还是双十一这样的场景。今年双十一的数据还没有完全得到。峰值的交易笔数达到了32.5万,单一的负载均衡实例带宽达到了160G,而且现在所有的阿里的业务都是运行在阿里云的洛神系统上的,已经都是VPC网络上面的一个业务了。

最后总结洛神的使命,洛神有三代,第一经典网络,主要是解决连通性的问题,第二代推出了VPC的网络用于安全隔离,当前是第三代,打通了接入云的解决方案,提供跟传统企业网络相同能力的能力,最后一个阶段阿里云定义为Networkless,最终的网络对最终用户其实是不可见的,就像阿里云网络的名称— 洛神,其实他像神一样你看不到他的存在,其实他也无处不在。

 

 


原文链接
本文为云栖社区原创内容,未经允许不得转载。

阅读更多

没有更多推荐了,返回首页