王鑫
[摘 要]随着智能油田信息化建设的发展,软件项目数量逐年递增,在传统的集成项目管理模式下,项目开发过程中的问题日益突显。比如:源码在项目生命周期没有受控,后期运维风险较大;只能在项目后期进行交付,难以控制开发进度;异地开发给项目集成、交付带来困难;集中提供开发集成、测试服务器,因为项目需求差异难以高效管理运维,可能造成管理混乱、资源浪费的局面;由开发阶段到测试、上线、运维,每个阶段的部署迁移都会带来一定的培训、安装调试以及沟通成本等,以上这些问题是每个项目存在的普遍问题。因此,对于智能油田这样大体量的规模建设,这些问题带来的风险、制约将被成倍扩大,成为智能油田发展道路上的阻碍。
[关键词]智能油田;docker容器;开发环境;项目管理
doi:10.3969/j.issn.1673 - 0194.2020.18.037
[中图分类号]F270.7;TP311.13[文献标识码]A[文章编号]1673-0194(2020)18-00-02
1 智能油田建设中Docker技术概述
1.1 目的和意义
本文研究智能油田建设中Docker技术的目的是给新疆油田智能油田建设提供一套从系统研发、部署到后期运维的整体解决方案。该方案提供相对隔离的项目开发环境,以便捷、友好、按需访问的方式共享物理及虚拟资源(包括网络、服务器、存储、应用和服务),为软件项目开发及运维全过程提供服务。①隔离的项目开发与测试环境,项目代码和资源得到有效控制,保障项目资产安全。②统一的技术框架与开发环境,保障软件系统架构的合理性和可读性,保障统一运维队伍的可行性。③实施项目的精细化管理,通过业界成熟的项目管理软件,规范项目管理流程,准确评估项目运行状态并及时应对,使项目开发过程得到有效管理,准确评估项目运行状态。④通过成熟的云管理工具,大幅提升开发、测试、部署项目全生命周期生产效率,降低管理难度,确保开发、测试环境的稳定性和可维护性。
1.2 设计思想
采用近年来在业界流行的Docker容器技术对软件开发云管理系统进行研发,以相应的开发规范和管理办法为指导方向,项目运行监控和代码集成检查为执行准则,实现一体化开发、测试、上线、管理体系。
2 智能油田建设中Docker技术研究内容
2.1 总体设计
软件开发云管理系统底层以Docker容器技术和Kubernets集群管理技术为主线进行研发,整合虚机资源,并进行集群管理;通过部署容器方式实现,每个容器之间互相隔离,每个容器有自己的文件系统,容器之间的进程不会相互影响,能区分计算资源;通过从源码仓库获取项目源码到自动持续集成编译、构建镜像实现应用的持续发布;通过系统设置实现用户空间隔离、用户权限分配。
2.2 功能架构设计
软件开发云管理系统主要由容器服务、持续交付、自动化运维、高效DevOps、模块管理等主体功能模块构成,具体如图1所示。
2.2.1 容器服务设计
整合底层服务器的资源,进行容器集群管理,容器间相互隔离,调度与分配智能化的资源,支持负载均衡、弹性伸缩、高可靠,应用容器化,一个应用可包含多个容器服务。
2.2.2 持续交付设计
以镜像方式封装服务;服务间可调用相关配置文件;摒除环境异构问题,实现一次构建随处运行,并可以独立管理应用交付每个环节;镜像与应用关联;当有镜像Push或者构建成功时应用可以自动进行灰度发布。
2.2.3 自动化运维设计
可視化性能监控,包括容器使用状况、主机健康状态;可视化资源管理,管理容器CPU、内存、网络、进程资源;可视化主机管理;智能化的资源调度与分配。
2.2.4 高效DevOps设计
DevOps(开发运维一体化)以可视化Flow流程的方式,构建开发测试流水线,实现编译、集成、打包、测试、发布的自动化;提供标准化阶段任务,可快速定义流程任务;设置自动触发规则触发流水线;制品仓库管理,存放多种镜像文件;上线流程审批,通过设定审批人审批通过后可实现应用的直接部署。
2.2.5 模块管理设计
系统可以从互联网获取丰富的应用模版,同时用户可以创建自定义的应用模版,并配置相应模版的访问权限;导入应用模版的功能可以将互联网模版快速导入系统中。
2.3 技术架构设计
软件开发云管理系统整体分为以下4部分:①底层服务资源整合,租户权限控制,隔离开发测试运行项目,容器资源监控;②项目源代码进行集中式的代码仓库管理,实现完整的源码入库、打包、编译、发布、出库管理流程,确保代码的完整性、正确性;③项目开发、测试环境,搭建在容器云管理环境基础上,按项目提供相互隔离、可弹性扩展伸缩的开发、测试环境,定制自动化开发、编译、打包、发布、测试流水线,实现持续集成、持续交付,统一的精细化项目管理;④项目快速移植。其中,图2是软件开发云管理系统技术架构设计。
2.4 规范制度设计
为了确保软件开发云管理系统顺畅运行,并能在整个生命周期每个阶段发挥各个角色的作用,项目单位需要制定相应的规范制度为此“保驾护航”,根据现有管理制度,制定《平台集成项目管理办法》,依据项目管理办法各个阶段设定的流程,制定相应的规范、模板、检查表等,保证平台正常运行。
3 应用效果
本项目集成管理各研发团队,对传统的基础设施资源进行集群化管理,可动态扩展资源,为研发团队提供标准化的开发、测试、交付环境,实现软件交付的全过程流水线化,加速产品迭代;实现业务持续创新,快速交付;实现跨云、跨环境的管理基础资源共享,有效解决传统软件开发模式下效率低、返工率高、成本高、协作差、系统稳定性不高等问题,促进新疆油田软件开发模式变革。
主要参考文献
[1]周正午,卢朝霞.基于面向服务架构的异地医保系统研究[J].网络与信息,2007(12):76-77.
[2]陈传波,张彬彬.面向服务架构的迁移方法研究[J].计算机工程与科学,2008(2):128-130.
[3]黄小庆,关维德,周宇,等.面向服务架构中的服务分类及其应用
[J].计算机集成制造系统,2009(9):1844-1853.