在构建公有云平台Azure的过程中,微软逐渐意识到传统网络设备的局限性。
于是成立了SONiC(Software for Open Networking in the Cloud)/SAI(Switch Abstraction Interface)开源项目,目标是针对Azure对网络的需求,基于标准的Linux内核重新构建一个开放的网络系统软件。
并且,微软没有将这个系统做成封闭的,而是以开放、开源、社区的模式运作;
SONiC/SAI最近几年的蓬勃发展在很大程度上也是得益于此…
图1:SONiC/SAI概念
在SONiC/SAI定义的开放架构中,传统网络设备软硬件一体的封闭架构被打破,软件和硬件被彻底解耦;就好像今天的Windows/Linux操作系统能够运行在任何第三方基于标准设计的PC/Server硬件上一样,SONiC/SAI网络软件系统也能够运行在任何符合标准的网络硬件平台之上啦!
SONiC/SAI给整个网络产业带来的最根本变革是:
SONiC/SAI全新的理念、开放的架构,很快获得了云计算时代的用户、厂商的青睐,成为云计算时代构建网络软件系统的首选。
也正因此,SONiC/SAI被OCP(Open Compute Project,开放计算项目)吸纳,成为OCP网络组的两个子项目。
SONiC构建在Linux系统之上,并且利用键值数据库(redis)、容器技术(docker)、标准化硬件接口定义等技术,使其成为一个软硬件彻底解耦、软件模块松耦合(loose coupling)、高可靠、易于扩展、开源开放的网络软件系统。
图2:SONiC系统架构
从图2我们可以看到:
经过几年的发展,SONiC已经成为云计算领域极具发展前途的开源社区之一。
星融(Asterfusion)创始团队的核心成员来自于华为、Cisco、Broadcom等知名网络企业,对于网络和云计算领域的技术和产品有着深刻的理解,创立星融之前就已经在积极跟踪、深度参与SONiC及其社区。
作为新一代云网络供应商的星融自成立之初就正式加入了SONiC社区,成为国内最早参与SONiC社区的云网络公司之一。
图3:SONiC社区成员
SONiC社区活跃的成员大致可以分为以下几类:
可见,SONiC社区已经形成了从最低层芯片到最上层大规模用户的全面生态系统,这个生态系统从硬件芯片、系统架构、系统集成、大规模应用等各个层面促进着SONiC的发展与成熟。
星融致力于为云计算时代的用户提供新一代云网络解决方案。
为了提供全开放、高性能、业务可视的云网络解决方案,星融以SONiC为内核,构建了新一代的网络操作系统——AsterNOS。
图4:AsterNOS整体架构
AsterNOS构建在标准的Linux内核与SONiC/SAI之上,基于SONiC的标准功能,星融为AsterNOS开发了一些增强特性💪🏽:
另外值得一提的是,星融还为AsterNOS提供了可编程
图5:星融云网络方案整体架构
秉承开源、开放的精神,星融积极回馈SONiC开源社区。
截至2020年4月,星融已经向社区贡献了多个Bug Fix,其中有21个通过社区评审,并被合并进入主线版本。
这21个Bug Fix具体如下:
20个针对SONiC系统,分布在路由协议(FRR、docker-fpm-frr、vrfmgrd)、应用模块(dhcp-relay、libteam、lldp)、VXLAN隧道(vxlanorch)、ACL模块(portsorch)、安全保护(copporch、ebtables)、服务质量保障(qosorch)、系统与配置管理(sonic-sfp、config、hostcfgd)、系统仿真(vstests)等模块。
除了上述Bug Fix以外,星融目前正在计划将自行开发的增强功能也贡献给SONiC社区,帮助社区进一步提升SONiC的可用性、易用性。
针对企业用户,在部署SONiC和基于SONiC进行的二次开发过程中遇到的一些难题,星融从以下几个方面,可以帮助企业用户顺利使用SONiC。
很多企业用户通过github.com下载、编译SONiC源代码的过程并不顺利,往往会碰到无法连接、下载速度慢继而导致编译失败等问题。
针对这样的问题,星融在云端为企业用户搭建了位于本地的Git代码仓库,定时、自动地克隆源服务器上的相关内容以提供本地镜像,需要使用时只要连接到这个本地的Git代码仓库即可。
针对企业的生产环境,星融编制了全面的测试用例,在基于各种交换芯片的硬件平台上对SONiC系统中的各个软件模块进行了详尽的功能、集成、性能及压力测试,并且将测试过程中发现的问题修正后反馈给社区。
在这个过程中,星融积累了对SONiC系统的深刻理解,能够提供全方位的SONiC技术咨询服务,帮助企业用户清楚明白地使用SONiC。
对于希望使用原生SONiC的企业用户,星融能够帮助用户在选定的硬件平台上快速地完成开源、开放云网络系统的构建与部署;对于希望使用一站式解决方案的用户,星融可以基于AsterNOS、可编程交换硬件平台及AFC的支持,提供Turn-key方式的交付与部署,帮助用户轻松享受新一代的云网络技术为IT系统带来的“速度与便捷”。
经过三年的发展,星融目前已经拥有了将近80名具备SONiC经验的开发/测试工程师,其中不乏具备架构能力的技术专家。因此,对于客户提出的针对网络的特殊功能需求,星融能够提供定制开发服务,将客户对需求的等待时间从18-24个月缩短到2-4周。