网络开发运维NetDevOps应用路径研究.docx

上传人:lao****ou 文档编号:1106403 上传时间:2024-11-07 格式:DOCX 页数:9 大小:23.56KB
下载 相关 举报
网络开发运维NetDevOps应用路径研究.docx_第1页
第1页 / 共9页
网络开发运维NetDevOps应用路径研究.docx_第2页
第2页 / 共9页
网络开发运维NetDevOps应用路径研究.docx_第3页
第3页 / 共9页
网络开发运维NetDevOps应用路径研究.docx_第4页
第4页 / 共9页
网络开发运维NetDevOps应用路径研究.docx_第5页
第5页 / 共9页
亲,该文档总共9页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《网络开发运维NetDevOps应用路径研究.docx》由会员分享,可在线阅读,更多相关《网络开发运维NetDevOps应用路径研究.docx(9页珍藏版)》请在第一文库网上搜索。

1、近年来,随着大数据、云计算、AE区块链等技术的快速迭代,大量新技术、新理念、新方法被引入金融科技领域,推动银行业掀起了数字化转型浪潮。以IT基础设施领域为例,互联网应用的快速部署和版本的快速迭代给传统网络的维护模式带来了巨大挑战。对此,NetDeVoPS思想的出现为新时期网络建设提供了全新思路和落地方法论。现阶段,网络运维团队通常将自动化需求提交给开发团队实现,从需求提出、代码开发测试一直到正式投产,中间存在巨大的沟通成本和反复的功能测试、代码修改等环节,而基于NetDeVOPS方法可显著降低网络运维团队和开发人员的沟通成本,加快代码更新迭代频率,缩短新功能上线时间。针对上述趋势,本文从流水线

2、、相关工具和使用场景三个方面入手,深入探讨了NetDeVOPS的实践路径。一、NetDevOps流水线1 所谓NetDeVOps,业界比较通用的一种定义是“将DeVOPS的文化、技术手段、思想以及最佳实践应用于网络建设和运维”。在此模式下,通过改变传统手工操作网络设备的模式,NetDeVoPS凭借网络即代码(NetwOrkasCode,Nae)实现自动化运维,并为“运维即开发”模式提供落地方法论。NetDeVOPS通过整合自动化工具和工作流程可显著降低人工工作量,大幅提升版本发布效率。在典型的NetDeVoPS流程中,主要包含了网络即代码、构建、测试/验证、交付/发布、部署以及使用/反馈等六个

3、阶段,流水线模式如图1所示。2 .网络即代码阶段网络即代码阶段是指将基础设施即代码(InfraStrUCtUreasCOde,IaC)的概念、思想应用于整个网络专业,将网络运维视为软件工程,用编译代码并运行的理念完成传统运维操作。该方法不仅改变了传统网络的设计思想和运维方式,也为网络变更常用的工具和技术带来巨大变革。3 .构建阶段构建阶段是指开发人员在开发完成相应的功能代码后,需要将代码上传至代码仓库,并在通过审核后触发构建过程,且该过程一般由自动化工具完成,以实现快速迭代。在NetDevOPS中,构建生成的最终产品可能是Jar包、Dc)Cker镜像,也可能是变更步骤、模板等。4 .测试/验证

4、阶段测试/验证阶段是指为验证构建阶段生成的产品是否满足需求,需要进行测试验证,并根据结果完善代码。测试过程一般包括单元测试、集成测试、系统测试和验收测试。其中,单元测试和集成测试可以使用硬件设备或模拟器完成,系统测试和验收测试则需要使用硬件设备并与生产环境保持一致。5 .交付/发布阶段交付/发布阶段是指实现新版本或新功能的代码交付和发布,其可看作是NetDevOps取得的阶段性成果,进入该阶段意味着新的版本或功能已准备好部署到生产环境中并使用。6 .部署阶段部署阶段是指根据团队的使用经验和公司流程,可以在代码发布后立即部署至生产环境,或者经过审批后在特定时间段进行部署(鉴于严格的生产环境变更管

5、理制度和流程,金融机构大多选择经过审批并在特定时间段部署)。同时,该阶段允许管理员限制新功能或新版本的使用范围,比如为规避风险,新功能在上线初期仅允许网络专业使用,一段时间后再供其他专业使用。7 .使用/反馈阶段使用/反馈阶段是在部署完成后整个系统将开放给用户正式使用。在使用过程中,用户或运维人员可随时将需要改进的功能反馈至开发团队评估,并着手进行技术实现。此外,无论在流水线中的哪个阶段发现错误,也都应立即反馈给开发团队以尽快解决问题。二、NetDeVOPS相关工具与DeVOPS类似,NetDeVOPS在实现过程中同样需要使用多种工具协同工作,而在日常工作中主要会用到以下四类工具。1 .版本控

6、制工具2 版本控制工具主要用于NetDevOps流水线中的网络即代码环节。在NaC中网络设备的配置和变更均被视为代码,需要存储在具有版本控制功能的数据库中,不仅可以快速追踪配置的变更记录,还能够快速查询相关的变更时间、变更人员等信息,甚至可以利用工具快速回滚至此前任何时间点的配置。实践中,版本控制工具主要可分为集中式和分布式两类。其中,集中式版本控制工具(如SVN)可通过使用集中管理服务器保存所有文件的历史版本记录,而使用者只需通过客户端连接服务器即可获取最新的版本文件或提交更新。与之相比,分布式版本控制工具(如Git)的客户端除了获取最新版本外,还可获取包括历史记录在内的完整的代码仓库。此外

7、,当任意一台服务器出现故障时,也可使用客户端本地仓库的镜像进行恢复。Git基础模型如图2所示。3 .模拟器工具模拟器工具主要用于NetDevOps流水线的测试验证环节,对于大部分金融机构而言,通常有充足的硬件测试设备用于功能测试和代码验证。而对于简单场景,为了在开发环境和测试环境中提升效率,则可以使用模拟器工具进行测试和验证。目前,业界常见的模拟器工具包括华为公司的eNSP、思科公司的VirI以及支持多厂商的GNS3、EVE-NG等。4 .自动化工具自动化工具主要用于NetDevOps流水线的部署环节,旨在避免手动变更出现更多的操作失误。因此,除在方案设计、脚本测试过程中使用手工配置外,测试环

8、境与生产环境均应尽量选择自动化模式。与服务器自动化可选工具较多不同,绝大部分网络设备由于不支持安装代理软件,只能选择支持无代理的自动化工具。当前,适合网络使用的工具主要有AnSibIe与NOrnir,上述两个工具特性对比见表1。此外,还有很多其他开源工具(如NAPA1M)也可支持自动化操作,网络团队可结合自身情况选择并使用适合的工具。表1Ansib1e与NOrnir特性对比Ansib1eNoniir学习难度较低较高社区支持情况较好,版本更新迭代快较差,版本更新迭代慢配置推送效率慢快脚本语言Yam1Python脚本排错难易较难较易5 .CI/CD工具CI/CD工具是一种通过在开发阶段引入自动化来

9、频繁向客户交付应用的方法,其核心概念是持续集成、持续交付和持续部署,主要用于在NetDeVOPS流水线中打通各个环节。目前,JenkinS是广泛使用的开源CI/CD工具之一,使用JaVa语言编写,通常与版本控制工具、构建工具、配置管理工具等结合使用,可以直接调用AnSibIe进行自动化部署。同时,通过结合不同插件,JenkinS还可实现如部署代码、启动VMWare虚拟机、启动DoCker容器等多项功能。三、NetDevOps使用场景当前,大部分网络日常运维和变更操作均可通过自动化手段由代码完成,不仅有助于减少重复性工作、减轻工作量,还可大幅提升网络服务交付效率。现阶段,NetDeVOPS主要有

10、以下八种使用场景。1 .配置下发配置下发是自动化操作使用频率最高的场景之一,任何通过C11操作的行为均可被自动化工具替代。除了通过SSH登录设备运行命令行外,自动化工具也可以通过RESTF1J1AP1或NETCoNF等协议调用接口实施相应操作。同时,为避免人工输入错误或其他原因导致自动化推送错误配置,影响生产运行稳定,在自动化下发配置前还应尽量进行逻辑校验以确保正确下发配置。具体而言,逻辑校验主要涉及三方面内容:一是校验相关命令参数正确性,比如检查IP地址是否为标准IPv4或IPv6格式。二是校验相关命令与设备是否匹配,比如检测到ShoWrUn命令在错误设备上运行,应该立即中止执行。三是校验是

11、否符合某种逻辑规则,比如需要将某一接口V1ANID配置为100,则在下发配置前,应确认该接口未配置任何V1ANID或该接口状态为down,如不满足上述条件应及时调配人工介入该操作。2 .新设备上线当新设备上线时,自动化操作将可根据模板生成配置文件,并将配置文件推送至网络设备。在此过程中,需要将网络设备配置模板和相应的参数实例结合。其中,模板文件大多基于不同厂商、不同型号的设备生成,因此模板文件内的参数应预先设置好特定格式以便于后续替换。同时,数据文件应尽可能保存结构化数据,比如V1AN信息、IP地址、路由信息等,之后再使用数据文件渲染模板文件生成设备配置,最后基于自动化工具将配置推送至相应设备

12、。3 .信息收集一般情况下,所有网络设备均包含静态配置信息以及动态数据信息两类。其中,静态配置信息一般一天保存一次,可通过C11或AP1接口获取设备的全量配置信息,用于后续审计、应急恢复等场景使用;动态数据信息则一般通过SNMP协议或Te1emetry协议每隔几分钟甚至几秒获取一次,以实时监控网络设备运行状态,该类数据包括CPU、内存、OSPF邻居、接口流量、运行时间、OS版本等。4 .合规检查通常,各金融机构都有网络设备的配置基线、安全规范等要求。在内部审计、外部审计检查前,可以定期使用自动化工具对设备配置进行合规检查,并根据结果进行整改。5 .设备替换在运维过程中,经常会出现故障设备替换或

13、设备更新换代等操作,而对于同品牌、同型号的设备替换操作,可通过工具获取设备最近的配置备份,并导入新设备。对于不同型号的设备替换,则需要使用工具“翻译”配置信息,以便其能适用于新设备。6 .故障排查传统模式下,故障排查、处理高度依赖处理人的水平和经验,导致定位问题时长和解决问题时长不一致。然而,故障排查本质上是综合特定一台或几台设备的配置信息、运行信息、状态信息等进行判断,进而定位故障原因。为减少故障定位时长,可以利用自动化工具将告警信息与特定处理流程、信息收集流程关联,并自动抓取相关的设备信息,用于故障辅助定位与处理。7 .配置分析对于防火墙、负载均衡等设备,网络维护团队经常会收到应用运维团队

14、针对特定应用的策略查询请求,该过程采用人工处理不仅效率较低,而且容易遗漏部分策略。对此,通过使用配置分析工具则可以高效、精确地反馈类似请求。8 .版本/补丁升级在设备运行过程中,会遇到版本bug或厂商停止版本支持等场景,需要升级设备的补丁或版本。相比版本升级,补丁升级是一种快速、低成本修复产品软件缺陷方式的手段。这两种升级方式均需通过SFTP/TFTP等协议将特定文件上传至设备,并使用特定命令使其生效。为降低风险,可分批次进行升级操作。综上,传统运维模式需要将需求给开发实现,通常需要双方沟通多次并反复测试,且经过一段较长的时间才能将新功能上线。而基于NetDeVOPS方法论,通过使用Jenki

15、ns、AnSibIe等开源工具,运维人员将可依赖现有产品框架,快速实现需求的开发、测试和上线,并在日常使用中不断优化改进,最终将新功能上线周期从以“月”为单位缩减至“周”甚至是“天”。实践中,NetDevOps的落地难点在于转变网络运维人员的思维,同时还包括提升逻辑抽象能力以及学习软件开发知识,而上述要求与传统网络能力存在较大差异,需要运维人员重新投入一定的时间和精力。NetDeVOPS的最终目的是将网络作为一种服务(NetWOrkasaService,NaaS)快捷高效地供相关人员使用,这些人员不仅包括网络运维人员,还包括系统运维、应用运维、安全运维甚至非IT部门人员。同时,NetDeVOPS将“网络开发”和“网络运维”合并,也使得运维人员职责不再仅仅是网络管理和维护,还包括通过开发相应的工具实现运维自动化和智能化,从而使一些重复性工作的自动化改造不再依靠研发人员,而是由运维人员自行解决。总而言之,通过引入NetDeVOPS解决方案将“运维即开发”思想落地,将为实现提升工作效率、降低操作风险、减少定位问题、解决问题时长等目标带来明显的推动作

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 工作总结

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服