审校 | 孙淑娟
大多数IT主管可能都熟悉DevOps和DevSecOps这两个概念。然而,NetDevOps这个新模式引起了很多人的关注,尤其与网络专业人士特别相关。
与其他新兴技术一样,NetDevOps的定义因提供者而异。但在基本层面上,该术语指的是DevOps原则在计算机网络中的应用。
Gartner公司负责网络业务研究的副总裁Andrew Lerner说,“NetDevOps是一个非常热门的话题。但第一个问题是先要了解它是什么,因为有不同的定义和看法。”
1.什么是NetDevOps?
根据Gartner公司的定义,NetDevOps是需要将持续集成/持续部署(CI/CD)的DevOps概念应用于网络活动。Lerner说,用于描述该模式的其他术语包括NetOps 2.0、网络即代码和GitOps网络。研究机构GigaOm公司表示,NetDevOps将网络基础设施的抽象、编码和实施作为代码(IaC),使用编程的自动化工作流程来消除配置漂移,从而在网络中嵌入质量和弹性。Lerner表示,为了利用NetDevOps,企业需要有一个自动化的管道,包括分段、前/后验证和网络活动的测试,例如配置。 GigaOm对此表示认同,并补充说NetDevOps管道可以将来自不同开发环境的代码交付到生产环境中,并在这一过程中触发全面的验证和合规性测试。 该公司表示,NetDevOps还包括持续监控、测量和响应,在检测到配置偏离所需状态时自动触发修复警报。
2.NetDevOps有什么好处?
鉴于其DevOps根源,NetDevOps有许多相同的目标是有道理的。独立网络自动化架构师Joel King说,“DevOps有四个原则:整体系统思维方法(查看整个系统,而不仅仅是某一部分)、没有组织孤岛、快速反馈,以及减少工作量的自动化。”King指出,网络运营一直落后于支持企业IT基础设施的其他功能领域,尤其是在通过网络可编程性实现自动化方面。 King说,“要部署支持企业的新应用程序或服务,计算、存储和网络组件都需要更改配置或采用新硬件。这些更改通常是由工程师在终端窗口上人工键入完成的,并且可能需要通过正式的更改控制流程进行审查,并在非工作时间发生的时间段内实施。”
King说,可能需要数周或数月的时间来影响支持应用程序需求所需的基础设施变更。他说,“自动化基础设施变更是减少部署新应用程序或服务所需时间以满足业务需求的一个基本组件。”Lerner说,“NetDevOps有助于提高敏捷性,对于实施基础设施即代码的企业尤其有价值,因为网络通常是一个瓶颈。NetDevOps实践推动了清晰的工作流程和文档,这有助于审计、治理和故障排除。” NetDevOps的另一个好处是它可以在IT内的各个部门之间实现更大的协作,就像DevOps对开发和运营所做的那样。 软件开发商GS Lab公司的首席架构师Sameer Mahajan说,“NetDevOps在网络开发团队和运营团队之间架起了一座桥梁,这两个团队有不同的职责。开发团队负责代码开发和测试,而运营团队负责环境、IT架构、部署、可用性等。”
Mahajan表示,传统上,在将开发中的代码投入生产时,会涉及多次切换。他说,“导致软件质量问题、延迟和团队成员的挫折感。NetDevOps通过自动化这个过程并使其无缝化来解决这些问题。它提高了部署网络更改的效率,并减少了错误。” Mahajan指出,NetDevOps至少有七个主要用例,其中包括设备配置、数据收集和遥测、合规性检查、迁移、报告、故障排除和配置管理。
3.NetDevOps部署的障碍是什么?
迄今为止,NetDevOps尚未得到广泛实施。Lerner说,“我们估计,目前只有2%到10%的企业积极使用NetDevOps实践。”企业需要解决部署NetDevOps的许多障碍:
风险规避:“数据中心中断的影响是巨大的。因此,网络团队不愿承担风险,对自动化数据中心网络缺乏信心。NetDevOps实践需要准确存储最新的网络信息库存、位置等,这在许多企业中并不常见。”
- 技术债务:“从单一供应商和配置的角度来看,异构环境形式的技术债务是另一个障碍。当然,与网络活动相关的不一致或未记录的工作流程限制了采用。”
- 技能短缺:“我们建议通过将招聘和培训重点转移到特定软件能力上来投资人员,包括Ansible和Python、社区论坛以及与相邻DevOps人员沟通交流的网络团队。”
- 文档:“NetDevOps实践需要准确的最新网络信息存储库,这在许多企业中并不常见。”
- 文化:对于许多企业来说,采用这些原则代表着一种重大的文化转变。他表示,文化中缺乏信任、自上而下管理,并实施严格的变更控制的企业可能在实施NetDevOps时遇到问题。
4.如何开始使用NetDevOps
实施NetDevOps完全与流程、组织和培训有关,而不是技术。King说。“对员工进行技能评估是必要的第一步。许多网络工程师没有时间、兴趣或能力成为网络程序员。然而,一些网络工程团队可能会发现学习编程技能是一项新挑战,而提供学习机会将使团队受益。”
King说,创建主题专家(SME)可以与程序员协作的一个团队结构是一种很好的方法。此外,企业可以创建卓越中心来展示由中小企业和程序员组成的集成团队的工作方式,然后将这种团队方法应用并复制到IT运营的其他领域。 Lerner表示,除了投资培训之外,准备进入NetDevOps的企业还应该为员工提供足够的时间来获得新的流程和工具。
“将网络团队与敏捷团队和DevOps团队进行交叉培训。”他补充说,网络团队需要在版本控制系统中捕获和存储设备配置和运行网络状态(例如活动路由表)。 为设备类型创建标准模板、应用版本控制、跟踪配置偏差以及尽可能使用自动化也是一种很好的做法。 他补充说,“需要实现变更前和变更后的验证自动化,环境前和环境后测试也要实现自动化(例如延迟/可用性检查),并且测试和配置回滚也实现自动化。”Mahajan说,归根结底,这要创造一种支持NetDevOps的新文化。他说,“企业应该转变为以自动化方式进行小规模而频繁的改变的思维方式。微小的变化降低了风险。频繁的更改有助于使环境保持最新状态。而自动化模式减少了人工干预,减少了出错的可能性。”
5.如何在通往NetDevOps的道路上保持成功
启动NetDevOps计划是一回事,但要长期保持成功也需要持续努力。
King说,“维护NetDevOps战略需要管理层在时间、培训和组织结构方面进行培养和投资,以实现成功。这些变化是长期投资。”King表示,让团队能够在早期取得一些小的成功非常重要。他说:“从节约成本、提高员工满意度、更快地向利益相关者提供价值并使其对管理层可见等方面,获取这些成功的指标至关重要。”King说,投资于团队的持续学习和实验以扩展他们的能力也很重要。他说,“为员工提供改进工作或创新的时间,并调整现有流程以纳入这些创新。”
6.如何衡量NetDevOps的成功?
Mahajan说,“成功的衡量标准是网络更长的正常运行时间、更少的错误以及在最新版本的更改上维护环境。”使用NetDevOps时,企业不必孤军奋战。Lerner表示,虽然这更像是一个流程,而不是商业供应商的产品,但有些供应商可以帮助企业在其组织内启用NetDevOps。其中包括Network to Code、Itential、HashiCorp、Arista等,它们提供基础设施即代码和其他网络自动化功能。GigaOm表示,预计未来几个月市场将迅速发展。他说,“新的参与者将凭借精益、创新的解决方案脱颖而出,而成熟的网络供应商将通过收购解决方案供应商和扩大关键合作伙伴关系进行竞争。” 随着不同的NetDevOps供应商和可用选项以及环境的演变,选择最佳NetDevOps工具将取决于企业的用例、现有软件基础设施、架构选择和内部能力。
对于希望实现自动化并加速向数字化运营转变的企业来说,许多企业可能会将NetDevOps作为努力提高网络性能和可靠性的工作重点。
原文链接:https://www.networkworld.com/article/3665915/what-is-netdevops-and-how-can-it-help-it-meet-business-goals.html