基于容器技术和 DevOps 的电力信息通信移动运维系统开发与应用

(整期优先)网络出版时间:2020-01-10
/ 2

基于容器技术和 DevOps 的电力信息通信移动运维系统开发与应用

王升杰 刘嘉华 康睿

南京南瑞信息通信科技有限公司 江苏省南京市 210003 

摘要:随着云技术、微服务、容器技术等新技术在信息化领域的发展与应用,传统电力信息通信运维体系业务中的功能耦合度高、开发迭代周期长、现场作业的信息系统支撑手段落后等问题有了新的解决途径。开展以容器技术、DevOps为代表的电力信息通信移动运维系统的开发与应用,能有效提高现场运维人员作业效率和信息通信运维管理体系整体水平。

关键字:容器技; DevOps;移动互联;信息通信移动运维。

引言

随着移动互联网的普及和信息化程度的不断提升,业务应用的数量、规模和复杂度快速增长,不同系统之间的数据服务越来越多,原有的单一架构越来越难以满足业务需求,而云技术、微应用、容器技术等新技术的出现,以及DevOps在实际开发运维中的广泛应用,通过自动化流程来使得软件构建、测试、发布更加快捷、频繁和可靠。

在电力信息通信领域,在以云计算、容器技术和智能化为代表的新一代互联网的影响下,将容器技术和移动运维技术相结合,充分发挥DevOps在开发、运维过程中的团队协同优势,结合产品交付过程中IT工具链,实现数据资源整合、共享和分配,降低系统开发成本,缩短开发、交付和迭代周期,最终提高现场运维作业的效率与便捷性。

1 DevOps开发概述

DevOps一词的来自于Development和Operations的组合。从字面意义就可以看出,DevOps重视开发人员和运维人员的高效协作,解决开发者和运维者之间曾经不可逾越的鸿沟。DevOps通过各类IT工具、流程和最佳实践来保证开发、测试、运维团队的协作和产品高质量交付。

2 信息通信运维

随着公司“三集五大”体系建设,逐步融合信息和通信专业,规划建设了信息通信一体化调度运行支撑平台,实现了“调度、运行、检修、客服、三线”五大业务域的全覆盖、全支撑。平台覆盖运维全过程,整合设计 10 大类业务应用,构建了统一运维门户。2017年以来,新一代运维体系建设工作开展,基于云计算、微服务技术架构,对多项流程开展运维优化试点,提高运维效率。

基于信息通信一体化调度运行支撑平台,基本实现了信息通信专业信息系统运维管理。但对于现场运维人员来说,在信通机房或站点等现场作业时,因远离主站信息系统,导致缺少必要的信息化作业手段,往往还需要通过纸质单来记录设备出入库、巡视记录作业信息。因此,需要构建一套基于容器技术的信息通信移动运维系统,以提高现场运维效率,降低人员运维工作强度。

3 信息通信移动运维系统开发

3.1 系统架构

遵循电网移动应用开发技术规范进行整体设计,在内网专控移动终端安装内网作业APP,经电力无线虚拟专网和安全接入平台,与部署在内网的移动运维系统微应用、业务系统微应用进行交互。

(1)客户端

为实现高效协同开发、功能解耦,以满足弹性动态、高可用的需求,引入H5应用技术架构,符合目前信息通信运维领域一线运维人员日常使用应用数量繁多,需要进行多应用整合的业务需求,实现“门户+微应用”的业务目标。门户主要解决用户登录认证、网络安全传输、消息推送等功能:用户登录认证提供用户名密码、手势登录、指纹登录等多类认证方式,并与统一用户权限平台ISC无缝对接,实现移动端与业务主站端用户及权限统一;通过HTTPS协议,国网加密算法、完整性校验等手段,保障移动端与后台主站端数据交互安全;通过自研基于MQTT协议的推送引擎,实现重要告警、公告及待办类业务数据实时推送到移动端。微应用主要实现各类具体业务:通过H5轻应用实现设备入库、自动盘点、台账移动端查看与轻量级字段更新、移动巡视等作业任务的移动端处理。

客户端通过虚拟专网、安全接入平台等通道接入公司信息内网。安全可信接入通过安全加密卡、终端硬件特征、数字证书等实现强身份认证后,建立双向加密通道,从通道上保证数据安全。

在业务应用上,除实现现有Web业务的移动端迁移展现之外,充分利用移动终端自身特性,通过cordova框架实现摄像头、GPS及其他移动终端硬件设备调用,实现扫描二维码标签查询台账详情信息、运检人员定位打点签到等移动端特有应用功能。

(2)服务端

信息通信运维系统服务端,基于Spring Cloud微服务架构和Docker容器技术建设移动服务微应用,微应用与已建成的信息化系统SG-I6000、SG-TMS等各类业务系统对接,并负责为移动终端统一提供RESTful风格的服务接口。

移动应用服务端本身专注于提供移动端所需常用服务能力,包括管理控制台和移动微应用组件两大部分。管理控制台:提供一套前后端分离的前端开发脚手架,并提供基础配置管理、终端用户管理、监控模块管理和公共服务管理等功能。移动微应用组件:包括基础支撑微服务、移动IM微服务、认证授权微服务和消息推送微服务组件等,为移动端提供基础和通用支撑能力。

3.2 DevOps实践

在本系统的移动客户端及服务端开发、测试迭代过程中,充分利用DevOps工具实现敏捷开发和快速交付,具体包括:

代码管理:软件工程师本地开发环境自测通过后,将代码提交到Git repo托管服务GitHub实现源代码管控。

自动化构建与持续集成:通过增量编译构建工具Gradle及持续集成工具Jenkins,每日定期从代码仓库拉取代码,根据预先编写的Gradle脚本进行编译构建软件包;

单元测试:Jenkins 完成编译构建后,自动执行指定的单元测试代码。

自动化部署:单元测试通过后,通过Jenkins将编译完成的移动端apk包、服务端war包进行自动化发布/部署:apk可通过fir.im内测托管平台发布,war包可自动化部署到远程服务器Docker容器进行发布和部署,便于测试人员快速接入测试。

4 总结

本文基于微应用、容器技术,并按照DevOps模式进行开发与测试,实现电力信息通信移动运维系统开发与应用,将有效提升现场作业人员工作效率并降低劳动强度,提升电力信息通信的信息化、智能化管理水平,后续将结合电力公司各业务部门实际需求,进一步完善系统功能,展开实际应用。

参考文献

[1] 牛晓玲, 吴蕾. DevOps 发展现状研究[J]. 电信网技术, 2017 (10): 48-51.

[2] 韩璐, 王瑶, 潘磊, 等. DevOps及企业应用挑战[J]. 2017 电力行业信息化年会论文集, 2017.

[3] 陈咏秋, 张斌, 徐明珠, 等. 面向云服务的 DevOps 知识获取与应用[J]. 计算机系统应用, 2016 (12): 221-226.

[4]杨宇,焦丽琴. 基于微服务的企业应用设计与实现[J].电子科学技术,2016(5):623-625.

[5]王栋,陈传鹏,颜佳,等. 新一代电力信息网络安全架构的思考[J]. 电力系统自动化,2016, 40(2):6-11.

[6]曹军威,万宇鑫,涂国煜,等. 智能电网信息系统体系结构研究[J] . 计算机学报,2013,36(1):143-167.

[7]蒋海明,夏丹妮,刘媛,赵世文,费林,任靖宇. 基于物联网技术的电力通信接入网的移动运维系统 [J]. 电信科学, 2018, 34(10): 170-180.