实战剖析:13步设计出一个ITSM系统

  作者:畅享网
2007/10/15 14:35:55
本文关键字: IT服务管理 ITSM

 这是我一直想写的内容,本来是希望把这个项目从立项到规划,到设计开发,到最后的实施应用的全部过程写成一个笔记,但工程浩大,就先把我们规划这款ITSM系统的想法写出来,里面会夹杂着我对这类系统的深入思考。

  这种考虑一是基于对ITIL的理解,二是对软件实现的理解,三是运维管理的考量。内容不会十分具体,因为每一个部份基本都是一个模块,如果写得深入,就是一个详细的设计说明书了。下面逐步展开说明。

  一.系统目标

  系统目标是为了说明我们想开发一个怎样的系统,想利用这个系统做什么,达到怎样的目的。最简单的是,我们想打造一个运维平台,把我们在各个地区分布的运维服务团队,无论属于哪一个客户群的,无论是属于哪一种业务领域的(桌面、网络、系统、软件),都统一纳入到一个相同的平台上。

  他们要基于相同的制度,基于相同的流程,基于相同的理念,用统一术语与方式去服务客户。我们的一个优势是规模与平台资源,但如果我们的人员与业务无法整合到一起,这种优势就不复存在,反而可能成为一个负面原因。因为你没有了大船的承载能力,也没有小船的灵活转身能力。

  运维服务业务有其特点,很难标准化,太容易受客户的影响而改变流程或制度。一旦你的团队分散、客户多,而且地理分散,光依靠发布ISO20000的体系文件,对人员做扎实的培训,就指望把大家的各种作业规范统一起来,不是说不可能,极难。运维服务数据极难分析与采集,一个显而易见的方式就是利用软件。

  我们在打造自已的平台时,概括来说,有这么几个方面要求:

  ①设计要求:基于我们的运维服务业务特点,把我们的管理经验置入其中,同时纳入ISO20000的实施所得,就是我们的服务体系。还要参考REMEDY优缺点,这些是我们规划设计这系统的基础。

  ②范围要求:我们这个平台要能管理所有的运维对象(各种类型的项目),同时要管理我们的运维资源(人)。运维对象可以具体到具体每一个CI及其备件,运维资源具体到每一个人的工时利用。其它像服务目录与SLA等,都要纳入管理。

  ③扩展要求:运维平台可以满足公司模式的发展需求,以及产品的发展,这里涉及具体的公司现状,就不多作说明了。

  ④质量要求:在应用质量上我们要超过REMEDY,注意是应用质量,不是指功能,功能上我们无意与REMEDY去一争长短。我们有信心只要一年实施时间,就完全可以超过REMEDY在公司的应用质量。

  二.系统架构

  我们使用的是B/S系统架构,这是为了方便地理分散的员工使用,也是考虑到日后全国的用户可能会登录系统进行部份作业,比如参与调查,或者开放论坛等。采用B/S的架构,负面的影响一是速度,二是界面表现力,但日后的升级维护比较方便,用户登录也很方便。是否成功,要等日后大规模应用时才能进一步验证。

  开发平台是.NET2005 C#,数据库采用ORACLE 10G。另外我们在流程中(比如事件升级、派单)做了一些邮件通知与短信通知的功能,其它技术方面,倒没有太多值得说明的地方,也可以说技术并没有太多的亮点。

  三.流程控制

  在系统流程控制方面,放弃了采用工作流引擎的想法,一是不希望增加项目复杂度,二是硬性的流程事实上不现实。因为在运维服务活动中,单据的流转方式很难硬性定义,加上一人担负多个角色,去配工作流没有太多意义;同时我们主要是自用,运转起来后,去调整流程的可能性较低,那样工作流引擎存在意义就很低了。

  所以我们在开发过程中,一旦有硬性的流程就写死在程序中,而单据的流转是由人确定的,可以不做限制进行单据的转派。不能指望软件去实现一切控制,有些控制点放在系统之外,往往会更好更省力。

  软件只是一个汽车,你想它跑得更快更好,需要有一条道路去配合在一起,这条路就是你的管理制度。许多寄望软件实现的控制点,一旦没有考虑清楚,最后会带来许多麻烦。所以要有先松后紧的策略,逐步增加控制,而且要以制度为先。

六.问题管理

  问题管理处理逻辑其实是类似事件的,它的许多信息是继承事件,比如等级与类型等。在规划问题管理时,要想清楚问题的分类等级等信息跟事件是什么关系,问题管理的大概作业界面有哪一些,在系统流程上有哪几个步骤,如何留下问题的处理时长与工作量等等。

  还要想清楚问题与事件在程序处理上的区别,比如问题的创建后需要有一个审批的动作,问题不服从SLA,问题有知名错误的概念,这一部份的设计如果你的事件规划好后,问题管理是相对简单的,它的难不在于程序,而在于日后的应用。

  问题的统计报表,基本上与事件的纬度类似。

  七.变更管理

  在ITIL中,变更与发布是两个独立的流程,我们把这个流程合并为一个。发布的控制在程序中可以实现的控制点是很少的,而且它与变更是如此紧密。在我理解中,变更的实施就是发布流程,即发布可以理解为是变更的一个子流程。发布不仅仅是针对软件的,硬件一样也会有发布的概念,比如将一台新设备布署到生产环境中。

  对CMDB的控制,在业务层面全部需要通过变更来实现,CMDB精确度如何,很大程度上取决于变更的执行情况。我们考虑到一点,如果让CMDB的信息更新得到有效控制,当工程师在填写变更申请时,在界面上就提列出变更前后的具体信息;审批时,不光是审批变更的行为,更重要的是要审批变更的内容;如果审批通过,执行后,根据这些信息把CMDB做更新。这样可以相对减少没有约束的对CMDB更新的行为。

  变更管理为什么而存在,在业务上起到什么作用?这些我觉得很多人没有想清楚,很多时候变成变更管理,主要目的是为了实现对CMDB的维护控制,这是对变更管理的曲解。这点上我也犯过这种毛病。

  变更的主要目的是授权与控制对基础架构或其它服务的改变,这里说的更新是指现实的服务或物理上的基础架构,而不是系统中数据的更新。100条变更请求并不会都落入到CMDB的更新中,可能有5条是对SLA的变更,所以变更与CMDB不是划等号的。

  当你的工程师对具体设备做维护时,事实上你已赋予他改变基础架构的权利了,如果他把生产环境中的CI做了改变,那他再走变更管理的意义是什么?是为了控制他对CMDB的更新吗,这种控制反而起到负作用;如果无法控制别人对生产环境的变更行为,或者你是默认授权的,最后给予一个通道让他直接维护CMDB,比如一名桌面工程师,在修电脑的过程中,把一台电脑的操作系统升级了,这时他要走变更管理流程吗?

  我的回答是不应该,除非他不得到批准就不能对操作系统做升级,这时变更才具有意义,不然这种控制是完全负面的。如果这个工程师在修电脑的过程中,发现硬盘彻底坏掉了,需要更换硬盘,可能超出了他的权限范围(这也需要考虑到具体业务定义),这时他不走变更流程根本无法得到硬盘,变更才具有一定意义。

  但上述情况并不是最具代表性的,这样的业务情形最具有变更管理的代表性:要对一段网络做调整,但可能会影响到几个系统项目,这时需要发起变更申请,由涉及到的几个项目负责人与网络领域的主管一同做变更的评估。如果认为有方法对应,可以进行此次变更的话,需要制作一个变更的实施方案,安排人员实施调整操作。实施完成,把CMDB中的信息更新。

  变更管理的统计报表,可以从发起源统计,可以从CMDB的角度发起统计,也可以从变更本身的信息进行统计,比如变更的状态、变更的分类、变更的人员等。

  八.配置管理

  配置管理模块,核心的就是CMDB,这一点我就不再毒品啰嗦了,把配置管理的流程层面的一些点再说明一下。

  CMDB的审计:CMDB审计是需要规划好的,应该可以根据各种条件审计,比如根据某一类的组件,某一个项目的组件,还可以确定一定的数量进行审计(随机抽取),也可以决定一定的比率(随机抽取)。审计的目的是为了检查CMDB的数据正确情况,找出问题并修正。

  CMDB的锁定:CI在某些情况需要进锁定,比如变更时,比如审计时。为什么要这样呢?如果你对一个CI变更时,不锁定这个CI的信息,会发生几个地方同时对这个CI做信息更新,由于时间差,很可能把错误信息更新到CMDB中了;同时用户在变更过程中调用CI信息的话,也会发生误导。所以需要控制单线程对CI进行维护,在同一时间只能有一个对CI维护的动作进行。审计也是一样,如果你审计开始时,这个CI信息一直在动态变化,不锁定CI的话,审计无法进行,同时会审计出一个错误的结果。

  配置管理的信息可以被许多模块调用,需要规划到CI查询的画面,然后置入到事件、问题、变更、操作等模块中。CMDB的人机界面相当关键,要尽可能方便调用、查询、操作。

九.操作管理

  操作管理为了处理那些非事件、问题、变更等事务,比如机房巡检、定期的机器清洁、检修。操作管理可以创建作业,作业的来源有两种来源。一种是直接创建的,比如临时要对一台设备做检测;一种是根据周期性作业计划产生的,比如服务器每日要检查数据文件、表空间使用情况、JOB运行情况、操作系统日志。操作管理与能力管理中的监视计划存在许多联系。

  操作管理有一种东西需要特别,就是服务日历。什么是服务日历呢,跟客户签订运维合同时,我们承诺我们的服务是8*5或16*7,这种承诺表示在这个时间期内,我们周期性的任务是与之相配的。比如我们上面说的服务器巡检,如果每4小时需要做一次,我们跟客户签的是一年8*5的合同的话,那么我们每周要做5*2次巡检,这个次数是事先定义好的。

  每个项目的服务日历可能不同,这表示每个项目都可能存在一个服务日历。根据这个服务日历,我们在系统中制作出一个周期性的计划,系统根据服务日历与计划内容,每天提前生成出作业指令给工程师。计划上还定义了标准的工时要求与作业要求,工程师每天把这样指令做完,然后把相关的作业关闭,并留下相应的实际工时,这就是操作管理的核心。

  操作管理主要功能点有制作计划、创建作业、作业处理、作业关闭、统计分析,功能界面是相对简单的,但这个模块可以把除事件、问题、变更之外的工程剩余活动有效管理起来,而且可以保证你的服务作业得到强制执行。它可以针对每一个批量计划做分析,分析执行如何,花费了多少服务资源。要注意的是操作管理与事件管理没有做程序接口,就是说如果工程师在巡检时发现故障,需要手工在事件管理创建事件,而不是自动去触发事件。

  十.任务管理

  任务管理的本意是为了管理我们的管理资源,这是针对我们公司自身的运维管理特点设计的。每年我们做许多管理改善的工作,做很多培训,开许多会议,我们一直想分析一下花在管理上的资源是多少,希望把管理工时与直接生产工时做一个比率分析。这是管理效率提升的非常重要的基础数据。

  比如领导要求各个领域开展员工能力提升活动,在任务管理中,只需要部长生成一个任务,派给各个业务主管,任务中标明要求完成的时间点;每个业务主管接到这个任务,展开作业,作业过程的记录与工时会不断增加在这个父任务上,一直到完成审请关闭时;当每一个子任务都关闭时,父任务可以关闭,统计出花费的资源情况,任务可以多层分解,甚至可以分解到每一名员工身上。这可以加强任务的控制力度,也会控制管理人员过度使用资源。

  任务管理更多是为了管理者的工作而设计的,这也是运维服务作业中最后一块没有被记录的话动。这样下来后,事件、问题、变更、操作、任务就构成了任何一个运维服务人员,无论他是领导还是一线员工的作业平台,只有监视所有的活动,其资源使用才被全部监视。

  任务管理的报表有针对任务执行情况的,还有横向分析任务类型的,即任务的资源占用情况。如果数据积累足够多时,这种分析展开,会让我们非常吃惊,因为运维服务的大量资源是被无效使用的。这样运维服务管理才有改善的方向与具体指标。

  十一.SLM管理

  某种程度上,我们的ITSM系统并没有实现真正意义的SLM管理,系统中并不关心SLA制订出来前的过程,也没有把UC与OLA等纳入其中,我们只把制订出来的SLA设置在系统中,以实现监控与作业。所以以下说的是SLA的管理实现方式。

  SLA在我们业务中分为故障解决率与Q指标,EUS(客户满意度)是另一个纬度的数据,不在此列。故障解决率是指在规定时间内完成事件处理的百分比,Q指标是持续运行时间。

  具体谈一下我们的实现方式。前面说的服务日历是很重要的一个基础数据,没有它,SLA的计算全部会错。我们把事件分成了5个等级(SLA只适用于事件处理),每一个项目都会针对每一个事件等级设置解决时间要求值(比如一级事件需要2小时,二级事件需要4小时,三级事件6小时,四级事件8小时,5级事件12小时)。

  这里定义的时间值是与服务日历匹配的,比如服务日历定义5*8是指周一至周五的8:00-12:00,14:00-18:00。如果一个一级事件发生在周五的1 7:00,即便是第二周周一的8:30解决,也没有违反SLA(虽然现实中我们会马上处理,但SLA计算是如此)。

  另外Q指标的定义是这样的,每一个项目要定义清楚到底哪一个事件等级会纳入Q指标的计算中,比如一级、二级事件的故障时间(从事件创建到事件解决)会纳入计算,三、四、五级的事件故障时间就不纳入计算,这样随时可以计算你当前的Q指标是多少。

  SLA设置完成后,就会在事件中就用。当你把事件定位在一个项目时(CI),你选择了事件等级,此时系统会调出事件解决的时间要求;当你创建完成时,系统开始倒计时。SLA的报表主要是针对故障解决率与Q指标的,只是统计的纬度是多样的。

十二.知识库管理

  知识库管理考虑现实情况,我们没有做得太复杂,运维服务的知识有较强的时效性,更新较快。这里说的知识是针对故障处理方面的,并不是指员工的技能或知识培养方面,这与通常说的KM有不少区别。

  运维过程中的知识非常具有针对性,所以没有把通用的知识纳入考虑,都是从项目的角度提出来。知识的创建有三个来源,事件生成、问题生成、手工创建。为了便于查找,我们的做法是以项目为纲,以分类为目,以关建字为辅,即最根本的分类是项目,然后是根本事件问题的分类,最后是用关键字,用这几个手段查找知识点,供工程师处理事件时调用查看。

  无论知识是从事件或问题或手工创建,都会有一个审批的过程控制知识库的更新,还可以设置知识有效期限。另外,知识库的创建可以做一些统计与分析,看哪一个团队的知识复用较多,哪一种类型的知识较多。对于知识的利用,不建议纳入系统考虑,因为在软件中难以识别,靠点击意义不大。一个人打开知识看后,可能发现根本不是他想要的,或者他只是借鉴看一下,这时强迫按钮操作没有意义。

  十三.调查管理

  调查管理原本是希望改变以前手工发邮件采集满意度调查的做法,设计时,发现可以对象化,做得更灵活些。我们是这样考虑的:可以设计许多问卷,可能是针对客户满意度的,可能是为了调研我们的服务方式改进方向的,也可能是为了解服务产品化的潜在空间的。问卷设计好后,可以生成调查任务,一个问卷可以被无限调用,而调查结果是针对调查任务而不是针对问卷的。

  调查可以直接发网址到客户邮箱(取自客户数据),也可以直接把问卷发过去。如果是WEB采集数据,可以生成用户名与密码发到客户邮箱,用户登陆系统填写,也可以手工回收。但WEB是省力的,因为调研结果由系统自动生成。

  有一些细节需要考虑,比如任务的开始与结束时间决定问卷填写开始与停止,是不是设置必填与可选,是翻页填写还是整页显示,甚至问卷的答案选项与分值设置,还要注意调研对象散与客户资料的集成(从某一个客户组织选择一定百分比),还有CMDB(针对某一个系统或项目)的接口。

  基本上把我们大的模块写完了,有些大杂烩,有些地方不够深入,也没有把一个ITSM系统每一个模块应该具备的元素提炼好,象一些绩效点没有成体系写出来。但上述许多设计仍然是国内公司一段时间内较难企及的,这里包含许多年来各种各样的思考,软件的、管理的、ITIL的,对运维业务本质的理解。从事这种系统开发的公司或个人能知道其中的价值。

来源:IT168

责编:张赛静
vsharing微信扫一扫实时了解行业动态
portalart微信扫一扫分享本文给好友

著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。
最新专题
成都行

成都行亮点 成都行程 智囊团 参观成员 合作媒体 活动咨询..

2015年中国制造业信息化峰会

大会聚焦 大会亮点 大会议程 重要嘉宾 成都行 赞助合作 ..

    畅享
    首页
    返回
    顶部
    ×
      信息化规划
      IT总包
      供应商选型
      IT监理
      开发维护外包
      评估维权
    客服电话
    400-698-9918