如何与网络运维团队沟通自动化

网络团队由您的同事组成,其中有些人还是您的朋友。他们应该了解真相,而您正是向他们说明真相的合适人选:自动化将如何以积极的方式改变传统网络运维(NetOps)的大部分工作。

有关企业应用开发、测试、部署、运营和维护的决策并非孤立作出。过去,网络运维人员或许掌握着控制权,任何重大事项都必须经过他们这一关才能推进。坦率地说,他们中的大多数人可能也很喜欢这种方式。

但情况已经发生了变化。如今,NetOps不再能严格掌控一切,反而要应对一群更喜欢自行其是的人(坦白说,就是DevOps人员)。而他们做的事情往往是NetOps不希望看到的,例如为新应用绕过安全协议,或随意更改应用更新的负载均衡设置。

可以说,如今DevOps从业者只是想让一切变得更好:适应性更强,更多采用自主管理而非微观管理,也更符合敏捷开发(Agile)理念。

事实上,在当今的企业环境中,DevOps要保持敏捷工作方式,就需要NetOps的支持。DevOps无法独自完成这一切(毕竟,所有这些应用都运行在底层基础设施之上)。DevOps也不能指望NetOps退居次要位置,放弃所有传统职责,这也并非企业所愿。NetOps在保障DevOps所创建应用的安全性和性能方面发挥着重要作用,并为CI/CD工作流带来重要的技能和能力。

自动化让他们的工作更高效

如果您从事DevOps工作,并希望让NetOps同事更深入地参与CI/CD工作流,首先需要让他们愿意参与,并认识到改变现状的价值。其实,这并不难,因为自动化最容易解决的正是那些繁琐、耗时且需要反复执行的日常任务。任何理性的员工都会乐于把这类任务交给机器人处理。

变更单就是一个很好的例子。您得逐一处理堆积如山的订单,手动录入每项变更,然后再仔细核对是否正确。毕竟,这已经是今天上午的第9份了,所有内容都开始混在一起,让人不禁怀疑:当初为什么要进入这个行业?难道就是为了日复一日地填写变更单?当然不是。

其实有更好的办法:尽可能自动化处理那些冗余且频繁重复的任务,避免它们拖累原本充实而高效的一天。

“根据我们的《应用服务现状报告》,已有42%的组织实现了应用服务部署自动化。”

自动化让应用更出色

公司高层希望我们先讲这一点,因为产品才是重点,对吧?谁会在乎打造产品的员工是否热爱自己的工作,对吧?(错!)

不过,减少工作中令人麻木的重复任务,还会带来一个相当不错的额外好处:让应用获得强劲的性能和安全保障。

自动化的优势在于,只要第一次正确完成,之后每次都能正确执行。

通过自动化保障应用可靠性和安全性的服务,不仅可以腾出时间投入更有趣、重复性更低的项目,还能提升这些服务的质量。这是因为,精心设计的自动化工作流不会凭空产生。NetOps工程师需要为每个自动化工作流构建适当的运行模型,从而持续获得理想的结果。

“自动化的优势在于,只要第一次设置正确,之后每次都能正确执行。”

在自动化工作流中,NetOps不仅可以继续掌控其专业领域(从而提升应用的速度、可靠性和安全性),还可以创建简单易用的自动化流程,让DevOps无需再考虑绕过既定流程(这同样有助于提升应用的速度、可靠性和安全性)。

协作让自动化蓬勃发展

几乎在所有情况下,无论是DevOps团队还是NetOps团队,都无法独自制定出维护组织关键应用和数据所需的全部解决方案。这两个团队始终需要协同合作。如今,自动化功能有助于大幅减少双方协作中的摩擦。

DevOps、NetOps、SecOps……任何运维团队都无法孤立运作。在现代CI/CD工作流中,成功有赖于制定定义明确且经过验证的方法,使其能够在复杂系统中快速、轻松地复制(即自动复制)。要为这些自动化工作流奠定坚实基础,DevOps、NetOps和SecOps必须紧密协作,各自发挥专业优势,相互支持。

无论采用何种环境(云、容器等),应用都依赖底层的应用服务、网络服务和安全服务。网络运维(NetOps)负责保障数据在网络中顺畅传输,确保应用具备可扩展性和响应能力,并确保数据在需要时可用且始终受到保护。每个运维团队都需要为降低风险发挥作用,包括应用无法按预期运行的风险、网络不堪重负的风险,以及外部威胁试图攻击资产的风险。值得注意的是,根据Puppet《2019 年 DevOps 现状报告》,推动软件开发取得良好成果的 DevOps 原则(文化、自动化、度量和共享),恰好也是推动安全工作取得良好成果的原则。

各个运维团队之间始终保持互动。整个互联网时代,IT一直以这种方式运作。但改进空间始终存在。例如,敏捷软件开发流程的出现,不断突破应用开发和部署速度的极限。当时,DevOps开始推动重大变革,转向更加敏捷的开发方法,以更快的方式实现“从代码到客户”。

速度的提升正在推动DevOps经历一场深刻变革。积极的一面是,DevOps能够更快地推进工作,并采取更主动的方式;消极的一面是,如果其他部门的流程无法以同样的方式运作,就可能产生摩擦。

直接忽视其他部门,或不理会尚未完全适应新工作方式的同事,并不可取。如果DevOps团队试图包揽一切,不仅效率低下,也难以满足实际需求。这会导致流程遭到破坏,无论是否出于无意;而流程一旦出现问题,就可能引发各种故障。受影响的不只是DevOps团队,而是所有人,包括最不应受到负面影响的客户。

要让DevOps真正发挥作用,NetOps应当成为合作伙伴,而不是对手。沟通是建立稳固合作关系的关键。DevOps需要与网络团队沟通,明确如何获取支持应用所需的服务。

通常,DevOps团队精通自动化、整体框架以及基础设施即代码等领域;而网络团队则更了解需要配置的实际架构资源,以及可用于配置这些资源的工具。通过沟通和相互尊重,DevOps和NetOps可以确定哪些环节需要自动化,以及如何以适当的方式实现自动化。

DevOps团队不妨帮助NetOps同事将自动化扩展到整个CI/CD工作流,这不会带来损失,反而大有裨益。关键在于认识到,正如DevOps团队擅长开发代码一样,也有一位或多位同事擅长配置网络和安全服务,为这些代码提供支持。不要错过帮助他们充分发挥专业能力的机会。

相关内容

《应用服务现状报告》

我们询问了全球近2,000名受访者,了解应用服务在数字化转型中发挥的作用。

获取报告 ›

视频

将网络运维和安全运维集成到CI/CD流水线中

观看视频 ›

解决方案

CI/CD流水线集成

了解详情 ›