您好, 访客   登录/注册

金融行业生产运维脚本全生命周期管理

来源:用户上传      作者:

  摘要:随着金融企业业务规模快速发展,业务交易量激增,随之而来的生产运维压力和难度也迅速增加,脚本实现的自动化运维日益成为生产运维的重要组成。同时在信息技术快速发展的背景下,金融企业生产运维部门对脚本的管理提出了更高的要求。分析了脚本使用的现状,结合IT服务理念对脚本生命周期进行提炼,并规范了脚本管理内容和范畴,形成了脚本全生命周期管理的思想,从而有效提高脚本管理水平和生产运维工作效率。
  关键词:脚本;生命周期;IT对象;管理模式;IT服务
  中图分类号:TP311 文献标识码:A
  文章编号:1009-3044(2020)03-0069-03
  1 背景
  脚本script是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件。脚本通常可以由应用程序临时调用并执行。脚本几乎存在于每个平台上,语法和结构通常比较简单,通常以容易修改程序的“解释”作为运行方式,而不需要“编译”,并且可以实现许多传统的编程语言的功能,所以受到各类IT人员的“青睐”,成为工作中必不可少的“利器”。
  随着业务规模的开拓和发展,金融行业的生产系统承载在巨大的交易量和交易压力,数据中心的建设规模不断扩大,大规模集群系统层出不穷,数据中心物理系统和虚拟系统数量不断攀升,导致单个运维人员所负责的系统规模扩大,人工运维已不能满足需求,甚至变得不切实际,自动化运维势在必行。自动化运维不仅能提升运维的工作效率,还可以减少人为操作带来的风险,确保生产系统运行稳定。而在自动化运维技术中,脚本运维当之无愧成为第一选择。
  2 脚本使用现状
  在金融企业生产运维中,运维人员通过脚本可以实现自动化的运维,从而使日常运维工作达到事半功倍的效果,特别是对于业务交易量大,运维压力较大的企业。编写脚本、使用脚本是运维人员必不可少的工作。目前,在脚本的使用和管理过程,一直存在一些问题与隐患,主要表现在:脚本的种类繁多,缺乏统一管理;运维人员的编程风格迥异,没有统一的规范;脚本测试力度不够,在生产中使用存隐患;脚本更新不及时、不全面,缺乏统一发布、统一协调的渠道;脚本使用状况的后期观察力度不够[1]。
  总之,脚本重要性不言而喻,没有用好,没有管好,生产运维效率将受到极大影响。在当今信息技术飞速发展,IT运维自动化水平日益提高的背景下,实现脚本的高效管理势在必行。结合IT服务生命周期理论,形成脚本全生命周期管理体系将会节省大量人力成本,从而有效提高脚本管理水平和生产运维工作效率。
  3 IT服务生命周期
  ITSS(国家信息技术服务标准工作组)定义的IT服务生命周期由规划设计、部署实施、服务运营、持续改进和监督管理五个阶段组成,并规定了IT服务什么周期各阶段应遵循的标准,设计咨询设计、集成实施、运行维护及运营服务等领域[2]。
  规划设计:
  从客户业务战略出发,以需求为中心,参照ITSS对IT服务进行全面系统的战略规划和设计,为IT服务的部署实施做好准备,以确保提供满足客户需求的IT服务。
  部署实施:
  在规划设计基础上,依据ITSS建立管理体系、部署专用工具及服务解决方案。
  服务运营:
  根据服务部署情况,依据ITSS,采用过程方法,全面管理基础设施、服务流程、人员和业务连续性,实现业务运营与IT服务运营融合。
  持续改进:
  根据服务运营的实际情况,定期评审IT服务满足业务运营的情况,以及IT服务本身存在的缺陷,提出改进策略和方案,并对IT服务进行重新规划设计和部署实施,以提高IT服务质量。
  监督管理:
  本阶段主要依据ITSS对IT服务服务质量进行评价,并列服务供方的服务过程、交付结果实施监督和绩效评估。
  IT服务生命周期的引入,改变了IT服务在不同阶段相互割裂、独立实施的局面。同时,通过连贯的逻辑体系,以规划设计为指导,通过部署实施、服务运营,直至持续改进,同时伴随着监督管理的不断完善,将IT服务中的不同阶段的不同过程有机整合为一个井然有序、良性循环的整体,使IT服务质量得以不断改进和提升。IT服务的供需双方在IT服务生命周期的各个阶段设定面向客户的服务目标,在服务质量、运营效率和业务连续性方面不断改进和提升,并能够有效识别、选择和优化IT服务的有效性,提高绩效,为组织做出更优的决策提供指导[3]。
  4 脚本生命周期管理
  脚本管理是运维系统的基础功能,可以把原本散乱的脚本做到标准化和统一的管理。
  脚本管理的目标包括格式标准化、使用流程化、变更脚本化、运维自动化、管理规范化。
  脚本管理的内容包含脚本生命流程的管理、脚本分类与存档的管理、脚本编写标准的管理、脚本测试的管理、脚本部署的管理、脚本更新的管理。
  脚本管理的角色包括脚本发起人、脚本编写人员、脚本测试人员、脚本流程管理员。
  脚本管理的工具包括自动化工具、脚本管理流程表。
  4.1 脚本编写和测试管理
  在IT服务生命周期中,脚本编写和测试属于规划设计阶段。该阶段以需求为中心,为后面的阶段提供基础。
  4.1.1 脚本编写
  脚本种类繁多,常见的有Windows平台上的bat批处理、VB Script、Power Shell,以及linux平台上的Shell、Perl腳本等[4]。此外,运维人员编写习惯有很大差异。所以需要统一脚本的编写标准,从而保证脚本安全、有效、广泛的使用。对于脚本编写人员,需要做好以下几点:
  首先,要跟脚本发起人确认需求,要按照发起人的需求完成编写。
  其次,脚本要做好注释,特别是头部注释,需要写清楚编写者、版本、功能、用法、注意事项、其他说明。在脚本的关键部分也需要做好注释。脚本完成后,应有相应的说明文档。说明文档应包括作者、版本、功能、用法、编程思路、部署方案及其他说明。   再次,脚本的编写要符合规范,包括容错机制、打印关键错误信息(必要的时候生成log),输出结果要符合编写标准,保证程序安全退出,进而不影响运行系统中的其他程序。脚本编写完成后,要同时发给流程管理员和测试人员进行审核和测试。
  最后,针对每种脚本语言,做出相应的规范,并给出脚本模板。该模板由经验丰富的脚本编写人员与脚本流程管理员共同完成,并经过技术专家评审通过方能使用。
  4.1.2 脚本测试
  脚本测试至关重要,要为脚本在生产中的使用严格把关。脚本测试的管理主要分以下几个方面:
  首先,搭建与生产环境一致的测试环境。指定通用的测试环境,对于一些常用的环境在测试系统上提前搭建,并长期保留。对于一些特殊的环境,采取临时搭建策略。对测试系统中现存的测试环境进行梳理.并指定列表由测试管理员管理,后续及时更新。
  其次,测试内容包括编写格式的审核、功能测试、输出结果测试、容错机制测试以及安全性测试。
  最后,测试人员在测试中发现问题要记录脚本bug清单,并及时反馈给编写人员进行修改,直至通过所有测试环节[5]。测试完成后,测试人员要与编写人员一起将脚本及说明文档上传到脚本库中。
  4.2 脚本部署管理
  在IT服务生命周期中,脚本部署属于部署实施阶段。该阶段承上启下,黏合规划设计和日常运营,是脚本在实际环境中运行的基本保障和物理体现。
  对于脚本部署环境,某些脚本需要在生产环境中部署,例如生产作业脚本、日志清理脚本、报警脚本等;某些脚本需要在自动化工具上部署,例如日常检查脚本、一次性查询检查脚本;对于投产安装脚本与变更脚本,某些需要在生产环境中直接部署,某些部署在自动化工具上,此时视具体情况而定;辅助操作脚本一般不需要部署,但需做好存档工作。不论是那种部署方式,都需要将部署方案写入说明文档中,由测试人员对部署方案的可行性进行评估。
  4.3 脚本分类与存档管理
  在IT服务生命周期中,脚本分类与存档属于服务运营阶段。当大量脚本编写测试完毕,并在生产环境中部署后,脚本的分类和存档显得尤为重要,好的管理方式和管理目录结构可以让运维人员最快地找到需要的脚本,节省大量时间。
  脚本按用途及重要性分为5个级别:1)生产作业脚本、定期清理脚本;2)变更脚本、投产安装脚本、环境初始化脚本;3)报警类脚本、日常检查脚本;4)一次性查询及检查脚本;5)辅助操作脚本。脚本级别数越小,安全級别越高。第1级为最重要级别的脚本,因其会不断对生产环境进行修改操作。第2级则是偶尔对生产环境进行修改操作。第3、4级在生产环境中运行,但不对生产环境操作。第5级,对生产环境无影响,一般不在生产环境运行。
  建立一个脚本库,将所有脚本和相应的说明文档,按级别和用途归档存放。脚本库可以通过自动化工具对脚本统一注册管理。脚本测试完成后,由测试人员和编写人员共同通过自动化工具将脚本及相关文档上传到脚本库中,流程管理员监督上传过程。对于脚本有更新的情况,也需在脚本库中及时更新。
  4.4 脚本迭代管理
  在IT服务生命周期中,脚本迭代属于持续改进阶段。当脚本需要更新或有新需求时,需要进行该阶段管理,对脚本持续迭代。
  脚本测试人员要对脚本的运行状况定期检查,发现问题需及时通知给流程管理员和脚本编写人员,并组织实施脚本更新流程。更新流程要执行脚本的发布流程,并在脚本流程表中记录。
  脚本发布后的版本命名规定为VI.O,每更新一次则在之前的版本基础上加0.1,例如第一次更新后的版本为V1.1,版本号要写在脚本名称中。更新脚本后说明文档要一并更新,并及时更新脚本库和自动化工具中的注册信息。
  脚本更新中新增功能需求的,严格按以上要求实施脚本更新流程。
  4.5 脚本监督管理
  在IT服务生命周期中,脚本监督属于监督管理阶段。脚本监督贯穿于整个脚本管理生命周期,需设置专人进行此项工作。
  4.6 脚本全生命流程管理
  首先,脚本发起人按照日常运维需求,同时要通过经理或相关负责人的审核,发起脚本的生命流程。发起脚本生命流程需要指定脚本生命过程中的角色并生成脚本流程表。其中,要指定的角色包括脚本流程管理员、脚本编写人员、脚本测试人员。脚本流程表中,需要填写内容包括发起日期、脚本需求、相关角色、脚本种类、脚本级别、Checklist。
  其次,脚本发起人编写脚本发起脚本的生命流程后,进入编写脚本、测试脚本、部署脚本和更新脚本过程。其中,编写脚本由编写人员负责完成,测试脚本由测试人员完成,部署脚本由编写人员和测试人员共同完成,部署脚本的同时要对脚本及相关文档做好存档备案工作。脚本更新则需根据脚本流程表重复一遍。
  最后,脚本流程表由脚本流程管理员妥善保管。脚本流程管理员要全程监督、保障脚本生命流程的顺利完成。脚本编写人员与测试人员要把脚本生命阶段及时报给脚本流程管理员,并签字备案。脚本流程管理员也要定期地去监督,脚本的完成情况。经理或负责人可以抽查脚本流程执行情况和脚本完成情况[6]。
  此外,脚本流程表相关角色可以职责重叠,即“一人分饰多角”。但考虑到脚本编写和运行质量,脚本编写人员与脚本测试人员不能为同一人。
  5 结束语
  本文结合IT服务生命周期理论,主要论述了脚本编写管理、脚本测试管理、脚本部署管理、脚本分类与存档管理、脚本迭代管理和脚本监督管理几个方面的内容,从而形成了脚本的全生命周期管理。
  整个脚本生命管理过程中有几个关键点:第一,制定脚本流程表,并分配好角色,指定流程管理员;第二,给脚本分级,建立版本库,并及时更新;第三,指定脚本编写规范,包括注释、说明文档、程序内在机制等;第四,规范测试的事项,并列入流程表;第五,部署过程中充分利用自动化工具,将部署方案写入说明文档;第六,制定脚本运行状态检查机制,按照版本号及时全面更新。
  总之,做好脚本管理,可以提高脚本使用安全性,增强自动化运维程度,提高日常工作效率,并可以促进运维人员互相学习,互相进步。
  参考文献:
  [1]陈喜春,吴吴.用脚本实现计算机管理的自动化[J]电脑学习,2010(2):73-74.
  [2]范田,邵作敬,衣志鹏,等.IT服务管理在运维管理中的分析与应用[J].通讯世界,2018(1):61-62.
  [3]舒文琼.IT服务走向全生命周期覆盖[J]通信世界,2008(32):59.
  [4] Bill Stewart.改进脚本,提防出错Shell脚本编程的10个关键细节[J].林颖华,译.Windows IT Pro Magazine:国际中文版,2006(11):28-30,35.
  [5]谢连军,张彦伟.Shell脚本在Indra自动化系统中的应用[J]中国民航飞行学院学报,2015,26(4):54-58.
  [6]王慧.信息化社会环境下的计算机管理策略[J].信息通信,2011,24(6):114-115.
转载注明来源:https://www.xzbu.com/8/view-15150077.htm