Article / 文章中心

可编程网络系列(一):可编程网络在阿里云的规模化应用和实践

发布时间:2021-12-07 点击数:253

前言

2021年云栖大会,阿里云基础设施网络事业部负责人蔡德忠在可预期网络分论坛上指出:今天的网络已经从以Mega-scale DC为代表的软件定义网络,向可预期网络演进。而阿里云的网络随着规模的增长,也要承担起新型社会基础设施的角色,做到可预期,从架构、协议、软硬件、芯片、生态等一系列角度保持持续迭代和演进。


幻灯片2.png

让我们从芯片角度来看云计算时代三代网络的演进


云计算第一个十年,业界主要使用厂家提供的一体化网络设备,从芯片到OS、特性都由厂家研发和供给;


第二个十年,以互联网DC为代表的应用,将网络设备大规模简化,开放的OS仅留下必要特性,增加深度的运维特性,从而极大提升网络的可用性,单芯片为主的设备,可以简单高效支持超大规模部署;


第三个十年,面向未来,我们可以预见,网络可编程将是补上可预期的最后一个关键环节,可编程的ASIC和系统将为基础设施提供端到端的可管可控能力,使网络从以协议为中心转为以软件为中心,更敏捷、更好的支持业务的发展。


从阿里云推出HPCC协议、神龙卡、超融合边缘底座等一系列产品到各大互联网厂商往技术底层深扎,可以预见:未来各大厂的底层将是各自优化,各自实现,而可编程网络,将是通往可预期的必经之路!


No.1

阿里云基础设施可编程之路


幻灯片4.jpeg

时间流转回2016年,阿里云基础设施网络团队关注到学术界和工业界对于可编程芯片和语言的一些突破性进展,由此开始了基础可编程芯片的白盒交换机研发和适配工作,让可编程芯片可以适配运行于阿里云自研网络操作系统(AliNOS)之上。


2017年,我们发现协议无关的芯片Pipeline很适合在网关应用中使用,在大流量的LB场景中找到了应用,于是开始基于白盒可编程设备助力LB场景,推出了SmartLB的内部产品并在大数据场景中使用。


同年年底,基础设施网络团队已看到可编程能力给业务带来的收益,在时任阿里云基础设施高级研究员蔡依群的指导下,阿里云内部立项了大算力和可编程的超融合设备项目,针对多个场景的需求打造了一款灵活的适配多场景的可编程平台。


2018年,团队基于可编程芯片的可视化能力,自研了稳定、低延迟的新一代高速网络拥塞控制HPCC,该项目论文已被世界顶级的网络学术会议ACM SIGCOMM2019录用并为业界广泛所知。同时,与阿里云网络产品团队合作的T级别的可编程网关也开始研发和上线。


2019年,经过一年多的研发,自研的SNA设备开始量产和上线,首先在CDN场景得到了应用,之后开始在IGW等网关项目中也研发完成并开始上线。同时,该平台也开始应用于一些内部平台,如灵活测试。


2020年,可编程平台继续在ENS和VGW场景开始使用,并且在体量上也进一步增长。可编程的ASIC厂家也在逐步增多,阿里云也推出了Lyra编译器,阿里云在SIGCOMM 2020中将该成果分享。SNA平台也开始对FPGA进行了支持和应用。


2021年,可编程网关和平台已经在多个业务场景爆发和加速,形式化验证Aquila也在SICOMM 2021中发布。




No.2

典型案例分享


在五年的可编程网络发展之路上,阿里云基础设施网络团队针对业务的实际痛点和场景价值推出了很多应用,典型案例分享如下:


网关类应用——SmartNAT平台

幻灯片5.jpeg

随着流量剧增,用于该平台的网关服务器的数量和成本也在横向增长。虽然少量的大流可能占80%的流量,但是还有很多突发小流Session。在该场景下,不能简单的用可编程ASIC进行全部的应用替代。


当使用阿里云自研的SNA平台后,我们可以灵活使用ASIC、FPGA和X86的三级卸载模式,从而达到流表和性能的均衡。


该方案除了保持X86的应用灵活度外,还可以解决单核打爆的风险,PPS和时延都有效提升,每一台可编程设备可以替代10台以上的原160G的网关设备,成本也有大幅的提升。


云融合类应用——阿里云洛神超融合云网关

幻灯片6.jpeg

随着云边一体的趋势,阿里云推出了更多的像本地云云展云盒等向边缘扩展的产品形态,此时类似中心云的每网关部署则给业务的灵活性和成本带来了巨大的挑战。


使用阿里云的超融合SNA平台后,我们在可编程ASIC里加入了交换机逻辑,同时在X86内加入了伊洛网元编排平台,该形态下,可以在原有的架构下省去交换机和众多分别部署的网关设备和混合云接入设备。同时,还可以共用原有的管控部署和运营平台,达到性能成本的大幅优化


边缘融合类应用——边缘云的超融合底座

幻灯片7.jpeg

在边缘云节点中,麻雀虽小,五脏俱全,在原有的节点内,我们需要部署大量的云网关、安全、管控设备。边缘云是大量的小规模节点,能给业务应用的服务器就变得很少,如何低成本高性能的部署边缘云,变成了难题。


而基础设施网络的SNA平台此时应运而生,可编程ASIC中灵活加入了交换机、Virtual Switch和网关的offload,FPGA对VPN、TLS等进行进一步卸载,在强大的X86平台内,进行有状态网元和安全、管控的部署,使得两台超融合设备就可以作为边缘云的底座提供T级LB、T级网关的裸金属接入能力的底座,通过二层交换机的扩展,可以支持最多单点768台异构设备接入。



No.3

可编程能力的构建



硬件

幻灯片8.jpeg

可编程能力当然离不开硬件和芯片,阿里云量产的SNA支撑了以边缘和网关为代表的诸多场景的应用,业界首创的大带宽可编程ASIC+大算力结合的设备,保证SKU统一的同时灵活适应各类场景的需求


近两年,各大ASIC厂家都加速了自身的开放性,可编程的平台越来越多。我们可以断定,未来的芯片都会具有或多或少的可编程能力。整个生态的促进让阿里云也将可编程平台的构建推向了更多地方,未来我们会持续推进可编程的开发和应用。


开发效率

幻灯片9.jpeg

可编程平台是一个新技术和新事物,开发工具体系与成熟的平台比还有较大的差距,上图展现了可编程平台在多个维度上我们看到的挑战。针对这些挑战,我们也逐步的研发了如Lyra编译器、Aquila验证器、Meissa测试覆盖等工具和平台,持续对开发效能进行优化。


同时,阿里云研究团队也持续的将我们的研究成果以顶会论文和公开宣讲的方式回馈社区。


设备平台和智能运营

幻灯片10.jpeg

众所周知,一个应用从可用,到大规模部署,中间有着巨大的鸿沟。而在阿里云基础设施,支撑着可编程业务的正是成熟的阿里云自研网络操作系统(AliNOS)和整体的智能运维体系。如上图中所示,阿里云自研网络操作系统(AliNOS)和运维体系已经承载着数万台网络设备的日常运维和一系列行之有效的系统。而可编程设备和应用正是站在巨人的肩膀之上,才可以在业务创新的同时,保证业务的稳定性,和业务运营一起进行大规模部署。

阿里云可编程网络架构

幻灯片11.jpeg

以上介绍的几个环节,共同构建了阿里云可编程网络架构和平台,支撑着上层的三类应用。我们看到的应用实践只是冰山一角,大海之下,更是硬件、平台、研发和运营坚如磐石的积累。



No.4

面向未来


阿里云基础设施网络团队对于可编程平台的积累已经走过了第一个五年,这五年里我们完成了从0到1的积累,在多个业务都通过技术创新拿到了优秀的结果。


未来,阿里云基础设施网络将从三个方面持续推进:


  • 深度优化:从可用、可靠、性能、成本、服务上,抓住应用痛点,持续优化网络服务,赋能应用。
  • 云边一体:从中心到边缘,可编程的范畴将持续扩展。
  • 生态共赢:拥抱生态,和伙伴们一起构建开放的可编程平台和产品。


面向未来,我们坚信可编程平台将会成为可预期网络的重要基石。从网关到交换,从中心到边缘,端到端的控制和运营才会带来真正可预期的网络。