阿里云祝顺民:云网络的十年“修路”历程

写在前面:9 月 8 日,InfoQ邀请了阿里巴巴集团研究员、阿里云智能云网络产品线总经理祝顺民(花名江鹤)做客直播间。本文整理自直播内容,获InfoQ授权转载。

如果说云计算是现代 IT 架构中的基础设施,那么云网络就是云计算的基础设施,它决定了云将以什么样的性能指标连接各类 IT 业务。那么,云网络在建设的过程中,有哪些技术上的关键和难点?云网边端一体化进程,为云网络带来了哪些挑战?越来越成熟的 5G 商用,会为云网络带来哪些机遇?跟随大咖带你“看穿”云网络的前世今生,自底向上,理解云网络这一现代 IT 架构中,最重要的基础设施。

InfoQ:江鹤老师,应该说您是见证了整个阿里云网络从无到有,一直到现在发展成为整个云计算服务的基础设施的过程,对于这个过程,江鹤老师有什么样的体会呢?请您跟大家聊聊。

江鹤:我觉得作为一个技术从业者能够经历整个云计算快速发展的过程是非常荣幸的。

对于云计算网络,我也是经历了从一个单一的网络慢慢发展成现在的云网络。在这十多年的过程中,现在回头看,觉得它很快就发展成这样了,但是回想一下当时的情况,是无法想象十年之后能变成现在这个样子的。

阿里云网络是如何诞生的

InfoQ:首先咱们来聊一下整个云网络,江鹤老师能不能帮我们介绍一下阿里落实云网络它的整个发展的关键节点?

江鹤:在这里我给大家介绍阿里云洛神云网络这个系统,如果介绍整个洛神系统的经历的话,要回到大概十几年前的一个状态了。

阿里云第一天构建我们云计算的时候,网络这一层还是非常传统的:去买外面厂商的网络设备、交换机、路由器、负载均衡设备去搭起来,然后去用。

大家都知道网络是在一九七几年开始慢慢发展的,对吧?但到了 2010 年前后,网络技术还是在原来的技术轨道中往前走。云技术发展的一个最关键的地方就是我们把大量的服务器集中在了一个机房里面,其实绝大部分的用户,在原来的 IT 系统中是不会需要一个机房里面有这么大量的服务器的。

因为阿里云的快速发展,也导致我们遇到一个问题。就是用传统的网络设备和网络架构的方案,已经无法支撑计算存储的发展。这个时候,我们就去联系设备厂商,去问有没有更大规模的网络设备,能够承载的 IP 数量,横向扩展路由表的数量。但从当时的芯片的发展来看,它最大的芯片都满足不了我们当时的需求。所以我们也在想解决办法。当然国外也有厂商在做云计算,在做公有云,但找不到任何文章来描述他们是怎么搭建起来的,这种情况下只能去摸索,根据我们的场景和问题以及最终用户的需求,来思考。

当然技术原理很多都是相通的,最终构建出的解决方案在阿里云是比较场景化的,所以这可以说是洛神系统的第一阶段,我们现在叫他洛神 1.0,在这里实现了一个很大的跨越,即从一个原来最传统的经典网络,跨越到了一个虚拟网络,解决了在阿里云上用户和用户之间的安全隔离问题。

第一代用网络虚拟化技术,用软件定义的网络来解决最基础的安全隔离,但这还不够。因为我们又发现阿里云上的单个用户拥有虚拟机的体量和存储体量其实是在快速增长的。所以这时,需要网络架构和网络管理,这也促使我们把网络变成一个产品,而且这个网络是可以自己规划、定义的。这实际上是我们的第二个阶段。

第三个阶段我们发现单个用户更大了,这时候他们多个地域之间的虚拟机是需要联通的,如果联通都是走公网的话,安全性能肯定得不到保障,所以我们在这个基础之上延伸出了一个全球跨地域的网络,就是把广域网虚拟化。

当走到上一阶段,用户体量和单个用户的规模更大了,我们又碰到了性能的问题性,以前是软件定义网络,包括网络设备等都是用软件自己去研发出来的,但是大到一定程度,还是用软件 CPU 的摩尔定律,就约束了能达到的程度,所以我们去构建硬件芯片里面的业务逻辑来研发自己的网络设备,这也是我们最新的一个阶段。

InfoQ:江鹤老师,我们了解到十年前虚拟化的方案好像也不是很多,那咱们在最开始做虚拟化的时候有什么可参考的案例吗?

江鹤:你讲的其实是一个非常关键的点,那个时候业界在整个虚拟化技术上分为两大派。其中的一派是国外的公有云厂商,另一派其实以 Open Stack 为代表的这一派,当时对于 Open Stack 来说,还没有这么完整的网络虚拟化这一层,它更多的关注计算的虚拟化。

然后讲到国外的云厂商,我们在公开的材料上几乎看不见他们,他们没有实践过程,没有实践方案,没有实践技术原理方面的解读,能看到的只有产品,所以说在当时可参考的是非常少的。我记得非常清楚的是带宽的数据。我举几个关键的例子,第一个例子说天猫淘宝业务。一个地域里面一张虚拟的网络,它现在要求至少都是 100 多万台虚拟机的规模,开始其实只能支撑 30 万台,但现在我们已经可以完全满足了。第二个数据以去年双十一为例。去年双十一我们给单个客户提供的最大混合云是 32 个 T,这都是很大的挑战。第三个数据就是公网。去年疫情期间,学校开学前,我们在一两天之内给钉钉准备了 1 个 T 的公网带宽,这也是规模比较大的数据。

InfoQ:东南亚的网络环境很复杂,那么江鹤老师在东南亚的网络建设过程中有什么体会?

江鹤:就像你讲到,其实东南亚很多国家,它们的网络发展阶段是不一样的。比如说整个东南亚发展阶段最好的是新加坡,但人口最多的是印度尼西亚。所以从目前来看,新加坡是东南亚的一个核心,很多流量交换都会通过新加坡,它的网络情况最好,而印度尼西亚流量最大。所以现在像国内的一些企业,如果想去东南亚发展业务,可以先在新加坡阿里云的机房里面开始构建你的业务。

所以对一些大型公司来说,当他们的业务大到一定程度后,比如说印度尼西亚的用户对延时要求比较高的时候,会慢慢的把业务转移到马来西亚这些地方去。

InfoQ:在整个阿里云网络发展的节点中,有什么节点是江鹤老师印象最深刻的?比如双十一算不算个严峻挑战?

江鹤:说实话双十一对我们来说还好,因为作为一个技术人员加入到阿里之后,每年都会做双十一,而且大家都知道双十一的流量一直在往上涨,所以会提前准备好也没有那么突发性。

但是阿里云的客户对我们业务的突发性要求就更高。还是举个例子,我印象很深的一次是有一次我们发现了一个潜在的 bug,因为担心这个 bug 可能会产生大故障,所以我们在一个晚上把阿里云所有地域的负载均衡全部做了版本升级。

InfoQ:当时有没有考虑先灰度测试一下?

江鹤:没有。因为是我们基本上是一个非常稳定的版本,可以说只需要改动一行代码,所以是非常有信心的。

云计算最核心的是稳定的服务。从做阿里云这十几年的经历来看,除了技术和产品做得好之外,我们最有心得的是如何保障这么大规模的一个云计算基础设施是稳定的,包括从我们内部看网络,故障也是非常少。所以稳定的服务是公有云厂商最核心的一个能力,同时也是最见功底的一个能力。

InfoQ:从什么时候起,江鹤老师觉得故障或者 bug 率开始降低了呢?

江鹤:在 2017 年之前我们的发展其实非常快,在现在看来故障还是不少的。在 2017 年之后,我们意识到稳定性是最重要的一件事。

再举一个例子,我们有一个客户在阿里云上面,他的 APP 是非常知名的,有一次发生一个故障影响了 APP,我回家之后,家人就问这个 APP 为什么今天不能用,跟你们有没有关系?从那时候我就意识到阿里云不仅仅只是做一个产品,我们应该确保的是一个服务的延续性。这关乎到咱们老百姓的生活和上网体验,也有了超脱于产品之外的使命感与责任感。

云网边端一体化与云网络建设方法

InfoQ:接下来想跟江鹤老师聊聊大家很关注的概念:云网边端一体化,能不能给我们简单介绍下?再者,这对云网络来说,有什么新的挑战吗?

江鹤:这个词确实很大,我分享一下我个人的一些见解。

首先来说云和网的关系。云是内容,网是连接是通道,但网的发展其实是促进了云的发展。我们回顾一下,过去十几年,从 2G 到 3G 到 4G 到现在的 5G 其实是网络通信能力的提升促进的内容的发展。再延伸一下,今天网的能力又进一步提升了。我们国家运营商的网络从 4G 升级到 5G 有三个非常关键的特征:海量设备、高吞吐,低延时。当视频甚至交互式视频内容产生的时候,对延时的敏感度就会非常高,以中国为例,几个大区的 region,离有些省份距离还是挺远的,那有没有可能往下降一层,降到是省级别,甚至市级别,甚至再往下降,这也就是说内容需要下沉,也意味着需要有更多的机房来承载业务内容和包括提供内容的这些应用,这其实就是边缘的发展,而这个端一定是配合的。

从技术角度来看,也提出更多的要求,假设一个应用在国内只部署一个 region 就可以了,应用的价格会比较简单,但是如果要在全国三十几个省市部署,具体怎么做?应用和应用之间的访问怎么去定义,那就会变成一个很复杂的事情,而所有复杂的事情都会出问题。这也对网络技术,存储技术,包括对应用层的中间件消息都提出了很高的要求。所以大的背景是网络技术的发展,带动了云的发展,带动了应用的发展,最终还是回到用户的体验。

InfoQ:在让网络变得简洁这方面,有什么具体的方向吗?

江鹤:有。因为今天阿里云的物理服务器的规模非常大,当规模发展到这种程度的时候,服务器的损坏是必然的,所以我们的计算团队投入了非常大的资源去研究如何提升服务器以及如何降低宕机率。

我们会有一个历史的统计,就是每天会发生多少台服务器坏掉,这几年我们在服务器的质量,包括其他方面做了一些工作,宕机率其实降低了很多,但是从网络设备上来讲,它一定也会断也会坏掉。

第一,让使用更简单,从网络链路上来讲,光纤一定会坏,尤其光到电的转换,这个过程多少也会出问题,但是如何做到能让阿里云的用户感知不到,这就是软件硬件联通协同起来做的;

第二,让运维更简单,大量的服务器和网络设备,如果全部是靠人去运维去管理的话,开销会非常大。所以如何提升每个人能掌控管理的服务器数量和网络设备的数量,也是我们不停追求的一个东西。

InfoQ:咱们是通过什么方式来降低人力成本的?

江鹤:我可以简单介绍一下。我们现在在网络设备方面:第一,交换机都是自己研发的。整个交换机里面一些物理硬件,都是自己设计的;第二,我们把所有网络设备都加了类似一个探针一样的东西,把很多数据给提出来,就可以监视其运行状况。以前黑盒的时候,对它的监视其实就是 work 不 work,但是现在我们都会打开到端口级别。安全规则级别不同维度的数据都采集出来,然后再把所有数据集中在一起去做数据分析。

关于数据分析的目的,第一,我们希望在问题发故障发生之前,提前能够预测到可能要发生故障;第二个在故障发生的时候,我们能够知道发生了什么故障,原因是什么;第三点,如果已知的故障,我们都是尽量要去解决掉。

InfoQ:江鹤老师觉得在整个发展过程中哪一类指标提升最大,现在仍然非常关注的。

江鹤:其实我最关注的三个数是 1、5、10,这是什么意思?

第一,如果发生故障,我们最迟 1 分钟之内要知道故障已经发生;第二,故障已经发生 5 分钟,要有基本的判断,故障影响范围有多大;第三,10 分钟要把故障给恢复。不管你是去做 fix,还是去做容灾切换,要在 10 分钟之后让用户感受不到故障的存在。其实阿里云保证保障服务的延续可用是我们最关键的一个能力要求,所以几乎所有的产品团队都在追求这一点。从实现上来讲,也会有各种各样的方法:第一,比如我刚才提到的数据分析和数据的应用的能力。第二,会存在一些冗余的设计。

InfoQ:疫情出现后,有很多不依赖公有云的、端到端的网络加速服务都出现了,江鹤老师觉得它们之间的联系和区别是什么,它们是否有一些共通的能力?

江鹤:因为疫情,把人和人的交流转为线上。大家在交互的时候,看视频还是会感受到有一些卡顿。在这个时候其实最关键的是网络的几个指标:时延、带宽、丢包率。

因为网络它一定会存在丢包,在原来的网络基础之上,如何降低丢包率,我们追求的另外一个维度。如何在一个互联网之上的两个端的中间用一个加速网络,这里面带来几个技术的研究点:第一,最后一公里 over Internet 的时候,它一定会存在丢包,如何去解决;第二,虽然中间,但是这个网络会存在一个调度问题;第三,即使是一根链路,它也有多冗余,如何去选择。所以在网络层面现在的加速,就是在原有基础网络之上再做一层软件定义的加速网络,我们也看到最近有很多业界的厂商在做这个问题,但最终都是去解决网络连接的速率问题和时延问题。

InfoQ:我听说江鹤老师出了一本新书,叫《云网络:数字经济的连接》,能不能再给我们介绍一下为什么会出这样的一本书,然后这本书主要是在讲什么样的内容。

江鹤:这本书其实叫云网络,关于为什么出这本书,其实是有几个想法。

第一,我们觉得现在的网络跟以前不一样。当我们和一些做传统网络的技术人员聊的时候,会发现有时候对话对不上,虽然最终都是网络,但是我们去构建的这张网络的方式和把网络以服务的形式提供出来的形态它是不一样的;第二,我们提供给用户的网络形态发生了很大变化之后,还是有很多的技术人员对云上网络的概念并不理解;第三,我们看到国内整个业界从事这一块的技术人员还是非常少的,真正做云的厂商也没那么多。基于这几个出发点,我们想要把我们的理念、做网络技术的方式和设计网络产品化的概念,去写出来并和业界更多的人去交流,也让更多的人能够接触到。

InfoQ:疫情这两年绕不开的一个话题,就是企业数字化转型。随着数字化转型,流量的挑战也会越来越大,那么在您看来,云网络应该如何做好技术储备,应对这种挑战?

江鹤:确实我们能感受到传统领域里面的数字化是在快速发展的,数字化转型最终一定是数据化,同时也对网络提出更大的一个要求。

从整体来看,我还是认为网络是基础设施,网络一定是为应用上层业务服务的,那我觉得网络一定要变得越来越简单,让上层感知不到网络。另外,从技术愿景角度来说,希望端到端之间的连接,是可以随意弹性的且又成本是低廉的。所以技术的发展一定是为最终用户的体验提供能力,但是又让用户感知不到你的存在,阿里云作为一个云厂商所追求的理念,就是这样的。

InfoQ:对阿里云来说负载均衡肯定是一个值得追求的,那在这方面咱们做了什么工作吗?

江鹤:负载均衡这方面,我们其实做了很多工作。在 2011 年之前,我们的负载均衡分为两类。第一类是买的国外的负载均衡设备。第二类就是我们当时在尝试有没有可能用一个开源的 iOS 能够去搭建负载均衡。所以从 2011 年开始我们就基于 iOS 去研发了一个新的版本的 iOS,当时我们把它开源到了官方网站上,做了它之后,大概花了一年到两年左右的时间,我们把整个阿里巴巴集团全部换成了自己的负载均衡。

而且我们没有止步在上面,那个时候负载均衡其实都是基于 Linux kernel 的,我们又自己做了一个网络协议栈,把整个 iOS 基本上重写了一遍,这样基于我们自己的一个网络协议的新的 iOS 做起来之后,相比原来同一台物理的硬件服务器,性能提升了几十倍。当然目前我们仍未停止,近几年研发了一款基于 FPA 的加速芯片,把一个纯软的负载均衡变成一个软硬结合的,因为用户需求非常大,所以也鞭策我们一直在性能的道路上追求下去。

阿里云祝顺民:云网络的十年“修路”历程

展开阅读全文

投稿时间:2021-10-12  最后更新:2022-06-24

标签:阿里   洛神   东南亚   网络设备   历程   故障   老师   数据   用户   技术   网络   祝顺民

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2022 All Rights Reserved. Powered By Q578.com 闽ICP备11008920号-1
闽公网安备35020302032606号

Top