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

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

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

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

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

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

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

为什么做自研?

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

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

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

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

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

阿里的自研之路

第一代OS

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

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

第二代OS

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

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

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

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

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

SONiC生态

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

开源组织

OCP

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

ODCC

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

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

国内白盒交换机生态

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

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

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

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


  • 本站原创文章仅代表作者观点,不代表SDNLAB立场。所有原创内容版权均属SDNLAB,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用,转载须注明来自 SDNLAB并附上本文链接。 本站中所有编译类文章仅用于学习和交流目的,编译工作遵照 CC 协议,如果有侵犯到您权益的地方,请及时联系我们。
  • 本文链接https://www.sdnlab.com/24458.html
分享到:
相关文章
条评论

登录后才可以评论

大脸肥飞猫 发表于20-09-23
1