什么是 DevNetOps?

什么是 DevNetOps?

DevNetOps 是向网络运营 (NetOps) 应用 DevOps 理念、原则和行为。DevOps 理念源自 1980 年代至 19 世纪之间发生的软件工程文化和精益制造革命。这些原则通常称为 CALMS — 文化、自动化、精益、测量和共享。

其中引用最多的一个 DevOps 原则是瀑布式方法 — 其中扩展的规划、构建和测试周期分较长的顺序阶段进行。如 The DevOps Handbook 中记录,DevOps 研究表明,对于 IT 和制造业,更小、更频繁的部署可提高运营速度、敏捷性和质量。

对于要快速实现业务目标的组织,可靠性是重要的先决条件!不具有持续性的速度会导致失败,但如果他们能够在迭代间获得改进,这种快速失败对组织来说不失为是有益的。巧合的是,DevOps 最近的常见实施是现场可靠性工程师 (SRE) 角色。同样,DevNetOps 由网络可靠性工程师 (NRE) 角色实施。

什么是 DevNetOps 管道?

DevNetOps 管道

DevNetOps 管道

为了缩短开发和部署之间的前期时间,并以较小部署更改交付件更短、更快的周期工作,DevNetOps 管道实现了工程更改和生产部署之间进展的自动化。

致力于版本化代码存储库触发了渐进构建和测试的持续集成 (CI) 管道。通过一系列自动和人工判断,候选交付有效负载在虚拟环境、模拟和实验室中经过测试,目标是实现承诺的可靠交付状态。持续交付 (CD) 管道的状态可确保承诺的交付始终处于可部署状态。持续部署自动推向分段,然后推向生产。

但是,在将更改推入运行时环境之前(如分段和生产),务必认识到更改的微型建筑单位和不可变基础架构。大的整体更改不安全,形成和验证也更缓慢。此外,与小更改数据包相比,也更难识别问题。

在持续部署之前,不可变基础架构也同样重要。部署既无效也无用,因此要让工程师修改实际部署项目的含义。生产运行时必须可复制,才能对更改进行安全测试并确定改善问题的方式。

持续监控、测量和响应是 DevNetOps 的最后一部分。对服务级别指标的生产中反馈用于对瞬时网络状态做出反应性或前瞻性调整。此外,分析的遥测、事件和外部更改请求将持续改进重新馈入网络系统的编码状态。

自动化 DevNetOps 管道摘要

工具

流程

人员

网络即代码

配置机密、构件和 gitOps 存储库

分支、查看、配对、敏捷

代码技能(不一定要编程)

管道编排

管道 CI/CD 工具,测试框架

TDD,测量判断

构建和调试技能,管道专业人士

不可变的微型架构

ZTP 的烘焙交付件,供应商折射器

小步提交/部署

免干预 CLI/TTY

编排的升级

ZTD,虚拟化,实验室,流量清空

分段和模拟金丝雀分析

小时内维护,回滚或向前

弹性设计和演练

流量生成,DoS,chaos monkey

混乱的窗口,文档限制

强制理解失败

持续测量

大数据分析,ML,ITops 集成

事件指南,容量规划

按统计数据管理,指标,效率

持续响应

自动补救,FaaS,预测性统计

监管自我驱动

工程师遥测,指标,自愈

持续改进

升级,功能,修复程序,更改

将本地经验教训记录到全球知识中

主动开放性算后检查

DevNetOps 的优势

  • 与可靠性工程一致的团队文化和行为与更小、更频繁的部署相结合,可使团队和公司表现更优异1
  • DevNetOps 可加速集成供应商系统,特别是软件升级和修补程序。它说服供应商以更快的节奏交付更小的有效负载,从而解决功能和修复程序前期时间较长的问题。它显著缩小了供应商上市时间和运营商部署时间之间的差距。
  • 对于工程师而言,DevNetOps 减少了压力(部署忧虑),提高了工作满意度。

NRE、DevNetOps 和 DevOps 之间有何关系?

DevOps 和 DevOps 工程师与业务应用程序开发和操作相关联。确实存在一个网络角色,特别是运行应用程序群集的某些类型的软件定义网络 (SDN)。但是,网络也存在于企业和服务提供商内部,与开发和运行软件应用程序及平台的域分开2。专注于企业应用程序的 NetOps 网络的一些示例包括:广域骨干网络、传输网络、回传网络和数据中心底层网络。

为了区分 DevOps 和 DevNetOps,在供应商和客户之间分离网络的 Dev-Ops,而非在同一家公司的团队之间分离。有些 DevOps 目标(如快速迭代功能和产品试验)不是网络基本基础架构的典型目标。尽管如此,DevOps 原则和优势同样适用于网络。

尽管 DevNetOps(如 DevOps)是一组理念、原则和优秀实践,网络可靠性工程 (NRE) 仍实施它们。“开发”和“工程”目标是相同的。但是,尽管 DevOps 原则提升了迭代速度并朝持续学习演进,NRE 完全关注可靠性作为其首要目标。这两个目标相辅相成:定义和原因。