轻松应对双11,百万级物理和虚拟网络设备的网络智能化实践

摘要: 12月13-14日,由云栖社区与阿里巴巴技术协会共同主办的《2017阿里巴巴双11技术十二讲》顺利结束,集中为你们分享了2017双11背后的黑科技。本文是《双11的智能化网络实践》演讲整理,主要讲解了阿里巴巴在网络智能领域经过数据手段极致地优化运营场景,在稳定性、成本、效率方面提高网络运营竞争力的技术。web

12月13-14日,由云栖社区与阿里巴巴技术协会共同主办的《2017阿里巴巴双11技术十二讲》顺利结束,集中为你们分享了2017双11背后的黑科技。本文是《双11的智能化网络实践》演讲整理,主要讲解了阿里巴巴在网络智能化技术中,大量级网络下网络变动、调度优化技术的大幅度提高,故障快速发现、定位、恢复方面和资源优化利用方面的技术突破,在网络智能领域经过数据手段极致地优化运营场景,在稳定性、成本、效率方面提高网络运营竞争力。内容以下。算法

分享嘉宾:服务器

图片描述

后羿(周宝方),阿里巴巴资深技术专家,参与8年双11大战,主导阿里“去IOE”战略落地,目前在推进阿里基础设施智能化。网络

后羿:首先给你们呈现的是阿里巴巴在双11中主要依赖的网络相关技术。在今年双11中咱们在稳定性、高性能网关、去堆叠以及25G、骨干网流量调度平台、流量的精准评估、QOS优化和成本优化方面都取得了突破性的进展。
助力双11的重要网络技术
在稳定性的强化方面,在过去一年,阿里巴巴借助智能化手段,在故障的快速发现、自动修复、自动变动、快速诊断的能力上都有很大的强化,使之轻松应对双11流量高峰时的突发稳定性问题;在优化高性能网关方面,ANAT吞吐量性能16倍的提高和LVS性能8倍的提高使阿里巴巴轻松应对ANAT转发网关的压力;4.2架构支持去堆叠能力,提升了架构可靠性;25G技术在5.0网络架构开始规模化使用,在存储计算分离和在线混布场景中也开始落地;骨干网流量调度平台作到了保底带宽、延迟的优化等方面都有好的用户体验。架构

在过去一段时间内,阿里云水立方作到了基于应用维度、按时间维度、任意角度的灵活运营流量精准评估能力。利用水立方预测双11业务流量和容量的分配,在端到端QOS优化方面,阿里巴巴在存储计算分离,在线离线存储混布场景,及交易、支付等对用户体验要求较高场景中得到了更好的用户体验,保证相关的请求能获得优先的传输。在成本优化方面,AGN2.0骨干网升级取得了很大的进展,自研光模块和AOC的全面落地都使得总体成本获得很好的优化。负载均衡

阿里巴巴是一个拥有百万级物理和虚拟网络设备、承载多样业务的遍及全球的统一的物理网络。不一样的供应商在不一样时期、不一样版本、不一样架构的管理都是不一样的,咱们须要付出更多的精力驾驭一个复杂的网络结构。面对大量级的物理和虚拟网络设备时,如何用一套优化的工程方法去进行分析数据;如何基于这些数据在后期作快速故障发现和定位;不一样形态的业务对网络有不同的需求,如何在兼顾资源利用率同时达到用户体验很好的平衡;在面临业务波动频繁的状况下,如何自证清白;在这些过程当中如何快速完成综合处理……这些都是阿里巴巴须要解决的客观的工程难题。运维

图片描述

上图呈现的是咱们在2015年以后在网络稳定性提高方面的具体数据。从这张图中能够看出,咱们在15年到17年期间,稳定性获得了很好的优化。2017年P1 P2故障数对比2015年整年收敛了83%;P1 P2的故障数在十分钟内的恢复率对比2016年也获得了很好的改善。2016年在10分钟内的故障恢复率为38%,而在2017年则达到了72%。须要强调的一点是,阿里巴巴网络设备大幅度增加,而网络工程师和网络运维人员并没有大幅度增加。这主要得益于过去两年咱们在智能化上的投入。机器学习

如何改进处理故障过程
图片描述工具

咱们将网络运营中的故障简单的划分红变动类故障和非变动类故障:
对于变动类故障,借助自动化变动这类自动化工具来解决变动带来的稳定性隐患,经过快速迭代、快速优化过程让故障快速收敛。
对于非变动类故障,在故障发生前,经过加大巡检力度,实时探测当前线上的配置是否存在漏洞,并将巡检结果呈现给运营工程师,运营工程师会系统化的逐步修复这些漏洞。
咱们也在构建科学预测方法,用网络故障库的形式逐步构建全网网络故障特征工程。利用特征库预测故障存在的可能,作到防范于未然。在故障发生后,作到快速发现、快速诊断,当咱们已经能够很好的定性一个特征故障时,快速对其进行修复。性能

快速发现模块主要是用来提高精准探测能力,诊断模块用于提高端到端故障诊断速度。同时,咱们也在积极构建总体网络故障特征库。经过分析历史网络故障体现的量化特征,精确描述故障的形态和量化特色,帮助咱们预知将来网络的潜在的故障。巡检系统在过去一年已经稳定上线,自动化变动系统帮助咱们很好的驾驭每一天面临的大量的变动需求。这些就是咱们在解决网络稳定性方面的总体思路。

当咱们已经能够发现故障、定性故障时,经过监控系统和修复系统的快速联动完成自修复,从而达成闭环,这就是阿里巴巴网络故障的自恢复。下图展现了网络自恢复过程及其自动完成信息的对接和中间逻辑的判断。

图片描述

网络自恢复至关于快速发现和修复两个模块的自联动的过程。当故障已经发生时,如何作到“发现即被修复”?

网络自恢复主要有如下五部分构成:
端口/链路类异常自动隔离。
板卡类异常自动隔离。
运营商流量智能调度容灾切换。
堆叠分裂类异常自动恢复。
防火墙异常的自动切换。
后续会逐步加入更多的场景。随着场景的增多,到目前咱们已经有60%以上的风险隐患实现了自动化的处理,大大下降了故障问题处理的时长,实现了真正的故障快速恢复,这也证实咱们全面进入了自动化调度的时代。网络故障处理全面进入自动化处理和智能化调度时代,60%以上的风险隐患已经实现了自动化处理,大大下降了问题处理时长,实现故障的快速恢复。

自恢复是一种怎样的体验?当监控系统探知到一个具体故障正在发生时,就会调用修复模块来完成故障修复,并在发现故障和修复完成故障后推送一条信息告知用户状况。这个过程几乎不须要人为的干预。咱们但愿借助一个大脑全面评估当下稳定性的状况,精准确认问题后经过调度工具平台完成修复过程。这也是一个推进智能化的过程。
智能调度与自动隔离
如何解决好运营商的割接以及网络的抖动的问题避免用户体验的降低和故障的发生是咱们花很大时间研究的课题。经过对网络质量的全面感知,告诉业务系统哪里正在出现网络质量恶化和变更,这意味着咱们须要作一些工做来改善总体用户体验。在实际操做过程当中,有不少细节须要咱们考虑。运营商自动切换的过程基本都能在不需人工干预的状况下快速完成。

图片描述

从图中能够看出,自从上线了自动化场景后,BGP出口自动化切换的成功率是100%,每自动化切换一次都意味着系统帮助咱们规避了一块儿故障。

在自动隔离场景中,因为网络设备在运行过程当中常常会出现故障,在快速修复以前前,隔离是在网络工程师解决问题的首要工做。从图中能够看出,自动隔离功能上线后,90%以上的隔离操做能自动完成,并且成功率高达95%,这样不只省去了不少的人工还规避了不少潜在故障。

图片描述

基于北斗系统的“快速发现”
北斗故障识别智能引擎有在线日志实时分析、异常流量实时探测、告警收敛三大模块帮助精准定位和发现。在线上咱们天天要处理万亿级的数据信息,经过算法识别出大概1亿条的基础事件,进一步识别后咱们造成23万左右的复琐事件,对复琐事件收敛造成300条左右的事件,其中有进30条左右被转化为工单。工单通常是经过人工干预或无人值守自动化方式消化工单。

北斗故障识别智能引擎的工做流程主要分为四步:
利用庞大的数据采集系统,将N多维度数据实时从设备服务器中采集汇总;
在实时计算平台中利用各类机器学习算法和领域规则来完成基于场景的综合分析;
经过各类告警规则生成复琐事件;
对复琐事件进一步收敛。
在线日志实时分析。咱们已经对海量实时日志有97%以上的识别率,天天处理数亿条平面日志,从日志中经过文本分析和积累,加上人工打标,覆盖了全部厂商日志型号。剩余3%也有经验丰富的网络工程师帮助咱们进一步打标,完善知识库。这是日志分析的大概运做原理。

图片描述

异常流量实时探测。为何咱们须要专门的模块来作异常流量的识别?由于某些数据不能经过传统方式确认其是否异常,如延迟、日志量、网络流量,这个数据在某个时段是正常的,但在另外一个时段里是异常的。流量异常识别模块解决了如何构建一种智能决策算法,根据时间点和场景动态调整对应基线的问题。

图片描述

告警收敛。当收敛出几十万条异常事件后,如何进一步肯定异常的来源?咱们将网络的拓扑加入在图计算引擎中。在对应一个时间窗口内,点亮全部产生告警信息的事件对应的拓扑图结构上。当连续一段拓扑被点亮后,把它当作一个故障联通子图,利用智能化算法对对应节点打分。经过rank值来肯定出现故障设备源头。

图片描述
自动变动的做用
自动化变动已经成为一个很是基础的能力,它和内部不少工具模块和业务平台完成对接,使数据获得了打通,下降故障率的同时提升效率。

为何要有自动变动模块?
在运营百万级网络设备的状况下,天天会面临很是多相似打补、OsS升级、路由变化、IP扩容、回收等的变动需求。
在过去,这些变动操做高达85%的部分都是由人工来完成的。有些业务的操做须要规避白天时间,不少工程师因为长期在晚上进行高危变动操做,得不到好的休息,工做容易出错致使性循环,带来难以控制的风险。
因为变动工做的线下操做,不少能够变成经验的东西没有很好的在线上沉淀,而线下监测环节又比较薄弱。
历史上一边工程师在操做变动,一边故障在蔓延的事不只一次出现。如何作到变动的同时进行监测,实时感觉变动现场网络态势感知是很是重要的。
一些高危的变动须要引入审核机制,这些都是咱们以前面临的现实问题。
咱们是如何解决上述问题的呢?总的来讲就是运用通用的方法,更多的引用智能的手段,减小人工介入。一块块简单的乐高积木能够拼凑出如房子、飞机等很是复杂的形象。乐高积木的例子启示咱们对须要展开的变动操做进行原子化的抽象,而后运用状态机组合成各式复杂的变动。在变动的同时,实时采集对应设备线上的告警信息,这些信息能告诉咱们当下的变动是怎样一种状况。变动进行过程当中是否有大量告警信息急速蔓延,决定着咱们当下是否须要回滚,是否须要作现场决策和支持。

图片描述

从图中能够看出,在2017年自动化变动上线后,变动引发的故障率有很大的下降,50%以上的变动实现了自动化,人员的误操做几率降为0。可想而知,变动的优化效率获得了很大的提高。
网络端到端智能快速诊断系统“庖丁”
在实际中咱们常常会面临这样一个问题,某个地方丢包比较高或者两个点之间应用出现了严重的超时,到底是怎么引发的?若是用人工的方式进行定位,首先要解决如何了解两个点之间端到端网络拓扑是怎样一种结构。拓扑上如今有故障在发生吗?若是有,这些故障设备究竟产生了哪些日志、过程当中是否有变动在进行?若是已经知道是哪些设备为可疑对象,可能接下来对设备进一步下发命令、对数据作深刻诊断,整个过程大概须要1-2小时。

而庖丁能够同时进行网络拓扑发现、告警信息自动聚合分析、日志信息自动获取、命令工具自动下发这四项工做,把整个复杂问题的定位时长从1-2个小时缩减为3分钟,给各种场景带来极大的诊断效率提高。针对已经肯定的两个点的IP,咱们自动定义出所对应的IP拓扑是怎样一种结构;对相应拓扑链路上的全部日志进行实时提取、标注关键词;对可疑设备的告警进行自动化聚合收敛、过滤无效信息;主动对可疑设备进行可疑探测、作二次分析。这些过程几乎是一键完成。

庖丁运做的可视化呈现如图。对可疑故障链路进行标红处理,经过庖丁可视化界面,轻松判断故障的发生缘由。

图片描述

在故障发现、探测的最终结果能够对具体的用户呈现,也能够经过API形式对业务系统进行主动的信息推送。这意味着上层业务网络查询更加开放,经过对庖丁的一次查询能够得知某个业务波动是不是属于网络带来的问题。

图片描述

基于NetO作流量最优化的分配
经过最优化流量分配来榨干多余带宽成本,同时知足最优路径选择、带宽扩容、稳定性方面的现实需求。
技术层面。咱们但愿每次网络路径都是最优的。传统网络基本基于Metric机制肯定最短路径。对于阿里这张具备多样链路的网络,交易链路对网络的延迟极其敏感,大数据须要很大的带宽,须要更多可达路径帮助快速进行数据的传输。
带宽扩容角度。在面临很是频繁的带宽扩容需求状况下,实际的定时链路存在不少延时差别,两个点之间的路径带宽差别也很明显,咱们须要站在运营的角度构建某种方法,既能充分利用闲置的带宽,又能在调配流量过程当中很好的兼顾时延和成本。
稳定性方面。并行的链路在出现单点故障时,须要对其进行隔离,隔离后如何触发高可用路由决策。这些都是NetO须要解决的问题。NetO基于SDN采用了SR-TE技术,帮助咱们在全局状况下拿到全网流量信息、路由状态信息,用这些信息帮助咱们按场景进行路径转发。
图片描述

NetO总体智能决策层模块——阔海
阔海有两大核心职能:
最大化业务目标。不一样的场景有不一样的需求,咱们但愿NetO能够根据各类限制条件对每一个场景综合分析,定制最优解决方案。
以无拥塞方式达成最优分配方案。这要求咱们最少的步骤解决问题,每一步对应的命令须要设备的支持。阔海帮助咱们作到最大化利用链路上限,在每次流量调整中,即不触及带宽上限又能完成最优化调整,实现最小步骤的迁移。
阔海有两种驱动方式,一是周期性运行;二是经过突事件触发,如拓扑发生变化、流量发生变化等。阔海一个数据平台,须要用各个维度的实时数据来进行现状态势感知,经过数据背后业务含义帮助咱们制定最优化分配方案。这些方案彻底能够按不一样需求对成本、时延、带宽利用率组合定制场景。

阔海有很是好的可靠性来帮助它作负载均衡。每次计算出的最优化结果能够经过两种方式来呈现:
经过仿真在web页面来呈现,告诉运营决策人员最优化结果会达成怎样的效果,让对应运营人员作现状评估。
直接用最优化结果进行设备命令的下发,完成一次优化调度。

图片描述

这里给你们举三种常见的场景,黑色线条表明物理链路,其余颜色线条表明逻辑链路。

故障状态下的负载均衡。从第一个场景的图中能够看到三条链路在初始状态下进行数据的通讯。通讯链路出现单点故障时, NetO会把蓝色链路的流量动态的分配到其余两条链路上去。

图片描述

针对高费用链路的解决措施。从实际角度出发,每条链路意味着不一样的资费,为了节省成本,提升资源利用率,咱们彻底能够采起灵活的策略来运行。以下图所示,咱们在运行过程当中发现其中一条链路的成本偏高,这时NetO会自动触发一次调用,把流量分配到相对来讲成本较低的链路上,这个过程基本不须要人工的干预。

图片描述

大数据场景优化传输时间。好比咱们须要发送一个单位的数据,在初始状态下,以图中红绿两条链路发送数据时,因为带宽较小,须要两个时间周期完成数据的传输。NetO在总体链路上找到另一条冗余带宽(蓝色链路),并提示系统把这个链路利用起来,这个调度过程触发了流量的再次优化分配。本来须要两个时间单位传输的数据在这条链路上一个时间单位就能完成。

图片描述

以上就是阿里巴巴在双11中的网络智能化技术及在成本优化、流量智能化调度等方面相关实践的介绍。网络智能永远是一个在路上的过程,咱们还在不断努力演进它。在将来一段时间内,咱们会进一步在无人值守、成本优化和稳定性方面加大投入,给你们呈现更好的东西,带来更好的用户体验。

相关文章
相关标签/搜索