2019年6月25日,由浪潮与OCP开放计算社区联合主办的首届OCPChina Day(开放计算中国日)在北京正式开启。本届 OCP China Day聚焦人工智能、边缘计算、OpenRack、OpenRMC、SONiC、OAM等前沿技术话题,来自Facebook、LinkedIn、Intel、微软、百度、腾讯、阿里、诺基亚、中国移动、浪潮等资深技术专家分享了最新技术进展。近千名工程师和数据中心从业者参加了此次大会。
OCP是全球大的开放硬件社区,2011年由Facebook发起成立,其宗旨是以开源开放的方式,重构当前的数据中心硬件,发展面向下一代数据中心的服务器、存储、网络、基础设施等创新硬件。目前,OCP核心会员超过200家。
SONiC是微软发布的开源交换机操作系统,是一个成熟的SDN软件平台,实现了数据控制面与转发面的分离,用户可以采购白牌交换机搭载SONiC实现不同的网络功能,SONiC使得用户能够更快的调试、修复并测试软件,通过改变软件策略和拓扑实现新的网络架构,让网络实践更为灵活。
在本次OCPChina Day上,来自微软、阿里巴巴的专家共同分享了SONiC的最新进展。
以下为大会演讲实录:
XinLiu, Microsoft Principal Product Manager:SONiC开源交换机系统,2018年微软在管理上做了很大的投资,在性能和容错上也在不断进步,实现对Chassis的支持
XinLiu, Microsoft Principal Product Manager
主持人:我们上午最后一个主题分享是有关SONiC。阿里是其中一员,跟微软一起在SONiC的推动上起到了应用,我们今天也请到了微软的LiuXin女士,她会协同BaiWei先生一起讲讲SONiC的故事。
Xin Liu, Microsoft Principal Product Manager:很高兴今天来到这里跟大家分享SONiC在过去三年中的进展和前瞻,今天有三个部分,第一个是回顾一下三年来的发展,BaiWei是来自微软研究院,会讲述一个最新的技术。永锋来自阿里巴巴,他会介绍阿里巴巴网络的进展以及SONiC的应用。
今天有很多新的面孔,在我们讲SONiC进展之前先回顾一下什么是SONiC?SONiC是基于linux开源的交换机操作系统。它跟传统的操作系统有很多不同,最关键的让大家记住的是两点,第一,它是基于在SAI上面的,在没有SAI之前所有的芯片通过自己的SDK,跟上层的软件通信,相当于用自己的方言跟上层的操作系统通信,SAI把这个方言标准化,大家的芯片用同样的语言给上层的控制软件交流,因为有了SAI,所以才能建立一个操作系统。
第二点,SONiC的特点,他给我们带来非常多的好处,第一,能够让使用者非常好的使用自己需要的功能或者性能好的东西放在操作系统中。第二,他有很好的扩展性,使用者无论需要增加新的功能,还是改变一个Droker,还是开发新的东西都不需要做太大的变化,只需要对一个局部做出改变。
因为有了比较开放的系统结构,有了linux,有了Dorker这个非常丰富的生态系统,我们可以看到,在SONiC之上,大家建立了很丰富的管理软件,可以建立自己的解决方案。
过去三年做了很多事情,2016年起,SONiC有很多大的项目,在那个时候SONiC只是一个非常简单的,L2L3,但是它有一个良好的骨架,它有Containerzed结构,为我们以后在SONiC上做各种的翻新打下良好基础。2017年对性能做了很大的投资,提供了丰富的PO/S Spost,全面支持IDV ,我们也展示了融合用Dorker做协调工作。
2018年在管理工作上也做了很大的投资,我们发现SONiC带来的不仅是性能上的优化,而且它能够让数据中心的经理在上面建立一个管理系统。
我们做了ConfigDB,这使得管理者控制和配置。
在性能方向上或者容错方向不断的进步,从2017年开始加上了严格的要求,这个延迟时间只能小于80秒,2018年可以做到小于1秒或者零秒。往前看,我们会提供更丰富的性能,我们会加强测试以保证质量,我们也会在深度学习方面做各种投资,方便参与开发测试和使用。这是在软件方向的进展。
在社区有三个方向,在第一个阶段因为它的吸引力,不断的有团队加入到里面,第二个阶段,我们有不同的厂商和IT公司开始使用SONiC在他们的网络中,比如我们知道的阿里巴巴、腾讯,领英和微软都把SONiC作为他们网络的基础。2019年公司开始商业服务,SONiC发展成支持不同的业务。
下面把时间给Bai Wei。
微软研究院Bai Wei:很高兴跟大家分享一下SONiC如何支持的。SONiC在生态环境里得到大规模部署,目前部署主要在T0和T1这一层,所以带来的问题是,如果在T2和T3的Chassis交换机上,是没有SONiC的。那么只是用Chassis交换机,就是体积越来越大的交换机,我们可以看到,这种Chassis有很多很好的优点,比如Power efficiency非常好,Port Density非常高。
我们的基本思想,我们要把原有的Chassis黑盒子打开,我们仍然有前端和后端的芯片,我们中间是用一个标准的以太网相连,熟悉数据中心网络的朋友一定知道,其实数据中心互联的基础,我们是在用连接构建数据中心的方法构建Chassis内部网络,网管们可以运营数据中心内部的网络。在构建Chassis过程中,我们借鉴了很多传统Chassis的优点,我们把Chassis的功能放在红色的芯片上,然后我们前端的SONiC互相通信,广播路由信息,后端的SONiC完全不知道,如果前端SONiC互相知道路由信息,他们怎么把包转发给彼此,我们用了一个虚拟化隧道,一个前端收到一个包以后,实际上每家网络的需求和痛点不一样,但是在SONiC的开放平台上一定可以定制出一款让你满意的解决方案。
Liu Xin:我们做了这么多工作和成绩,实际上跟我们的合作伙伴分不开,我们有阿里巴巴、腾讯等等,2019年很多中国本地公司也加入了我们,非常感谢。
然后把舞台交给阿里巴巴的高级专家刘永锋先生。
阿里巴巴高级专家刘永锋:阿里巴巴通过SONiC的大规模部署实现了高带宽和低延迟,而且做了大量个性化开发,很好地推动了阿里巴巴业务创新
阿里巴巴高级专家刘永锋
阿里巴巴高级专家刘永锋:大家好,我来自阿里巴巴,我在阿里巴巴的基础设施网络研发部门负责SONiC的研发,非常高兴今天有机会在OCP中国日跟大家分享阿里巴巴在网络基础设施方面的技术关注点以及我们和OCP合作在SONiC上面产生的技术成果和创新。谈SONiC之前首先谈一下阿里今天面对的网络挑战,大家可以看到今天我们作为阿里巴巴的基础设施是在支持我们的业务部门,也就是大家熟知的天猫、淘宝、支付宝、优酷、高德、阿里云这样的互联网服务,提供给全球的用户,让他们有一个非常高质量的用户体验,在这个背后我们有一张全球的网络去支持他们提供高性能和低延迟的服务。
对于今天这么大规模的互联网服务来说,一个大的特点就是它的超大规模,在这个超大规模的背后给我们带来了非常多的挑战,这个超大规模大到什么程度呢,大家已经在前面很多嘉宾的分享里看到了,我们的网络连接的是上百万台的服务器、上千万个虚拟的虚机,我们要提供25G、100G,高性能和低延迟要支撑一张非常大规模的网络。同时在这么大规模的网络之后,我们每天都数以秒计的产生很多业务信息、网络信息和网络数据,我们必须有足够的能力去及时处理,对于故障的发现、恢复和隔离我们都能够做到快速有效的保障,这些都取决于我们怎么构建底层的基础设施。我们这么大规模的网络并不是一个静态的网络,它是一个动态的网络,我们的业务随时在交互,我们的用户需求随时在变化,我们的基础设施必须能够秒级的满足客户的需求,所以我们在背后要有一个算法驱动AI驱动的调度系统灵活调度我们的网络资源。这些东西都要求我们能够有一个非常稳健的基础设施去提供服务。
往我们网络底层的技术去看,这是对我们最近几年阿里巴巴在网络基础设施上面的技术演进的小总结。大家可以看到2014-2015年这个时间段,我们更多的网络研发的重点是在纯软件的优化上,我们引进了像DPDK这种用户态的协议站替代我们的性能,取代了传统硬件对我们的限制,在交换机上我们尝试着用一个独立的软件运行在一个裸金属的switch上,让我们的软硬件自主可控。随着我们对软硬件上的把控,到2016、2017年我们快速enable我们的硬件,底层网关数据从10G、40G快速演进到25G、100G,网关快速进入到400G时代。随着硬件的快速落地,进入到2018、2019年大家可以看到一个很明显的趋势,软硬件的融合进一步加剧了,随着我们在软硬件上面能够全栈的把控技术,我们快速引入RDMA这样的技术在我们的数据中心集群里大规模使用,我们可以引入可编程芯片这样的最新的硬件能够软硬件结合的解决一些新的灵活性的业务需求。
我们从纯软件到快速的硬件演进再到软硬件的高度融合,进入到了一个崭新的网络基础设施的技术时代。刚才那张表是一个时间表,我给大家分享一个比较特别的视角。传统的物理网络都是由一个个硬件的纯Switch构建的,但是我们的软件网关又是一个传统服务器形态的网络设备,在我们基础设施这层可以把它打平了看,大家可以看到当我们的软硬件随着软件站和硬件站的自主可控,从底层25G、100G的物理网络到RDMA这样的低延迟的技术应用,我们很快可以在交换机和服务器侧把这个技术落地,更高的应用层面可以从交换机的物理网络到网关的应用网络,可以apply一个统一的调度系统,可以做到端到端的网络质量的遥测,我们还可以做到定制化的高可用。虽然这两张网络运行的软件站是不一样的,它们的应用是不一样的,但是我们可以通过一套技术站来统一它们。
接下来回到今天的主题,OCP的SONiC项目,阿里巴巴从2017年就加入了SONiC社区,之后我们就和社区一起合作针对于阿里对网络的需求以及通用的和定制化的需求,我们都做了非常深入的开发。今天大家都非常好奇,我们阿里使用的SONiC版本和社区的版本有什么区别。除了针对阿里网络架构一些特定的需求之外,我们大多数的开发应用都回馈到了社区,所以大家可以看到阿里的很多需求代表很多国内用户,包括腾讯百度他们的需求和我们都非常类似,在这些需求上北美的用户跟我们的需求是有差异的。我们列出的TACACS认证的支持、VAN-TRUCK的支持、我们做到的(英)都是阿里贡献到社区的部分。我们还在SONiC做到了性能提升。
总而言之,我们在SONiC社区上做的贡献,阿里运行的版本和社区版本是同步的。
基于SONiC这样一个开放平台,大家在数据中心网络的创新上可以做到很多根据自己的业务场景带来的业务上的创新,有了这个streaming接口,和传统的相比,我们可以把北向接口简化,我们不仅可以做状态的获取,还可以做配置的下发,是一个统一的GRPC通道,这在我们交换机的事先上就被大大简化了。
因为我们是基于一个非常开放的SONiC系统,SONiC可以帮助我们根据我们自己的网络架构建立一套系统,使得网络运维的时候自动线上变更之前可以在线下做软件升级和配置变更的演练,这样可以大大的提升我们网络的稳定性,提高网络的可用性。
最后,我们的业务对于可用性非常敏感的地方,我们基于SONiC做了一个当故障发生之后或者我们要做软件升级的时候通过服务器和交换机端到端的定制,我们可以做到无损隔离,甚至可以做到零丢包,基于SONiC开放系统我们把很多之前的不可能变成了可能,所以在这里借助OCP这个平台,非常感谢有这样一个组织能够让我们大规模的互联网用户分享我们对于网络运维的需求、软硬件的需求和一些思考,也非常欢迎大家加入到SONiC社区来,我们希望能够把SONiC变成数据中心网络甚至未来边缘计算的一个实施上的标准,这就是我今天带来的分享,谢谢大家。