积极响应客户反馈,SONiC交换机全面支持思科风格命令行
今天,我们不谈产品也不谈方案,想先给大伙分享一个客户「不成功案例」 。
来简单说说背景吧。正如诸位所见,近些年越来越多的新锐科技企业都开始有了业务上云的需求。云成为了支撑业务运转的生产力工具,云上的数据更是企业的宝贵的核心资产。
出于多方面因素,不少公司放弃了公有云方案,考虑构建一个弹性扩展、自主可控的私有云。但这无疑向云基础设施提出了严苛要求。例如云网络,就得具备低时延,高可靠、易扩展等特性才能轻松承载大批量的AI分析业务等等……当然,还需兼顾到自主建云的性价比。
D公司是国内一家创新文化浓厚的互联网科技企业,在业务上云的需求驱动下他们决定“取法乎上”——跳过所谓的”传统网络转型阶段”,直接对标海内外的云计算大厂,通过采用早已在头部大云中规模部署的SONiC方案,将开放开源的网络技术快速应用到自己的数据中心。
于是,专精于此的星融元很自然地进入到D公司的视野当中。
取得联系后,星融元的CX系列产品顺利部署到客户现场,并且最终的测试结果也十分喜人:CX系列交换机完全可以满足客户理想中的云网络需求!
不料,客户在最后关头犹豫了!
然后给星融元发了一张“好人卡”。
“你们的产品真的很好,但……”
D公司后来也解释了他们的顾虑:原生SONiC的命令行是Linux/Python风格的,而公司内部运维团队的技术能力都是建立在Cisco风格命令行基础之上。这一来所产生的学习成本,让他们不得不重新思索开放网络这件事。
寥寥几句,却引发了星融元产品和研发团队的深刻反思。
做一款最好用的企业级SONiC发行版一直是我们的使命和目标。这些年来,我们一直领先社区为AsterNOS开发了丰富的软件特性,适配了几乎所有主流商用交换芯片,并为网络自动化提供了全量的操作编程API,让AsterNOS变得更为强大、稳定……但相较而言,对于SONiC NOS在人机交互层面存在的巨大提升空间,的确显得重视不足。
意外的挫败令人无比遗憾,但也将市场的真实需求摆到了我们跟前:D公司运维团队现状绝非个例,当前IT基础设施建设转型变革的道路上,多的是这般 「心向往之而身不可至 」的尴尬。让更多的网络工程师轻松地把SONiC用起来,是推动开放网络从概念阶段走向方案落地当中不可或缺的一环。
于是星融元快速启动了针对AsterNOS命令行风格的开发工作。
KLISH(Kommand Line Interface SHell) 是一个在 Unix 系统上实现 Cisco 方式的命令行接口框架。基于SONiC开放解耦的灵活架构,开源的 Klish 已被集成到sonic-mgmt-framework 容器中作为命令行界面工具,通过AsterNOS所提供的API,我们可以很快地完成这项工作并适配到不同硬件平台。
话说回来,这正是星融元开放网络技术的价值所在:当现有功能满足不了需求时,基于AsterNOS的API,我们能以传统时代下难以想象的效率,为客户开发出新的APP来解决他们的问题。Cisco风格命令行仅仅是APP之一。
不过这可能也是让公司里“某老年工程师”最失落,也最兴奋的事。
早年间,他带着几十个工程师为华为VRP1.0进行命令行设计实现和改造,还定义出过华为VRP第一个特性路标规划。但现在作为App进行开发的Klish命令行居然不需要那么多人去改造整个OS,更没有机会把一个个类似的独立需求放进路标规划里……甚至客户完全就可以自己动手写新App来解决问题——AsterNOS能让Python/Golang程序员在容器里开发一个新应用来增强和扩展交换机,就像写个Android App一样简单、快速。
如今,版本更新后的AsterNOS已经可以同时支持两种命令行模式:标准的Linux Bash和传统商用交换机风格(Cisco风格/Klish)。
基于SONiC的AsterNOS在操作上变得更符合传统网络工程师的使用习惯。我们的工程师只需登录交换机敲上两行代码,便可进入到Klish界面快速开始工作(文末有录屏演示👇)。
无论是园区还是云数据中心,只要是在星融元的交换机上,广大网络工程师都可以继续用他们早已熟稔于心的操作完成部署,为客户大大降低了因软件平台切换而导致的效率损耗。目前,AsterNOS对Cisco风格命令行的支持已经覆盖了90%以上的常用功能,而且该项工作还在不断推进。今后星融元所有交换机都将优先支持Cisco风格。
将一次错失客户的遗憾转变为积极响应市场需求的动力,并实现了产品快速升级迭代。这一切的背后是星融元在开放网络领域多年技术积累所带来的满满信心,以及围绕客户需求长期投入的不变决心。
附录:
AsterNOS对Klish命令行的支持情况
(部分展示,持续更新中)
仅需两步!在SONiC交换机上使用Cisco风格命令行
1 admin@sonic:~$ sudo config cli-mode cli
2 admin@sonic:~$ sudo sonic-cli
3 sonic# configure terminal
切换回Bash模式?Just Exit !
退出界面视图,回到标准Linux Bash模式(部分命令可支持混配,详情请询售前)
1 sonic# exit