APP下载

基于devops的软件开发与项目管理

2020-12-11法晓宇

电子元器件与信息技术 2020年8期
关键词:代码运维流程

法晓宇

(中国电子科技集团公司第28 研究所,江苏 南京 210007)

0 引言

devops是软件开发、技术运营和质量保障的有机结合,包括软件开发与项目管理阶段所包含的基本方法和实践策略。相关人员应注重在架构设计、开发、测试和运维阶段,对整个过程进行研究,并且利用精细化管理理念和全过程思维,对devops软件进行有效开发与应用,满足项目管理与控制工作要求。

1 devops概念和优势

1.1 概念

devops包含development和operations,是开发和运营维护的总称。软件设计过程中,应对开发部门、运维部门进行协调,确保各项工作流程与方法高效使用,为项目管理工作提供可靠参考。基于devops软件开发源于2009年欧洲传统IT模式,对解决运维管理问题起到关键作用。为巩固软件设计与开发结果,将开发、运维与测试结合一起,形成了devops软件开发管理模式[1]。

基于devops软件开发可对测试环境进行应用,同时可将数据包融入到软件环境中。devops立足全局角度,对开发效果进行分析,加强人员之间的合作与交流也是软件开发设计工作重点,应对其进行合理安排。在devops框架下,对软件进行开发可实现自动化操作,使得人机交互方案应用具有可行性。

1.2 应用优势

devops集中软件开发运维和质量控制,是先进的软件开发管理模式,为IT从业人员提供了可靠的技术参考。实践工作中,应认识到软件开发技术应用的必要性,对相关设计理念进行分析,使得研发优势得到彰显。同时,在软件设计与运维过程中,通过对devops设计框架的研究,有利于促进开发团队与运营团队之间协调配合,可提高工作效率,促进运维管理信息化与现代化。

2 基于devops软件开发与项目管理

2.1 常用工具

以某数据中心的运维管理平台为例,对devops软件的常用工具进行分析,包括项目管理、开发工具、持续集成、交付部署和持续运营等部分。利用devops软件,项目经理构建了Backlog与Sprint,同时,对Sprint下的具体任务进行设计开发运维人员利用工具中程序,对任务进行跟进与状态更新。更新后的数据实时显示在项目管理平台上,方便查看和调用[2]。

由于Subversion是一个开源版本的管理系统,需要将其放在中心版本库中,对文件进行记录,不仅可对代码进行开发,同时也可运维脚本进行监控。与普通的文件服务器比较,其最大的使用优势是对以往数据的恢复,可通过修改目录的方式将管理数据恢复到以前版本。同时,在devops中也存在项目构建工具、脚本处理和测试工具,为相关任务管理和自动化检测工作提供技术支持。此外,也包括基于Java开发的持续系统集成工具,用于发布软件测试版本。

基于devops软件开发中,应用了交付与部署软件,通过Ansible与Python开发了自动化运维工具,并且集合puppet,cfengine、chef等框架结构优点,对设计语言进行批量操作,同时,也优化了系统配置和程序调用软件,对开发维护技术选择提供了参考价值。本项目研究中,主要利用Ansible实现流程编排与批量系统配置,真正做到在devops软件系统中,对相关模块进行设计[3]。

2.2 开发流程

Devops开发流程可具体分为以下方面:一是管理与计划;二是集成与测试;三是交付与部署;四是监控与运维。管理与计划阶段,功能负责人应对设计过程进行讨论,并且制定详尽的计划,从实际角度出发,对项目开发的可行性进行研究。项目整体计划和任务情况,被创建在管理平台上,并且对所有人可见。集成测试阶段,应开发实践应用方法,确保代码与产品结合。每一次代码的改动均需要在模拟环境中完成,并且对设计结果进行严格的自动化检测,以期确保相关服务和功能得到实现[4]。

2.3 应用实例

运维管理平台为企业员工管理系统,采用Devops架构进行设计,主要包括以下方面内容:

一是制定方案,由项目经理和相关领导层对本管理平台的年度Backlog进行方案设计,并且将总体目标和预期达到的效果进行明示,交付项目设计团队,进行软件管理系统设计。在此过程中,该企业相关负责人,对软件的设计要点和完成时间进行要求,要求在Backlog中确定Sprint系统,并且对系统内的任务模块进行开发,详细制定sprint任务分配情况[5]。

二是定义细节,该阶段对应需求分析环节,考虑软件功能、开发流程和设计效果,致力于将运维管理各项因素进行细节分析,完成相关设计图。在具体设计中,相关人员应并测试用例和自动化测试代码,并且对数据库表结构进行详细设计,满足运维管理工作需求。值得注意的是,相关设计文档、测试用例和运维脚本都需要在Subversion框架内进行设计[6]。为落实精细化管理理念,应做好功能分区,对不合理的功能区进行重新划分,并且对名称进行修改,实现对系统任务的有效调整,满足软件设计与更新要求。

三是开发应用,该运营管理平台运用Maven对代码生命周期进行管理,代码创建者应对Jar压缩吧进行解析,注重以pom.xml的形式完成文件配置,实现对相关文件的下载和应用。具体应用中,开发人员应在SVN框架内,度模块代码进行解析,关注代码指令应用效果,并且保证开发环境中的代码与产品模拟环境中的代码各自独立,实现对devops架构的合理设计[7]。

优秀的软件系统框架应满足以下方面要求:(1)稳定性要求,即保证软件负载均衡,具有较强的运维能力,可做到在多种环境下稳定工作[8]。(2)扩展性。软件研发中,应注重增加系统功能。技术人员可对较小模块进行设计,并且对软件系统部分模块进行升级,无线对整个系统进行重新构建。同时扩展性功能也是软件升级稳定合理的保证,应注重在devops架构内对相关功能进行研究。(3)自我保护与安全性。通过对系统软件的开发设计,实现对部分结构的拆解,利用队列和限流等手段,控制高峰流量对系统造成的负载压力,促使系统结构更加稳定,达到对运行环境的合理保护[9]。考虑到运行安全要求,可将敏感服务加入到权限与认证体系中,通过该种方式了减少常见的漏洞和安全风险。例如,在SQL命令语句中,添加XSS、CSRF等语句,实现对风险要素有效控制[10]。

3 结论

综上所述,在devops架构设计中,应对其常用工具进行分析,对相关的运行脚本进行控制,满足设计要求。同时,在软件研发与应用中,需要对开发流程进行明确,关注开发计划方案制定和软件设计规范,并且做好软件维护管理,使得计算机系统中,devops架构设计科学有效,与新时期软件设计理念相符合。

猜你喜欢

代码运维流程
吃水果有套“清洗流程”
基于GPS的电力运维轨迹定位系统
与元英&宫胁咲良零距离 from IZ*ONE
IT运维管理系统的设计及应用
违反流程 致命误判
四川省高考志愿填报流程简图
神秘的代码
一周机构净增(减)仓股前20名
一行代码玩完19亿元卫星
近期连续上涨7天以上的股