当网络工程师第一次使用网络设备时,他们会通过命令行界面( CLI )来完成。尽管 CLI 仍在广泛使用,但网络规模已达到新高,这使得 CLI 在管理和配置整个数据中心方面效率低下。就本机而言,随着软件行业向自动化发展,网络也不例外。
网络供应商都提供了不同的方法来自动化网络,因为他们从传统的 CLI 语法中分离出来。不幸的是,这个行业的新分支将网络工程师和 IT 组织分为两组:精通 CLI 的团队和精通自动化的团队。
这种分割产生了两组问题。首先,精通 CLI 的团队很难缩小自动化差距,从而限制了他们的增长速度。其次,寻找网络自动化人才是一项挑战,因为大多数开发人员不具备网络技能,大多数网络工程师也不具备自动化技能。
为了合并这两个组并解决这两个问题, NVIDIA 在 CLI 方法中引入了一种称为 NVIDIA 用户体验( NVUE )的范式转换。
NVUE 是一个完整的 Cumulus Linux 系统(硬件和软件)的面向对象、模式驱动模型。 NVUE 提供了一个健壮的 API ,允许多个接口显示和配置系统中的任何元素。 NVUE CLI 和 REST API 使用相同的 API 与 Cumulus Linux 进行接口。
让所有接口使用相同的对象模型可以保证结果的一致性,无论工程师如何与系统交互。例如, CLI 和 REST API 使用相同的方法配置 BGP 对等机。
目前,任何网络设备都需要 REST 和 CLI 。对象模型可以直接导入到编程语言(如 Python 或 Java )中。这使您能够为一个设备或整个设备结构构建配置。下面的代码示例显示了 NVUE Python 接口将来的样子:
from nvue import Switch spine01 = Switch() x = 1 while x < len(spine01.interfaces): spine01.interfaces.x.state = "up" spine01.interfaces.x.ip.address = “10.1.” + x + “.1/24” spine01.apply()
这种革命性方法的好处有两方面:
- 对于精通 CLI 的人来说,从 CLI 到构建完全自动化是一种进化,而不是一个全新的过程。
- 由于 REST 在开发人员中比 YANG 等其他面向网络的模型更为常见,因此没有网络技能的开发人员可以与精通 CLI 的网络工程师协作,并使团队在实现网络自动化方面迈出相当大的一步。
一个组织的日常运营自动化程度越高,它就越能专注于创新而非运营,并满足其不断增长的业务需求。
试试看
Cumulus Linux 最有价值的方面之一是能够虚拟地尝试我们的所有特性和功能。您可以使用 NVIDIA Air 从现在开始使用 NVUE ,看看您对网络 CLI 的未来和可编程性有何看法。