信息系统运行管理员是怎么运维信息系统软件的,下面是信息系统软件运维,大家可以一起来学习下。
1、信息系统软件的可维护性及维护类型
信息系统软件运维:是指信息系统软件在开发完成投入使用后,对信息系统软件进行的改正性维护、适应性维护、完善性维护、预防性维护等软件工程活动。
信息系统软件维护工作直接受到软件可维护性的影响。
软件可维护性:是指软件产品被修改的能力,修改包括纠正、改进或软件对环境、需求和功能规格说明变化的适应。
对软件可维护性的度量:
①可理解性:可理解性描述了通过阅读源代码和相关文档来了解系统功能及其如何运行情况的难易程度
②可靠性:可靠性表明一个软件系统在给定的一段时间内正确执行的概率
③可测试性:可测试性表明能够用测试的方法来验证程序正确性的难易程度
④可修改性:可修改性描述了程序能够被正确修改的难易程度
⑤可移植性:可移植性表明程序从一个运行环境移植到另一个新的运行环境的可能性的大小
软件维护分类:
(1)纠错性维护 21%:由于系统测试不可能揭露系统存在的所有错误,因此在系统投入运行后频繁的实际应用过程中,就有可能暴露出系统内隐藏的错误。诊断和修正系统中遗留的错误,就是纠错性维护
(2)适应性维护 25%:适应性维护是为了使系统适应环境的变化而进行的维护工作
(3)完善性维护 50%:在系统的使用过程中,用户往往要求扩充原有系统的功能,增加一些在软件需求规范书中没有规定的功能与性能特征,以及对处理效率和编写程序的改进
(4)预防性维护 4%:系统维护工作不应总是被动地等待用户提出要求后才进行,应进行主动的预防性维护,即选择那些还有较长使用寿命,目前尚能正常运行,但可能将要发生变化或调整的系统进行维护,目的是通过预防性维护为未来的修改与调整奠定更好的基础
2、信息系统软件运维的体系
需求驱动:信息系统软件运维工作是由用户的需求驱动的,其目的是为了更好地满足用户的改正性、适应性、完善性、预防性需求。因此,用户需求是信息系统软件运维工作的起点,由用户的需求变化驱动信息系统软件运维,进一步驱动信息系统软件的发展变化
运维流程:信息系统软件运维流程可以分为运维策划、运维实施、运维检查、运维改进四个阶段,这四个阶段构成一个迭代的循环过程
运维过程:信息系统软件运维的过程主要包括日常运维、缺陷诊断与修复、配置管理、变更管理、系统恢复管理、发布管理等
运维支撑要素:信息系统软件运维管理应该遵从ITIL、ISO20000、ISO27001等国内外先进的服务管理理论的要求,管理制度、管理部门、管理人员、管理设施是开展运维工作的必要基础
运维管理制度:运维工作的各个流程能顺利执行的关键就是建立一套全面覆盖整个运维工作的、有一定的约束和强制执行力的管理制度
运维管理部门:运维管理部门具体管理信息系统软件运维的各项工作,审批软件运维申请,确定运维报告,评价运维工作并制定运维管理制度
运维管理人员:主要包括软件运维工程师、系统管理员、技术服务经理等
软件运维工程师:具体负责软件的运维
系统管理员:规划、检查运维服务的各个过程,对运维服务的策划、实施、检查、改进的范围、过程和成果负责
技术服务经理:组织如何进行变更修改,由熟悉计算机编程的软件技术人员担任
运维管理设施:主要包括信息系统软件运维所需要的基础环境、网络设备、硬件设备
信息系统软件运维要遵从的原则:
1.遵守各项规章制度,严格按照制度办事
2.与运维体系的其他部门协同工作,密切配合,共同开展运维工作
3.遵守保密原则,运维人员对运维单位的网络、主机、系统软件、应用软件等的密码、核心参数、业务数据等负有保密责任,不得随意复制和传播
4.在保证信息系统数据和系统安全的前提下开展工作
5.若在运维过程中出现暂时无法解决的问题或其他新的问题,应告知用户并及时上报,寻找其他解决途径
6.信息系统软件运维完成后,要详细记录运维的时间、地点、提出人和问题描述,并形成书面文档、必要时应向信息系统用户介绍问题出现的原因、预防方法和解决技巧。
3、信息系统软件运维的趋势
DevOps的原则
基础架构即代码 IaC。
基础架构(虚拟机、网络、软件等),通过代码表示环境的相应状态,以免手动配置环境,同时确保一致性。通过代码实现的基础结构部署是可重复的,从而快速、可靠、大规模地交付应用程序及其支持基础结构。
持续交付。
是一种帮助团队以更短的周期交付软件的方法。该方法意在以更快速度更高频率进行软件的构建、测试和发布。
协作。
开发和运维角色之间日益增加的协作文化。
DevOps的价值:产品高效交付;改善公司组织文化、提高员工的参与感,员工们变得更高效,也更有满足和成就感。
DevOps的工具:版本控制软件库、深层模型系统、人工任务的自动化。
2.2 信息系统软件运维的管理
1、运维检查
运维实施
信息系统软件运维策划完成后,就应该按照整体策划实施。在具体实施过程中应保证:
(1)制定满足整体策划的实施计划,并按计划实施
(2)建立与客户的沟通协调机制
(3)按照运维规范要求实施管理活动并记录,确保服务过程实施可追溯,服务结果可计量或可评估
(4)提交满足质量要求的交付物
运维检查做好如下工作:
(1)定期评审运维过程及相关管理体系,以确保运维能力的适宜和有效
(2)调查客户满意度,并对运维结果进行统计分析
(3)检查各项指标的达成情况
运维改进
具体包括如下内容:
1、建立信息系统运维管理改进机制。
2、对不符合策划要求的运维行为进行总结分析。
3、对未达成的运维指标进行调查分析。
4、根据分析结果确定改进措施,分析评估结果中需要改进的项,确定改进目标,制定信息系统软件运维管理改进计划,按照计划对改进结果和改进过程执行监控管理、评审并记录,保留记录文档,以评估改进的有效性和持续性。
信息系统软件运维文档是对运维服务参与各方主体从事信息系统软件运维实施及运维管理提供决策支持的一种载体。
应注意如下方面:
1、文档管理制度化
2、文档标准化、规范化
3、落实文档管理人员
4、保持文档的一致性
5、维护文档的可追踪性
2.3 信息系统软件运维的过程
1.日常运维
日常运维的内容包括:监控、预防性检查、常规操作。
监控的主要内容:CPU、内存、磁盘、进程状态;服务或端口响应情况;日志是否存在异常;资源消耗情况;数据库连接情况等。
预防性检查的主要内容:典型操作响应时间;病毒定期查杀;口令安全情况;日志审计、分析;关键进程及资源消耗分析等。
常规操作的主要内容:日志清理;启动、停止服务或进程;增加或删除用户账号;更新系统或用户密码;备份等。
日常运行流程的关键点:
日常运行开始前应先查阅系统日常运行记录
在日常运行工作中,系统操作人员处理运行过程中的随机事件,对不能解决的事件移交给维护工程师处理
维护工程师对在维护后发现系统有缺陷,则向技术服务经理申请转入缺陷诊断与修复流程
日常运行完成后应编制日常运行报告,并与日常运行过程中产生的文档一并归档
例行测试流程的关键点:
开展例行测试前应先指定测试计划及测试用例
测试人员按计划依据用例执行测试
测试人员对测试结果进行分析,对有需维护的功能则移交给维护工程师处理
维护工程师在软件维护后发现有缺陷不能解决,申请进入缺陷诊断与修复
例行测试完成后应编制例行测试报告,并与例行测试过程中产生的文档一并归档
例行维护流程的关键点:
开展例行维护前应制定例行维护实施方案
维护工程师对记录的维护情况进行分析,对在维护后发现系统有缺陷,则向技术服务经理申请进入诊断与修复流程
例行维护完成后应编制例行维护报告,并与例行维护过程中产生的文档一并归档
定期测试维护流程的关键点:
定期测试维护开始前应先查阅信息系统软件日常运行记录
对定期测试记录进行分析,对有需要维护的信息系统功能则申请进行维护处理
维护后发现系统存在缺陷,则申请转入缺陷诊断与修复流程
定期测试维护完成后应编制定期测试维护报告,并与定期测试运维过程中产生的文档一并归档
信息系统软件诊断与修复是指按照标准的测试检查方法、测试检查工具或第三方测试工具,按测试规范对软件进行缺陷诊断与修复的活动。
缺陷诊断与修复流程的关键点:
接受问题申请后,应对问题进行初步判断
经检查分析,对属于异常的缺陷则进行修复,对于属于常见问题则由相关人员进行技术支持
对不能修复的异常缺陷申请重大缺陷处理
缺陷诊断与修复完成后应编制缺陷诊断与修复报告,并与缺陷诊断与修复过程中产生的文档一并归档
信息系统软件缺陷分为:功能缺陷、系统缺陷、加工缺陷、数据缺陷、代码缺陷。
信息系统软件出现不能正常工作的情况时,需对系统实施恢复安装操作,使软件系统尽快恢复正常、稳定运行。
信息系统软件恢复管理流程的关键点:
接受问题申请后,应对问题进行初步判断
经检查分析,对属于异常的缺陷则进行修复,对于属于常见问题则由相关人员进行技术支持
对不能修复的异常缺陷申请重大缺陷处理
缺陷诊断与修复完成后应编制缺陷诊断与修复报告,并与缺陷诊断与修复过程中产生的文档一并归档
2.配置管理
信息系统软件配置管理是一种应用于整个软件工程过程的标识、组织和控制修改的围绕软件资产的管理技术。
信息系统软件变更管理是指项目组织为适应项目运行过程中与项目相关的各种因素的变化,保证项目目标的实现而对项目计划进行相应的部分变更或全部变更,并按变更后的要求组织项目实施的过程。
信息系统软件发布是变更的后继过程,指的是将变更实施到生产环境的过程。
发布管理是通过项目规划的方式来实施变更,确保只有经过测试的、正确无误的信息版本才能发布到运行环境中,保证运行环境的安全可靠。
发布管理的目的在于控制发布过程中存在的风险,避免或减少发布失败对生产系统造成的影响。
2.4 信息系统软件运维系统与专用工具
信息系统软件运维系统的功能:信息系统软件信息收集、信息系统软件监控、信息系统软件分发功能。
1.信息系统软件运维专用工具
版本控制工具
集中式的CVS、SVN,分布式的Git、Mercurial
构建工具
Ant、Gradle、maven
安装部署工具
自动化安装工具:Kickstart、Cobbler、OpenQRM
自动化部署工具:Capistrano、CodeDeploy
配置管理工具
Ansible、Chef、Puppet、SaltStack
系统监控工具
Datadog、Graphite、Icinga、Nagios、AppDynamics、New Relic