3 .如何衡量企业运维体系的自动化成熟度
任何事物的成功都离不开客观的数字化,以及相关的衡量指标。依据指标可以清晰地看到自己所处的自动化阶段,自动化的应用程度,以及未来继续发展的方式和目标。
1) 自动化率
统计出日常工作中所需要的所有和开发及运维相关的操作,然后看看其中多少的操作已经是自动化完成的,多少操作是半自动化所完成的,多少操作是手工所需要完成的,分别占比多少,最终可以形成一个全局的饼图。
运维操作自动化占比示例
2) 操作时长和频次
毋庸置疑,自动化的操作速度远大于手工操作。如能记录完成操作所需要的时间,再进行自动化前和自动化后的对比,便可轻易地看出自动化的价值所在。尤其是频繁,复杂的操作,业务价值的体现则会更加明显。现代IT中最为频繁的操作为:
• 环境部署(Infrastructure)
• 环境配置(Configuration Management)
• 应用部署和配置(Application Deployment)
• 日志、报警或故障处理
3) 平均修复时间MTTR
从报警发生到故障被解决,系统被恢复的时间,称之为平均修复时间(Mean Time To Repair),它的公式如下:
平均修复时间=总故障时间÷总故障次数
举例来说,假设一年的总共故障时间是100小时,总的故障次数是12次,则平均修复时间为8.3小时。进一步,则可以根据故障的分类,模块,根因等进行分类,分别进行统计。
特别说明:在严格的情况下,请注意平均修复时间和平均恢复时间的稍许区别,前者不包括从故障实际发生到报警的时间,只是包括故障已经被发现,并且开始进行故障修复的时间,而平均恢复时间包括两者:从故障实际发生到故障报警,和故障报警到故障修复的时间。通常来说,故障报警所需要的时间相当于修复所需的时间而言较短,且占比较少,因此在宽松的语境下,两者会被混用。
4) 高质量的自动化所应具备的特性
自动化能力的构建应该按照正式的产品和项目进行,同样需要需求管理,调研,设计,研发,测试和部署等必要的环节,并保持持续迭代。而部署后的环境同样需要具备健康管理,从而进行监控,报警,故障和修复等。必要时,进行整体性的优化,改造和升级。
除此之外,现代化的自动化还应该考虑以下需求:
• 完备的角色管理和授权体系:毋庸置疑的是,自动化能力将会涉及到所有系统的所有环节,包括核心业务系统,机密数据等操作。越是重要的系统应该越依赖自动化能力而非手工方式,因为人工的处理存在种种的弊病,如因为粗心导致的失误操作等。因此,完备的角色管理和授权体系可以保证重要业务持续运行,以及保证机密数据的安全性。
• 具备审计能力:所有的自动化都应该具备可以被审计的能力,尤其是当所操作的对象是核心业务或机密数据时,更依赖审计能力去保证其安全。其次审计能力也有利于自动化系统本身故障的排查。Cloud上的云产品大多已经接入了Cloud上的审计服务,应该开启这类服务,并时常检查数据的完整性,保证关键的操作都被记录了下来。
• 标准化和平台化:统一的自动化能力是其他特性的重要依赖,标准化和平台化的目的都是为了统一。统一性的管理也有助于平台自身的建设,尤其应该避免建设多个自动化平台。统一的自动化平台也有利于公司统一进行监督和扩展,如要修改审核规则时,更容易落实规则。
5) 自动化能力成熟度模型
如果您希望对所在企业的自动化能力成熟度进行评估,建议至第十章进行“CloudOps成熟度自评”。