18

阿里王永灿:阿里自研网络实践分享

 3 years ago
source link: https://www.sdnlab.com/24458.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

“2020 SONiC产业生态研讨会”于9月19日圆满落幕,会上阿里巴巴高级技术专家王永灿带来了《阿里自研网络实践分享》主题演讲。

随着互联网的高速发展,数据中心的规模也随之爆发式增长,全球有将近500个左右的超大规模的数据中心,海量设备必然要求提高基础设施的利用率来降低成本。

这里王永灿举了个例子: AWS在传统的圣诞节为了应对流量高峰,会部署大量的服务器,但是圣诞节过后这些服务器就空闲了,所以就催生了云服务。这跟阿里的双十一是一个道理,阿里几乎所有先进的技术都是双十一催生的。从这个角度来讲,高大上的“云”是由咱们这些广大的剁手族创造的。

“云”本质上是低成本的大规模经济,所以“云”的诞生再一次促进了数据中心规模的发展。现在一天部署的服务器数量几乎是15年前一年部署的量,规模改变了一切,大规模带来了前所未有的挑战:大规模建设交付、海量设备的运维效率、高可用、高性能,而且还要求快速迭代,为了应对这些挑战,开源成为了必然的选择。

大规模云服务的开放软件生态

数据中心的设备定制首先从数量最大的服务器开始,这是因为服务器的OS有开源的Linux, Linux可以说是最成功的开源项目,Linux开源近30年,由全世界的工程师一起合作开发。 Linux的开放软件生态也得到了快速发展,催生了繁荣的技术和商业创新。在虚拟化上有大众熟知的kvm、docker等,在数据方面有hadoop、redis DB、mongo DB等。在管控和中间件方面,有jvm、chef等。现在几乎所有的互联网公司或多或少都在利用开源做一些项目。

001.png

为什么做自研?

与服务器的开放不同,网络一直是一个封闭的系统。设备中除了CPU之外,网络芯片是一个专用的芯片,门槛高,需要复杂的网络协议来控制,而且网络设备对稳定性要求非常高。商业设备对用户开放的主要是命令行,所以网络运维很多时候比的是命令行的熟练程度。

交换机作为数据中心网络的基本单元,用户的每个环节都产生了严重的外部依赖。架构设计依赖于厂商设备的端口形态、软件功能,网络管控又依赖于管控接口、建设交付,线上运维的故障定位、问题处理、软件升级等环节都依赖于厂商设备,各个环节都被厂商设备锁定,无法独立演进,很难应对来自大规模网络的稳定性和效率的挑战。只有做自研交换机,网络才能闭环的独立演进,所以业界一线互联网公司不约而同选择了自研这条路。

Google是自研交换机的鼻祖,通过自研交换机构建了SDN网络,用controller来集中管控。在开源上有大家熟悉的OpenConfig、gRPC等。

Facebook把自研交换机设计成了类似于服务器,交换机和服务器采用同一套运维管控体系,全面采用了微服务化的运维方式。

微软采用了SONiC,是标准的Linux,基于Docker的部署管理,采用了Minigraph、ConfigDB的结构化数据来进行管控运维。

002.png

阿里的自研之路

第一代OS

阿里早在2013年就开始做自研交换机,当时业界没有开源的OS,但是一些芯片厂家或设备厂商愿意免费提供其OS代码,所以阿里当时采用了博通的ICOS,向ODM厂商定制了万兆交换机进行上线部署,也因此获得了产业的红利,大幅降低了成本。

但是交换机市场是一个相对饱和的市场,中国与北美不同,国内的厂家愿意实行低价策略,自研交换机在内部也仍然是一门生意。另一方面ICOS是一个闭源的系统,没有良好的生态,有些厂家几百人,甚至整个公司都在做交换机,而当时阿里几个人的团队,无论在迭代速度还是新技术引进方面都满足不了需求。

第二代OS

在16年的时候,惠普开源了其网络系统OpenSwitch,并且投入了巨大的人力。整个OS以OvsDB为中心,使用了一系列的开源协议软件,功能完善,引起了一时轰动,大家觉得网络的开源终于来了,所以在短时间内几乎所有的芯片ODM、用户都迅速的加入OpenSwitch。

003.png

阿里也基于此开发了第二代OS,并且小规模上线,但OpenSwitch最大的缺陷就是由厂家主导,厂商必然需要盈利,而这与开源是冲突的,也与生态链中其他参与者存在利益冲突,所以一年后惠普遗憾地宣布退出了OpenSwitch,由戴尔接管。这个时候阿里就站在了十字路口,因为戴尔也是vendor,如果继续使用OpenSwitch,就随时有可能失去生态方面的知识,放弃又觉得可惜。

第三代OS
这时微软开源了SONiC,SONiC是由用户主导的社区,有长远发展的趋势,但当时几乎还没有厂家的参与。微软与阿里当时在云市场上的地位差不多,都是追赶者的角色,而Amazon和谷歌早就实现了自研交换机,所以两家的诉求是相同的。

当时SONiC的功能还不完善,但是整个系统采用了标准Linux,基于RedisDB进行系统模块解耦, SAI支持多芯片,所以整个系统的框架还是非常不错的。经过与微软的多次深入沟通,最终阿里加入了SONiC社区,一起合力构建生态,阿里也成为了社区最活跃的用户和贡献者之一,贡献了TACACS、warm reboot以及路由的性能优化等。基于SONiC阿里也开发了自己的网络操作系统——AliNOS。

004.png

在设备上,基于Barefoot可编程芯片定制了32×100G和64×100G的设备,进行了上线部署。阿里是第一家在数据中心部署Barefoot的可编程芯片的企业,Barefootst也给予了全力支持,在紧密的配合下终于部署上线。阿里的第二代自研交换机是基于博通的芯片,并且对硬件也做了自主设计研发,研发了Fishbone 32×100G和128×100G的Phalnax,在数据中心上进行了大规模的部署。基于自研交换机也构建了新一代多平面、可扩展的超大集群网络架构,单集群可最大支持超过10万台服务器。

005.png

SONiC生态

相信很多用户也希望能使用白盒交换机,赶上业界的红利,但研发门槛高,又无法像大型互联网公司一样投入大,所以这就必须依赖开源生态。目前几乎所有的芯片厂家、ODM厂家都加入了SONiC社区,国内的腾讯和百度也加入其中,SONiC生态日渐完善。

006.png

开源组织

OCP

说到开源组织必须提一下OCP ,SONiC也是OCP项目中最有影响力的项目之一。另外SAI提供了多芯片的能力,平台相关的还有ONL、ONIE。

007.png

ODCC

国内开源组织最有影响力的应该是ODCC(开源数据中心委员会),ODCC是国内最大的开源组织,每年都会发布很多技术白皮书和各种标准,目前有6个工作组,其中网络工作组中有一个最大的项目是凤凰项目。

凤凰项目
凤凰项目2018年发起,是针对白盒交换机的专题项目,目前发布了SONiC的凤凰发行版。凤凰发行版经阿里测试认证,下载安装到对应的白盒设备中,就可以直接运行,降低了白盒交换机的门槛。今年凤凰项目又发布了基于SONiC的北向API标准,感兴趣的可以到SONiC的官网进行下载。

008.png

国内白盒交换机生态

那么国内的白盒交换机生态到底如何呢?实际上国内有非常多的ODM厂家可选,这是北美所没有的宝贵资源,也是我们的优势。而且现在国家推动新基建,新基建中最主要的是数据中心建设,因此会是一个巨大的机会窗口。

另一方面中美贸易的摩擦促使很多用户有国产化的需求,现在可以说中国的白盒交换机到了天时地利人和的时期,王永灿大胆的推测,2020年是中国白盒交换机的元年。

最后王永灿提出了几点关于SDN与白盒交换机方面的问题, 目前SDN主要被用在虚拟网络中,在数据中心物理网络的发展方向一直是”傻大粗”,那么在白盒交换机的推动下,数据中心的SDN会怎么发展呢?SDN中的S(software)到底是什么?一定是集中控制的controller吗?也期待您在留言区与我们互动,发表您的观点。

视频回放:2020 SONiC产业生态研讨会


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK