开发运维一体化(DevOps)验证_第1页
开发运维一体化(DevOps)验证_第2页
开发运维一体化(DevOps)验证_第3页
开发运维一体化(DevOps)验证_第4页
开发运维一体化(DevOps)验证_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

信息化项目可行性研究报告

项目名称:国网浙江电力-开发运维一体化(DevOps)

验证-实施项目

项目申报单位:国网浙江省电力公司信通分公司

编制单位:国网浙江省电力公司信通分公司

2017年10月13日

编制:陈振

校核:黄海潮

审核:王红凯

批准:陈彤

信息化项目可行性研究报告

目录

1总论...........................................................................5

1.1主要依据..................................................................5

1.2主要原则..................................................................6

1.3必要性分析................................................................7

1.4效益分析..................................................................9

2建设现状.....................................................................10

3项目需求分析.................................................................10

3.1业务功能需求.............................................................11

3.2非功能性需求.............................................................11

4建设方案.....................................................................11

4.1项目目标及范围...........................................................12

4.2项目建设内容............................................................12

4.3技术方案.................................................................13

4.4项目实施计划............................................................22

5经济性和财务合规性..........................................................23

6软硬件设计...................................................................24

7主要设备材料清册............................................................25

7.1编制说明.................................................................25

7.2主要设备材料表(无).....................................................25

8投资估算书25

8.1概述......................................................................25

8.2编制原则和依据...........................................................25

8.3投资分析.................................................................26

1总论

本项目是业务应用系统实施类项目。

该项目在前期DevOps关键技术研究及DevOps工具链的基

础上,试点开展浙电运营监测系统、浙电云运维工具两个业务

应用的验证实施工作,验证内容主要包括:DevOps工具链自身

的稳定性与可维护性;容器引擎、应用仓库、代码仓库的安全

性与存储性能;持续集成驱动规则、灰度发布方式与现有交付-

运维模式的兼容性;自动测试、代码质量检查规则与现有研发

模式的兼容性。通过验证实施,一方面为进一步改进DevOps工

具链提供参考依据,另一方面优化现有业务系统的研发-运维工

作模式,为DevOps理念在其他系统的应用提供案例。

1.1主要依据

(1)《国家电网公司信息通信新技术推动智能电网和“一

强三优”现代公司创新发展行动计划》

(2)《国网浙江省电力公司信息通信新技术推动智能电网

和“一强三优”现代公司创新发展行动计划实施工作方案》

(3)《公司“卜三五”信息化发展规划》

(4)《国家电网公司信息系统上下线管理办法》

(5)《国家电网公司信息化建设管理办法》

(6)《国家电网公司应用软件通用安全要求》

5

(7)《智能电网安全防御体系》

(8)《国家电网公司公共数据模型(SG-CIM)典型设计(试

行)》(国家电网信息信010)713号)

(9)《国家电网公司信息系统架构设计指南》

(10)《国家弓网公司信息化架构管理办法》

(11)国家电网信通[2017)24v(国家电网公司关于印

发2017年信息化建设实施意见的通知);

(12)国网浙江省电力公司“SG-ERP3.0”综合试点建设方

案。

1.2主要原则

本项目是在遵循“SG-ERP3.0”建没大原则的前提下,同时

还要兼顾促进本地应用、提升建设实效的任务,确保系统的统

一性、先进性、可靠性、安全性、实用性、可扩展性、易用性、

可管理性、集成性。主要原则如下:

(1)“统一性”原则

遵循“SG-ERP3.0”总体设计原则,在已有框架下开展项目

设计、开发和实施工作,保证项目建设内容与“SG-ERP3.0”总

体的目标一致。

(2)先进性原则

6

确保平台架构设计先进性、技术路线先进性、测试技术先

进性以及组件选择先进性。

(3)安全、可靠性原则

系统建设应充分考虑系统的安全防护、容错能力和抗干扰

能力,保证系统长期稳定、安全、可靠、高效地运行。

(4)实用性原则

遵循以客户为中心的设计理念,提供一致性、人性化用户

体验,最大限度地满足客户的实际需要,操作便捷,功能完善,

界面友好。

(5)可扩展性原则

符合国际及国家通用标准,具备良好的开放性和可移植性。

采用标准开放平台接口,支持与其它系统的数据交换和共享,

便于维护、扩展和互联。

(6)资源复用原则

建设过程将充分考虑到已有软硬件设备设施,尽可能继承

和复用有价值的软硬件资源和数据资源,避免资源浪费,重复

投资。

1.3必要性分析

随着信息化建设的深入,业务和技术的发展,IT环境日趋

复杂,尤其是大数据云平台的引进,业务变化日益频繁,IT开

7

发运维工作面临着越来越大的压力。当前公司信息系统的开发

与运维管理存在如下问题:

L统推系统与自建微应用并存,项目输入和约束相差较大,

尚不存在一个普适框架有效管理两侧业务;

2.开发项目需求管理、里程碑管理缺位,仍处于粗放型管

理阶段,对业务响应不够及时,无法做到敏捷。传统开发运维模

式对于新增需求或需求变更都会经过较长的链路才会响应,而

业务方需要快速响应以满足业务需要。有些较小的需求也必须

经过较长的链路,导致业务响应的周期和系统开发测试的周期

加长,不利于业务方的使用,也造成系统开发的冗余。

3.实施项目缺乏交付物版本管理、配置管理和应用依赖管

理,且软件交付物标准化程度低,文档质量不足,实施质量依

赖技术人员个人能力。

4.用户确认测试自动化程度低,无法有效验证软件质量。

系统在版本更新迭代过程中,每发布一个版本都存在重复过程,

包括程序打包、配置文件修改、版本发布、整体测试等环节。

无法做到固化且自动完成,尤其测试环节工作量增大,在测试

差异部分的同时,还需测试原有正常功能部分。

5•测试生产环境不一致,软件部署手段落后低效。现系统

开发以烟囱式搭建,后续随着业务发展或功能增加,不利于结

8

构调整,且每发布一个版本都需将整个系统进行打包发布,发

布过程涉及整个系统,导致发布过程缓慢且风险增加,出错功

能可能导致整体系统无法正常使用,同时发布过程还有可能导

致业务的中断。

6.开发阶段和运维阶段斜街不够紧密。现有的开发运维团

队存在物理分离的情况,开发阶段人员在建设阶段后会撤离,

运维阶段仅停留在运维层面。无法保留一个对业务熟悉对系统

了解的团队,造成既懂业务又懂系统的人员流失严重。一方面

不利于问题定位及处置,另一方面无法做到对业务沉淀。

因此,需要亟待公司提升快速开发迭代的支撑能力,引入

开发运维一体化(DevOps)理念,以敏捷为工作模式,提升对

业务需求的响应处理,打通开发、部署、测试、上线各环节,

提高标准化水平,减少人为因素干扰,可在一定程度上解决上

述问题。

1.4效益分析

1.通过本项目的实施,运用并验证“迭代式”开发的DevOps

开发运维一体化管理模式,采用密集需求分析、高频率、小变

化的方式,促进软件应用平滑式的生长且更贴近于用户需求。

2.通过试点应用DevOps工具链,实现应用系统的自动化部

署、自动化交付、调度等,保证应用系统的及时上线和应用的快

9

速迭代,简化应用系统在开发部署环节的操作流程、提高交付

能力和效率,从而更快地响应需求。

3.通过试点应用DevOps工具链,探索并建立电网企业有效

支撑业务创新应用快速迭代的开发运维一体化模式,提升公司

信息化系统的建设质量,降低公司信息系统的整体运维成本。

2建设现状

随着SG-ERP3.0建设持续推进,公司在2015年开展了国家

电网公司信息化架构优化综合试点工作,建成了企业级大数据

云计算服务平台,标志着公司信息化逐步向云计算方向的转变,

为满足公司“一平台、一系统、微应用、多场景”的新一代信

息化架构提供有效的基础支撑平台。但公司目前的信息化建设

及运维方式,还是采用传统软件开发遵循的“瀑布式”管理模

式,“调研-规划-设计-编程-测试-上线”的流程闭环已经无法

满足现在信息系统快速开发快速迭代的需要,尤其是在“微应

用、多场景”的应用建设将大量涌现后,问题将更加突出。

前期,公司已经开展了DevOps关键技术研究及DevOps工

具链相关技术组件的研究开发工作,kDavOps概念和理念、全

流程及技术支撑关键、管理模式的变革等方面都有较深入的理

解,为本项目的试点验证实施奠定了有力的基础。

3项目需求分析

10

3.1业务功能需求

开发运维一体化(DevOps)验证实施选择国网浙江电力的

“浙电运营监测系统”、“浙电云运维工具”两个业务应用的验

证典型应用场景,验证内容包括:

1.DevOps工具链自身的稳定性与可维护性;

2.容器引擎、应用仓库、代码仓库的安全性与存储性能;

3.持续集成驱动规则、灰度发布方式与现有交付-运维模

式的兼容性;

4.自动测试、代码质量检查规贝J与现有研发模式的兼容

性。

3.2非功能性需求

系统注册用户数预计将达到500个;

系统最大在线用户数预计将超过300个;

系统所需储存空间需求将达10TB;

响应时间要求小于200nls;

系统网络带宽需求:系统并发用户数在设计要求范围内时,

系统网络带宽平均利用率不得超过60%;

可靠性要求能够支持7*24小时连续运行,同时具有良好的

容错能力。

4建设方案

11

4.1项目目标及范围

4.1.1预期目标

通过开发运维一体化(DevOps)验证项目的实施,一方面

为进一步改进DevOps工具链提供参考依据,另一方面优化现有

业务系统的研发-运维工作模式,为DevOps理念在其他系统的

应用提供案例。

4.1.2项目范围

本项目实施覆盖范围:国网浙江省电力公司信通分公司0

4.2项目建设内容

本项目建设内容如下:

完成浙电运营监测系统、浙电云运维工具两个业务应用的

DevOps模式验证实施工作。

L浙电运营监测系统:注重试验运维侧的DevOps模式应用,

探索分析类系统应用DevOps模式的方式方法、必要支撑手段及

流程调整具体模式等,为存量分析类业务系统应用DevOps提供

实践经验。

2•浙电云运维工具:注重开发侧的DevOps模式应用,根据

“浙电云”和全业务统一数据中心的运营模式,将云信息资源

和数据资源对外服务标准化、流程化及在线化,应用微应用模

12

式实现各运维工具的实现,为SG-IT0M3.0的场景化工具中心建

设提供前瞻实践经验。

4.3技术方案

4.3.1技术架构

本项目实施涉及的DevOps工具链主要基于公司企业统一云

服务平台实现技术承载,主要使用了云平台中的基础资源和公

共技术应用,其相应的技术架构如下:

E1DevOps流程可

CMDB

测试匕「试运行试运行稽修I

JenkinsKube生产(灰度)

工具链Gitlab

注转i

工具集群持续集成集群iI监控集群

Gitlab)[CMDB][DocsJenkins)N匚ELK

测试集群试运行集群生产集群

!应用Alpha!;应用Beta!应用

I介质库集群It

Maven:应用Alpha;;应用Beta!应用

Pip!应用Alpha!!应用Beta!应用

Kube

集群

浙电云

容器管理(Kubemetes)

虚拟化(ECS/Openstack/VMWare)

)

硬件设备(服务器/存储)

在本次项目中,DevOps工具链全部在信息内网上运行。

基础资源:由云平台提供DevOps工具链所有的运行资源,

包括服务器、存储、网络和平台化软件资源等软硬件资源,提

供弹性计算服务、负载均衡服务、弹性伸缩服务、虚拟网络服

13

务、开放存储服务及内容分发服务,DevOps工具链台各模块都

将部署在云平台中Decker容器中运行和管理。

集成服务:DevOps工具链将充分复用企业统一云平台中提

供的各项基础服务能力,包括流程集戌、身份权限、即时消息

等服务,DcvOps工具链不单独开发建设此部分功能,直接调用

云平台中的各项服务接口。

访问渠道:DevOps工具链将集成到云平台统一访问门户中,

通过云平台门户访问入口实现统一访问。

应用构建:DevOps工具链未来将做为国网浙江电力新一代

信息化架构中应用构建的核心组成部分,提供从应用开发、应

用测试、应用装配、应用发布、版本管理等功能。

4.3.2应用架构

验证实施的DevOps工具链主要功能如下:

项目管理配置管理♦代码检查♦编译构建*测试*部署

•敏捷迭代开•跨地域系统开•跳陷快速定­需用例.•容器部署

•可视化交付1-

发位和修复­集平管理

流水线

•多项目管理•在线代码阅读•自定义检查•用例管理•懦秤

•多语言并行

•看板跟踪修改规则・缺陷管理・较件包管理

•多维报表•在线提交代码•缺陷批量处•测试设计•软件包自动

・文档管理•在线分支合并理•测试验收

•追溯能力•分支保护•多维报表•映陷统计

•基于代码的统

一分析

•基于角色的权

限控制

•关联工作项

(1)项目管理

14

提供基于DevOps工具平台开展应用开发全过程的项目管理

功能,实现可支撑多项目的敏捷迭代开发、看板跟踪、文档管

理、过程追溯和多维度报表分析。

多项目管理:通过项目管理模块可以直观展现与本人相关

所有项目的工作项进度及项目最新动态消息,方便管理人员对

所有任务的掌控和跟踪。

看板跟踪:提供个人级、项目级项目看板跟踪管理功能,

直观呈现进展与风险,以敏捷开发的理念内置若干个迭代周期,

开发人员和项目经理可以根据自己的需求更改相应的迭代时

间。

多维报表:提供包括燃尽图(以迭代周期为横轴,工作量

的数目为纵轴,绘制整个项目的进展趋势,包括完成工作项、

未完成工作项和完成工作的趋势走势)、工作项完成率(以环形

报表显示story、bug、task工作项各阶段的完成率)、项目需

求统计、遗留缺陷统计等分析报表。

文档管理:项目相关文档、图片等文件可以上传到云端与

成员共享;并提供任务讨论结果自动归档,有效记录工作事项。

项目管理模块主要面向具有开发业务项目团队,包括各业

务需求方、项目管理方、第三方开发团队(项目经理、开发人

员、测试人员)、应用运维方、应用最终用户。

15

项目管理模块将产生与项目开发相关的项目管理过程类数

据,包括项目的基本信息、项目参与人员信息、任务项详细等,

大部分数据都是全局性的,属于DevOps工具平台的基础数据。

(2)配置管理

开发配置管理模块,思想代码进行在线协作开发和版本控

制,支持跨地域的应用开发和配置管理,提供在线式的代码阅

读、编辑、修改、提交和合并功能,实现基于程序代码的统一

分析能力。

跨地域系统开发:依托Git提供支撑跨地域开发的版本协

同服务功能,并与项目管理模块打通,通过版本控制工具实现

了离线开发、代码审核特性,解决了跨地域协同开发中代码质

量和编码协同的问题。

在线代码阅读修改:基于版本管理控制工具集成相应相应

的代码在线编辑器,提供各版本代码的快速提取、在线显示和

在线修改功能,对流行编程语言特别是CSS、HTML,和

JavaScript甚至CloudFoundry配置文件支持语法高亮,代

码检查和代码提示。

在线分支管理:多人协作开发时可分别创建自己的分支,

提供主分支(master)、开发分支(develop)、功能分支

(feature)、预发布分支(release)、bug分支(fixbug)、其

16

它分支(other)等分支策略,并提供分支的远程推送与抓取、

分支代码合并及冲突解决等功能。

分支保护:面向管理员、项目经理提供分支保护功能,分

支保护可阻止管理者以外的人推送代码,阻止任何人强行推到

到此分支,阻止任何人删除此分支。防止代码被其他人恶意提

交或误删。

基于代码的统一分析:提供代码仓库提交信息统计、代码

仓库贡献者统计、个人贡献里程碑等报表分析。

配置管理模块主要面向项目团队的项目经理、开发管理员

及开发成员,为开发人员提供一站式的线代码托管服务。

本模块主要产生项目开发相关的源代码、代码版本及分支

信息,可为后续的持续集成和交付提供基础。

(3)代码检查

代码检查模块实现基于流水线代码自动检查功能,将代码

检查融入到持续交付的流程中,尽量避免人工干预与维护,通

过流水线的每日构建,可以进行持续的代码检查。

缺陷快速定位与修复:实现从代码分析历史中提取缺陷模

式,构筑代码缺陷模式库,从而快速精确定位软件代码问题,

并提供有效的修复建议。代码缺陷模式库基于优秀代码实践与

17

编程规范,覆盖常见的编码风格、架构、Web安全、多线程安全、

性能等方面的问题。

自定义检查规则:结合各项目的开发管理个性化要求,提

供项目级的代码规则自定义功能。同时在项目过程中,通过不

断积累一些编码规范与规则,建立可供其他项目参考的检查规

则库,可预制web检查、安全检查、架构检查、编码问题检查

等。

缺陷批量处理:结合代码检查规则和历史缺陷库,提供缺

陷预制修复功能,针对每个代码缺陷,提供详细的缺陷影响说

明、正确示例、错误示例、修改建议,对于一些共性的缺陷,

在代码检查过程中一旦发现,可根据预制的建议实现批量处理。

多维报表:代码检查模块提供邮件通知、检查报告等功能,

让项目管理人员对总体的代码质量以及风险有详细的了解,而

开发人员可以对自己负责的模块的代码问题进行有效的闭环。

代码检查模块主要面向项目团队的项目经理、开发管理员

及开发成员,具体的包括开发人员通过检查任务实例执行代码

检查;如果系统的检查不满足需求,开发人员可通过定制规则

集来实现定制检查;项目经理通过检查实例报表监控管理代码

质量。

18

本模块主要产生相关代码缺陷、代码质量等,供后续的测

试参考。

(4)编译构建

提供基于相同的环境和配置的编译构建,项目开发团队不

用担心因为环境差异带来的头痛问题,快速提升构建质量和效

率。

资源共享和按需分配:利用国网浙江电力企业统一大数据

云平台的容器化能力,预装多种构建环境,收到构建请求时,

采用分布式构建等技术手段,根据需要动态分配环境和构建任

务,任务完成后即刻释放资源,真正做到按需分配和资源共享。

可视化交付流水线:采用可视化交付流水线,通过使用精

准增量编译技术,结合并行智能任务调度,实现按技术栈、目

录等编译策略增量并行编译。

多语言并行构建:通过DevOps统一的调度算法,可指定构

建任务到不同的构建资源上并行执行,满足部分项目开发混合

语言并行构建的需要。

编译构建模块主要面向项目团队的项目经理、开发管理员

及开发成员,支撑国网浙江电力实现持续交付,缩短交付周期,

提升交付效率。

19

编译构建模块根据编译对象的不同,可输出到自动化测试、

部署等模块。

(5)测试

实现从需求-用例-缺陷多维度管理的测试管理功能,通过

“需求-任务-用例■缺陷追溯”各环节的迭代来确保需求的测试覆

盖率,并自动生成测试验收报告,实现软件研发全生命周期的

持续自动化测试保障。

用例管理:提供不同阶段(如回归测试、冒烟测试),不同

状态(通过、未执行、失败)的测试用例库构建,并实现测试

用例树与需求树的同步,能提供手工编写测试用例和用例附件

批量导入等方式创建测试用例。

测试自动化:基于测试用例和DcvOps流水线,实现测试用

例的持续自动化测试,并以测试用例为单位保存测试日志(包

括步骤、截图显示和校验规则结果)。

测试缺陷管理:基于流水线提供自定义缺陷处理流程,可

以自定义项目角色、缺陷状态、缺陷属性;能提供测试缺陷合

并,全方面筛选缺陷;对于项目团队特别关注的缺陷发生状态

改变时,可发邮件通知给关注人;提供缺陷列表的导出、缺陷

处理状态的自动跳转、处理角色的选择、缺陷关联测试用例和

需求等。

20

测试缺陷统计:提供用户自定义报表实现多种维度的统计

分析,如需求覆盖率图、测试用例完戌比例分析图、业务组件

覆盖比例图等,能区分自动化测试的测试分析报告与手工测试

的测试分析报告。

测试模块主要面向项目团队的项目经理、测试人员及开发

成员。根据测试等级和范围,将测试结果反馈给相应人员。

(6)部署

通过构建部署模块建立持续发布机制,基于企业统一云平

台提供的Docker容器,实现一键式自动化部署功能,自动执行

所有部署任务,过程可视化,并可通过查看所有任务的执行状

态、日志及报告。

容器部署:基于构建源代码将应用打包成容器镜像,将容

器部署到云端、镜像仓库管理、服务编排、平台对运行的容器

及集群进行调度管理、负载均衡等功能。

集群管理:基于企业统一大数据云平台提供的应用运行集

群环境,将服务集群划分成蓝、绿两个集群,实现灰度发布、

蓝绿发布(热部署)等发布模式,解决应用不中断服务的问题,

提升软件开发的试错能力和回滚能力,减少新版本发布的风险。

21

部署任务管理:提供预定义模板和自定义模板,实现一键

式部署功能,同时提供高级编辑功能,满足用户更改部署参数

和自定义执行参数以在部署任务执行时动态输入执行参数。

监控:保证生产环境正常运行,提供容器实例及其主机系

统级别的日志、监控和告警功能。

部署模块主要面向项目团队的项目经理、开发人员及运维

人员。

4.4项目实施计划

4.4.1项目环境

承担本项目的国网浙江电力公司信通分公司有丰富的信息

系统建设和运行管理经验,是国网浙江电力信息化建设运维的

主要承担单位,对国网浙江电力的信息化建设思路有着深刻理

解,有一支很强的生产专业管理的队伍,对浙江电网信息化管

理提供了有力的技术和业务支持。

4.4.2项目人员

序专业项目

号姓名工作年限职称专业分工工作单位

5年及以高级工国网浙江电力信

1陈彤信息通信总体协调

上程师通公司

5年及以高级工国网浙江电力信

2王红凯信息通信架构规划

上程师通公司

5年及以高级工国网浙江电力信

3沈潇军信息通信现场负责

上程师通公司

4黄海潮5年及以高级工信息通信技术支撑国网浙江电力信

22

项目

专业

单位

工作

职称

年限

工作

号姓名

分工

专业

通公司

程师

电力

浙江

国网

及以

5年

支撑

技术

通信

信息

工程

陈振

5

通公司

目进

3项

4.4.

作内容

主要工

时间

序号

1

方案

建设

项目

:确认

前期

项目

第一月

集和

研、收

求调

成需

计:完

案设

及方

分析

需求

第二月

2

书。

说明

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论