SONiC/SAI诞生这么些年,为何开放网络依旧难以落地和普及?
关注星融元
在开放网络这一新型的交付模式下,行业需要的是一种新型的技术供应商,一个服务全生态的,专业、可靠的合作伙伴,并且基于标准的开放网络规范,为行业交付高可用的企业级产品和服务,弥补当下存在于开源项目和实际生产应用之间难以跨越的鸿沟。
我们都知道,想要高效利用云中的各类资源,需要云变得更灵活、更有弹性、更易于运维。这对云中的网络设备提出了更为具体的要求,例如开放接口、软件定义、模块化构建、快速迭代等等。
然而传统封闭的网络方案是围绕着特定厂家的硬件和软件来搭建的,难以适应生产环境中快速变化的市场需求。于是,各大云巨头开始尝试用更加创新的方式构建起了更加定制化的云数据中心网络,逐渐有了我们所说的开放、解耦的网络解决方案。当前比较主流的开放网络方案便是微软发起的 SONiC/SAI项目,已经有越来越多的企业和组织选择基于SONiC的开源NOS和开放的硬件交换机,构建他们的自己云数据中心。
以前,各类企业/组织采用封闭的网络解决方案构建支撑自己业务的网络基础设施,往往需要与供应商协商产品Roadmap,或开发/变通复杂的解决方案,为此花费了很多的时间和资源。
现在,开放网络的特性天然有助于加速新特性的落地和新方案的快速验证。并且正因为SONiC和硬件交换机充分解耦,各类用户在网络设备上的选择上也变得更加自主可控,他们可以根据实际去选择不同类型的网络硬件平台来开发验证新的网络功能,而不是把自己的业务构建在专有的硬件或者特定的芯片上,从而避免了被单一厂家的产品方案所锁定。
开放网络,机遇与挑战并存的广阔天地
我们或许需要上升到产品交付模式的改变才能更好剖析开放网络兴起给业界带来的巨大变化。
在传统的交付模式下,
技术创新和价值创造呈现出单一的链式传递:设备制造商对接上游供应商,最终用户只需要跟着选定的设备制造商的产品和解决方案缓慢升级。我们可以想见,在数据中心业务高度市场化,各类创新业务快速发展的今天,这种看似稳定简单的模式埋藏诸多隐患,某种意义上犹如温水煮青蛙。
而开放网络的交付模式则类同网状结构,
整个生态以开源组织和项目为中心,围绕着各大开放网络软件制造商、白盒厂商以及最终用户。参与技术创新的角色不再局限于各类软硬件供应商,而是扩展到了最终用户。在该模式的理想状态下,只要具备一定技术能力的终端使用者都能基于实际需求自主开发各类网络功能和应用,并且这种技术创新也会以不同形式反哺到开源组织和项目中,共同促进整体生态和行业的蓬勃发展。
开放网络技术的诞生给市场提供了一个区别于传统方案的,更加灵活、自由、开放的选择,从而带来更大的技术创新空间和机会。
为未来欢欣鼓舞的同时,我们也必须承认理想和现实之间的差距——正是从“链式”到“网式”的转变,使得各方需对接的角色大大增多:芯片供应商,以及终端用户不再只是面对设备制造商,还要面对网络软件和解决方案厂商以及各种开源组织和项目。这无疑是对业界各类参与者提出了更多、更大的挑战。
阻碍开放网络方案落地和普及的主要原因
具体而言,现阶段有以下因素较为明显地阻碍了以SONiC/SAI为代表的开放网络技术在生产环境的落地和普及。
1、网络开发相对小众,开放网络存在较高的技术门槛
如果想要使用开源NOS(即便是SONiC/SAI),你可能不光需要掌握传统的网络协议、网络设计能力,还要同时具备更为现代的NetDevOps、嵌入式软件开发技术,甚至是设备底层硬件知识等等。一层层的技术门槛拦住了很大一部分有变革之心的企业,与此同时这也解释了为何目前大规模使用开放网络的场景仍然集中于技术大牛云集的互联网头部大厂之中,开放网络的技术红利未能惠及到更为广泛的客户群。
不仅仅是最终用户,上游制造商也在承接着开放网络抛出的新课题。各大硬件/芯片厂商需要从以往的面向芯片的设计转变为面向实际的业务应用,同时还需要增加额外的投入来实现SAI;除了数据平面外,厂商们还要解决很多与Platform相关的课题(如Platform Driver Development Framework,Open Network Linux Platform,私有API…等等),并且保证多芯片平台的实现一致性(因各厂家对SAI的理解程度不一致、接口的完成度也差别很大,导致不同特性在不同芯片平台上存在很多差异)。对于开源NOS厂商,开源NOS核心组件平均1~2年的迭代速度,远快于传统商用NOS的5~8年,这也是对生态内成员技术能力的巨大挑战。而我们熟知的传统大厂,在其成熟庞大的主营业务线之外会在开放网络领域真正投入多少呢?这点可能还需要细细探讨一番。
2、社区生态不完善,开源产品闻起来香,用起来苦不堪言
- 几乎所有开源项目的“通病”:社区版软件功能集受限,稳定性差,文档有限,缺乏持续的技术支持,维护升级长路漫漫
- 本质还是受限于技术能力,大部分尝试使用开源产品的用户其实只能拿社区版将就着,对于二次开发显得有心无力,使用体验大打折扣
- 少数有能力修改的用户,不一定会把修改贡献到社区,大多数时候各自为政,如果算下重复造轮子的人力物力投入,业务交付效率不一定高
虽然在路标规划、项目管理、质量保证上,前文提及的SONiC/SAI开源项目和一般的开源项目相比已经有很大的改进,但仍存在以下无法忽视的问题:
- 企业个性化需求难以被接纳
- 方案讨论和评审时间长
- Pull request时间不可控
以上种种都导向了这样的结论:单凭社区开源项目支撑,行业用户的实际需求难以得到保障。
如何破局?
我们认为:在开放网络这一新型的交付模式下,行业需要的是一种新型的技术供应商,一个服务全生态的,专业、可靠的合作伙伴,并且基于标准的开放网络规范,为行业交付高可用的企业级产品和服务,弥补当下存在于开源项目和实际生产应用之间难以跨越的鸿沟。——而这,正是星融元正在做的。
星融元自成立之初便选定了SONiC,凭借着百人规模的SONiC开发团队在开放网络领域的深度参与和持续耕耘,已经围绕着我们的企业级SONiC发行版 – AsterNOS 构建了软硬芯一体的开放网络解决方案。
- 在NOS层面,我们基于标准的Linux、SONiC和SAI做了大量面向生产网络的功能增强,并将多年积累的研发成果不断迭代,最终为用户提供的是一个功能强大,简单易用的NOS——AsterNOS,一套NOS支持从云到园区各类网络场景。
- 为了让AsterNOS真正在实际生产网络中发挥出极致性能,我们针对不同的场景为其适配了不同芯片能力,自主设计了全开放架构的硬件平台,推出了面向不同行业和应用的可编程交换产品和解决方案。
星融元Asterfusion一直是国内外主要开源社区的积极参与者和贡献者,期待与行业伙伴和用户共同探讨开放网络时代的无限可能。
- 对于希望使用原生SONiC的企业用户,星融元提供全面的技术与咨询服务,帮助用户在选定的硬件平台上快速地完成开源、开放云网络系统的构建与部署;
- 对于希望使用一站式解决方案的用户,星融元可以基于AsterNOS、可编程交换硬件平台、Asteria SDN云网控制器,以及易用的操作界面、全套的手册、完善的支持,提供Turn-key方式的交付与部署,帮助用户轻松享受新一代的云网络技术为IT系统带来的快速与便捷。