DevOps 原则是怎样应用到网络部署中的?

  • Hrishikesh Barua
  • 王强

2018 年 1 月 25 日

话题:DevOps

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

DevOps 领域的实践正在应用到网络服务管理行业。供应商硬件、配置工具和部署模式已经简化了网络设备和功能的可编程配置与自动化设置。

在应用网络自动化实践方面,来自 DevOps 的一些建议包括:网络即代码的理念(类比基础设施即代码)、作为 CI / CD 管道的一部分进行编制、选择可以用容器等小型单元部署的网络功能、将混沌工程原理应用于网络服务交付、以及使用监测工具进行测量和预测。在某些研究中,人为因素被认为是确保网络可靠性的一个关键因素。

网络即代码本质上是明确网络应有的的特征和行为,并使用工具将该拓扑逻辑部署到物理网络上。人们正在应用自动化工具来管理网络设备 - 从开通到配置,到基于策略的变更管理都用上了自动化。虽然网络设备配置的思想已经存在多时,但是像NETCONF这样的标准,直到最近才开始被应用到自动化工具集中。Ansible 去年推出了用于网络基础设施自动化的模块,支持来自众多网络供应商的硬件。 Saltstack 有类似的模块。其他项目,如NAPALM(网络自动化和多供应商支持的可编程抽象层)有 Ansible 和 Salt 的插件,并提供统一的 API 来编程网络设备。

虚拟实例用于联网功能,例如在虚拟机上运行而不是嵌入到专用硬件设备中的防火墙,已经成为在生产环境部署这些工具之前对其进行实验的催化剂。在电信领域这种做法大行其道。虚拟网络功能(VNF)开始应用在虚拟机和容器中,其某些功能类型更适合容器化。通过软件定义网络(SDN,一种配置网络设备的编程方式)交付的服务数量越来越多,也使自动化更加流行,因为这些设备适合通过脚本进行配置。混沌工程在网络领域仍处于起步阶段。

网络通常由用于监视堆栈其余部分的工具进行监测,其中一些工具针对网络特性做了更多优化。

查看英文原文How DevOps Principles Are Being Applied to Networking

感谢冬雨对本文的审校。

DevOps