网络变更管理流程包括5项基本原则,其中包括风险分析和同行评审。这些优秀实践可以帮助网络团队限制失败的网络更改和中断。
网络变更管理是旨在减少变更失败风险的过程。这个流程需要几个步骤来确保成功进行更改,但是每个步骤如何开展工作?
飞机驾驶员通常会使用定义明确的流程来确保飞行安全。同样,网络团队可以使用定义的流程来减少因网络更改失败而造成计划外停机的风险。即便如此,组织有时仍发现更改未按计划进行,从而导致停机。有些故障是由于流程故障引起的,而另一些故障是由于复杂配置的明显影响所致。
网络变更管理过程依赖于几种基本操作原理的应用,例如:
- 范围确定和风险分析
- 同行评审
- 部署前测试和验证
- 实施和测试
- 文档更新
网络团队在更改管理流程之前执行创建更改详细信息的过程新配置、设备连接信息和文档)。思科公司发布的“变更管理:优秀实践”白皮书就是一份网络变更管理的重要指南。
1.范围和风险分析
网络变更管理过程的第一步应该是评估提议变更的范围,确定哪些服务可能受到影响以及谁使用这些服务。而“爆炸半径”一词通常用于描述变更可能产生的影响范围,其中包括可能的负面结果。
团队将希望根据以下两个因素来衡量范围:
(1)变更影响的端点数量;
(2)变更可能影响的服务的重要性。
一旦团队确定了范围,他们应该对变更进行风险评估。这是过去做过很多次并广为人知的事情吗?它是完全自动化的,还是人为错误会以意想不到的方式更改?是否对所涉及的技术了如指掌,或者是否有可能发生意料之外的事情?
变更的范围将会计入风险。与更改小型分支站点相比,对运行关键业务流程的基础设施进行更改将给业务带来更大的风险。
网络团队可以使用风险因素计算器为关键参数赋值。若要创建风险计算器,需要从下面的示例参数取平均值,或在网上搜索计算器。
- 效果是否对客户可见?(否=1,是=10)
- 有多少客户可能受到影响?(范围为1到10)
- 服务在范围内有多重要?(范围为1到10)
- 过去是否已成功实施此更改?(是=1,否=10)
- 变更是否自动化?(范围为1到10,取决于自动化程度)
- 更改可以在实施之前进行彻底测试吗?(是=1,否=10)
- 供应商文档是否清晰明确?(范围为1到10)
- 同行评审是否彻底,是否发现了任何潜在的问题?(范围为1到10)
风险越大,在其余的变更管理过程中,团队就需要越谨慎。
2.同行评审
下一步是进行同行评审。尽管团队可以在风险分析之前实施这一步骤,但最好使用风险级别来推动同行评审的彻底性。尽管所有同行评审都应进行比较透彻的检查,但常规更改(例如访问控制列表更改或修改虚拟LAN)可能会收到粗略的审核。自动化测试和例行变更的部署可以帮助减轻同行评审的风险。
熟悉网络的内部人员将进行大多数同行评审。但是,如果更改与众不同,请设备供应商的专家进行审核是有意义的。评审应该反馈到风险分析阶段,可能会更新技术风险度量,例如指示测试和文档是否足够。
3.部署前测试和验证
在理想情况下,所有更改都将经历部署前的测试和验证阶段。低风险、重复性变更的自动化可以消除诱惑,避免对团队认为低风险的变更进行测试。当然,范围和风险越大,适当地测试和验证提议的更改就越重要。
虚拟路由器和交换机操作系统实例的普及,使得自动化测试网络拓扑的创建变得更加容易,而无需昂贵的硬件投资。团队将需要构建自动化来创建虚拟网络拓扑,并在测试成功完成时将其拆除。
部署前测试包括团队应遵循的几个步骤来评估建议的更改:
(1)在更改之前,需要验证测试网络当前是否按预期工作。
(2)在测试基础设施中实现更改,以确认更改结果为所需的最终状态。团队应该使用自动化流程来避免人为错误,并减少验证更改的时间。如果测试环境中的验证失败,需要确定原因。到底是因为更改不正确而失败?还是因为测试网络不能准确地表示真实的网络?
(3)测试回退更改过程,以便在出现问题时很容易恢复到先前的状态。撤消更改应使网络返回到初始状态,团队可以通过重复步骤1进行验证。
4.实施和测试
部署前和部署后测试和验证步骤应遵循与部署前测试的步骤1和步骤2相同的过程。如果团队在部署前的测试和验证方面做得很好,则不会发生任何意外情况。如果变更后测试检测到意外问题,团队应撤消变更并验证服务是否已恢复。
在更改大型网络后,某些网络协议将需要更多的时间来聚合,这要求更改后的验证过程包含延迟或聚合测试,而在小型测试环境中部署前的测试不需要这些测试。
越来越多的组织正在自动化网络配置更改,目标是迁移到基于基础设施作为代码的DevOps文化。目的是针对低风险更改采用持续集成和持续部署测试以及部署过程。
5.文档和网络管理更新
在理想情况下,团队将在更改创建过程中创建和更新文档,使他们能够查看文档和网络管理更改以及更改的详细信息。一旦团队实施并验证了更改,他们便可以将文档更改合并到网络文档系统中。
不要忘记根据需要更新网络管理系统。大多数网络管理系统都有API、这些API支持自动化流程进行更改。
如果更改验证步骤是自动化的,则可以将其合并到定期的网络验证检查中。这些定期检查可以检测高度冗余和弹性网络中的故障。随着时间的推移,团队将建立一个覆盖网络许多部分的网络验证检查库。
良好的网络变更管理原则为减少因变更失败而导致的计划外网络中断提供了方向。团队应创建适合其组织的流程,并努力使这个流程更加高效。