开源网络操作系统AsterNOS:星融元开放网络背后的的力量
在数字化经济蓬勃发展的今天,“软件定义一切”成为趋势,开源开放正逐渐从“开发者亚文化”变成一个主流的软件开发模式。而据Gartner 预测,到 2025 年,40%拥有大型数据中心网络(超过 200 台交换机)的企业都将在生产环境中运行 SONiC。未来三到六年内,SONiC 有望像Linux服务器操作系统一样,成为硬件供应商支持的标准化网络操作系统。
星融元是中国最早参与SONiC社区、并积极向社区贡献缺陷修复和软件特性代码的公司之一。从SONiC诞生之初,星融元就选择开源网络操作系统作为构建全栈开放网络的发展引擎,推出以SONiC为内核的AsterNOS开源开放网络操作系统。
选定SONiC,研发AsterNOS
几年来,随着研发队伍不断发展壮大,AsterNOS经过持续更新迭代,已经升级到4.0版本,其软件特性和芯片支持不断完善扩充,在稳定性和易用性方面也实现了极大的改进,完成了数万个现场商业部署的拷贝。
1、版本稳定 开箱即用
AsterNOS从功能特性、产品质量、组件维护等基础方面进行了改善,并结合各种典型应用场景做了足够的测试验证、缺陷修复等工作。在生产环境中,用户可以像使用任何其他成熟的操作系统一样放心执行任务。
继承源于SONiC的容器架构,AsterNOS网络操作系统的每个新增软件特性都在独立容器内运行,从而可以确保控制面的各个模块之间互相隔离、互不影响,最大限度地保障系统的稳定性和安全性;即使单个软件模块受到安全攻击出现故障,故障也会被天然的局限在该容器内部而不至于影响全局业务正常运行,同时还可以在很短的时间对故障模块进行在线升级改造,且升级时无需中断业务,从而使得系统整体的容错性和鲁棒性得到提升。
AsterNOS通过Jenkins + Testbed实现持续集成和自动化测试,对社区的Testbed功能进行增强,星融元构建了大量的自动化测试用例脚本,并能在多用户环境中进行多分支并行测试,从而保证大规模软件团队开发的质量和效率;区别于传统厂家的版本管理模型,AsterNOS采取社区化版本发行管理方法,不仅自身研发队伍按路标进行开发,也充分吸纳合作伙伴和个人开发者的代码以及缺陷修复成果,并做到每季度与社区版本同步重大问题更新,这样有效保证了在不断增强系统特性能力的同时能及时跟进社区节奏;AsterNOS还对包括teamd、lldpd和FRR等在内的其他开源组件进行定期的维护和升级,以及进行编译时间优化等,为用户带来更稳定的版本更新体验。
2、特性增强 功能强大
将AsterNOS定位于企业级的SONiC,星融元在其特性增强方面一直领先发展,在学习社区领先技术和理念的同时,并提前考虑未来如何与社区特性的融合。星融元曾于2018年,先于社区支持REST API并后续实现了和社区mgmt- framework的融合,将交换机全功能可编程API作为和传统命令行一样的管理接口提供给自动化运维工具使用。AsterNOS陆续在VXLAN、ARP Host Routing、BGP EVPN、VLAG等方面对社区SONiC进行了充分的功能增强。
星融元也把系统对ARM架构的支持作为一个主要技术目标。当前越来越多的应用程序基于ARM架构,用来满足用户兼顾性能、功耗、价格等方面的需求,对ARM架构进行适配和优化后,AsterNOS已经可以在A53这样的入门级ARM核心上全功能流畅运行,即使在交换芯片内置控制CPU的接入层交换机上,也看到了开源操作系统不断增加的新特性为其带来的各种可能。
与此同时,AsterNOS对与SONiC相伴而生的SAI也进行了很多增强。作为事实上工业标准的交换芯片功能抽象层SAI(Switch Abstraction Interface),它是打通上层网络应用和底层硬件芯片的核心桥梁。能否提供稳定支持最新标准版本的SAI实现,决定了一颗交换芯片的可用性。星融元从SAI的优化和扩展入手,在AsterNOS中对今天几乎所有主流数据中心交换芯片提供了稳定支持及适配和增强:除了历史悠久的Broadcom Trident系列,更包括具有低时延、大表项等鲜明特色的Marvell Falcon和Teralynx,以及具备数据面可编程能力的Intel Tofino、 NVIDIA Spectrum 等芯片组,甚至在最新发布的AsterNOS4.0版本中还支持了用于典型园区接入和汇聚的芯片。
单一操作系统跨芯片商用支持,为用户根据自己的应用场景和成本预算选择不同组网方案时,提供了完全相同的操作界面和用户体验,更能帮助用户更快更好地在生产环境部署中,可以使用当前不断推陈出新的网络芯片组中的那些创新技术。
3、操作便捷 简单易用
当下,DevOps已经成为云以及网络运维的主要手段,AsterNOS 集成了Python、Ansible、NETCONF等DevOps支持支撑能力,从而能够与DevOps平台自动对接,推动业务系统的正常运行和用户体验的持续提升。
和原生SONiC的命令行是Linux/Python风格不同的是,今天绝大多数网络运维工程师的技术能力都是建立在Cisco风格命令行基础之上的,因此AsterNOS开发了Cisco风格命令行,用户原有的技能和工具能够被完全重用,降低了传统网络运维工程师部署和使用开放网络时的学习难度和额外成本。
此外,AsterNOS基于REST API提供了Web UI,使得用户能够通过图形化的界面操作和管理云网络;通过对应用编排、业务调度、资源管理、策略管理等运维功能的特性增强,实现用户业务的统一规划和自动部署等。
近几年间,拥抱开放网络的公司、用户与日俱增,从数据中心到园区场景、从Underlay网络到Overlay网络、从可编程到低时延到绿色低碳。始于SONiC,持续精耕AsterNOS,星融元正源源不断地为行业输送开放网络的力量,多维度构建全新的云网络模式。开放网络生态正在快速发展和完善,它催动的数字化转型发展,或许远超乎你我的想象。