智一面初中级Linux运维工程师在线评测:http://www.gtalent.cn/exam/interview/eUrdXoILlsGnh6At

本篇文章设计了运维部门岗位专业技能定级标准的一个总体框架。简述了该定级标准体系的设计方法论。
以我的理解,有这样一套岗位专业技能定级标准,可以有以下三个好处:
可以开拓一下大家对运维部门各个专业岗位的管理思路。
可以给团队里的新老员工提供一份工作上的专业技能练级指南,比较容易把大家往公司重点使用的技术栈方向进行引导。而对于很多的初中级运维工程师而言,普遍性地存在职业发展方向不明的问题,容易几年时间过去,却一事无成。在这个技能发展体系的引领之下,无疑会提高一些成才率吧,于公司于个人都是好事。
在处理团队员工的调薪工作中,依据每个人的专业技能级别和相对上一次评定结果的进步幅度,来决定本次调薪与否以及上调幅度,所有的员工评级结果数据都是可以公布公示的,级别高的、进步大的,就会得到更好的调薪处理,这样能让每次的薪酬调整工作更好地发挥出奖励优秀、鼓励进步的作用。
注意:在本标准体系中使用的一些技能评定分类方法,需取决于各个公司的岗位职责设计,自行裁剪或补充。直接套用本设计标准,可能存在各种细节上的不匹配现象。

一、目的
通过设计和维护这样的一套标准资料,为运维部门内的各个岗位人员的专业技能定级提供规范化的指导。
可以依赖这份细化后的技能定级评价手册,为每位员工定期出具一份岗位专业技能评价结果,该评定结果可以作为每年员工调薪机会中的重要参考数据。

二、技能定级标准的设计方法介绍
1、依据岗位的任职要求,为每个专业岗位设计出大约5到15个工作技能的评定类别;
2、针对每个工作技能的评定类别分别设计出0~5级,从初级到高级共5个级别的工作技能级别;

3、关于工作技能水平的0~5级分级设计,可以借鉴下面的例子:

级别0,什么都不懂
级别1,基本安装、配置、使用,知其然但还不知其所以然
级别2,熟悉基本原理和常用配置项,能根据实际情况修改
级别3,熟练分析、定位和排除配置、容量、网络或性能故障,并对问题做出改进
级别4,精通软件的体系架构和运行机制,可以从源码分析和定位问题根源
级别5,精通软件的网络架构、存储架构、监控架构以及高可用运维架构设计,可以根据业务实际情况设计出正确的软件架构选型
4、每年安排两次员工的技能评价与定级工作,建议与公司的调薪安排保持相同的节奏,依据员工专业技能评级结果决定调薪机会和幅度,相应的专业技能等级需要提供与之匹配的岗位薪资。
5、从事技术管理岗位或工作职责中包含部分管理内容的员工,在进行技能评级时需要合并考核一部分管理能力专业技能的指标。
6、每一个专业岗位应该定义出适用于本岗位特有的技能评价与定级规则,避免生硬套用。
三、运维工程师岗位工作技能定级
技能类别:
SHELL&PYTHON脚本编写
Linux系统运维
运维监控技术
MySQL数据库
运维自动化技术
运维开发技术
KVM&OpenStack
Docker&Kubernetes
大数据运维技术
负载均衡&高可用技术
规范运维
运维服务响应能力
工作任务执行力
技能评价与定级规则:
第11~13项工作技能最高只可以评定到3级。
以上全部类别中,任意5~7项技能达到3级或更高水平时,可申请评定为中级运维工程师,视符合条件的技能数量的多少又可再细分为下、中、上三个级别。
在满足中级运维工程师的评定要求的同时,至少有3项技能达到了4级水平及以上水平,可申请评定为高级运维工程师,视符合条件的技能数量的多少又可再细分为下、中、上三个级别。
在满足高级运维工程师的评定要求的同时,至少有2项技能达到了5级水平,可申请评定为技术专家。

注1:以上仅是本标准体系的一个总体框架文件,上面仅对运维工程师岗位给出了部分技能评定类别作为参考,以及特定岗位的技术能评价与定级规则。以上数据的目的均是为了启发思考,并不代表是一个运维岗位的通用的、完整的设计标准。
注2:一般来说,运维工程师岗位可以细分为应用运维(SRE)、系统运维、网络运维、数据库运维、运维研发以及运维安全。这在各个公司之间也存在很大的差别,往往在A公司作为应用运维工作职责的内容,确是B公司的系统运维工作职责。这个并不重要,我们上面给列出和会细化的一些运维技能定级规则,您可以根据自己公司实际设立的几个运维岗位的职责设计,自行组合使用,得到每个专业运维岗位的一组技能定级类别即可。注意在“技能评价与定级规则”部分,您需要为自己去定制一份适用的评定初级运维工程师、中级运维工程师、高级运维工程师以及运维专家的规则!

运维工程师岗位工作技能的评定类别(1)和(2)

1、SHELL&PYTHON脚本编写
级别0,什么都不懂
级别1,会使用基本的bash shell 命令完成简单的系统管理任务,了解sed/awk的基本用法,会构建基本脚本。
级别2,熟练使用shell命令完成文件的排序、合并和分割,熟练使用sed/awk处理数据文件,会使用结构化命令(条件/分支/循环语句)构建复杂脚本,了解正则,在工作中交付过有代表性的作品。
级别3,熟练使用函数构建复杂且结构清晰的脚本,掌握shell变量的高级用法和I/O重定向使用技巧,会使用正则解决工作中遇到的问题,了解awk编程的高级用法。掌握基本的Python语法,会构建单机上运行的Python脚本来解决工作中一些shell脚本不容易解决的问题。在工作中交付过有代表性的作品。
级别4,熟悉SHELL各种编程语法使用方式间的细微差别和特殊用法,掌握构建兼顾功能与效率的SHELL脚本的高级编程技巧,会使用Python多进程/多线程、网络编程和数据库编程等技术解决工作中遇到的问题。在工作中交付过有代表性的作品。
2、Linux系统运维
备注:这个技能类别相当于一个“筐”,首先是其它那些工作技能类别之外的专业技能要求都可以往这个里面放;其次是这个技能类别的高级阶段要求是兼顾综合能力与专业性的运维架构师。
级别0,什么都不懂
级别1,常见操作系统、工具软件的基本安装、配置、使用,会使用常见的Linux系统管理命令。
级别2,熟练使用Linux系统状态分析工具、防火墙软件和定时任务,熟练掌握Linux常用服务、LAMP/LNMP应用架构的搭建技术,并对这些软件或架构的运行原理有所了解。有一定的遵守运维规范意识。
级别3,可以根据环境限制,组合使用自己掌握的多种系统工具,部署、配置和交付出一个基本满足实际业务使用需求的技术系统。熟练分析、定位和排除系统配置、容量或性能方面的故障,并对问题做出改进。对Redis单实例、主从、哨兵和cluster等技术有较深刻地认识。掌握基础的网络知识,了解常见网络协议,会通过网络抓包分析应用服务基本的网络通信问题。可以撰写和交付内容完整和比较准确的技术方案。日常运维操作很少会违反运维服务规范化管理要求。符合“SHELL&PYTHON脚本编写”技能类别三级水平的要求。
级别4,熟悉大规模系统的分布式、集群、负载均衡、缓存、网络存储、网络安全、数据库高可用设计及性能评估机制。可以对业务应用系统,从系统部署架构的角度评估其在高并发应用场景下的可用性、可扩展性、可维护性,并提出相应架构和实施方面的优化提升方案。熟悉ITIL V3或2011各主要流程,可以在ITIL理论指导下设计和完善运维服务管理规范。关注技术的发展趋势,具备良好地快速学习和知识分享的能力。
级别5,精通主流系统架构的设计理论并拥有丰富实践,精通设计模式,深入领悟系统服务的稳定性、高并发、高可用、高安全、高扩展,并能给出解决方案。精通ISO 20000/ISO27001各主要流程并拥有丰富实践。优秀的系统分析能力,及时发现系统瓶颈进行优化。解决基础架构项目中的关键系统架构问题和技术难题,对团队进行技术指导和培训。能快速掌握各种新知识,并能积极的分享知识带动团队成长。
 

 

运维工程师岗位工作技能的评定类别(3)和(4)

3.运维监控技术

级别0,什么都不懂
级别1,常见监控工具或软件系统的基本安装、配置、使用,照猫画虎会使用而已。
级别2,熟悉监控系统的基本原理和常用配置项,熟练配置常用的监控功能,会根据实际监控需求自定义一些需要的监控项和触发器。熟练设计和调优触发器的报警逻辑。在工作中有交付过一些虽然技术不复杂,但有代表性且效果比较好的运维监控作品。
级别3,掌握监控系统的运行原理、通信协议和部署架构,熟练处理监控软件的故障排查、性能调优和版本升级。熟练使用一些高级监控配置技术,如网络发现、Low Level discovery、zabbix sender。深入掌握zabbix agent/snmp/jmx监控方式的使用技巧,对每种监控方式所支持的监控项功能有深刻的认识。对监控配置模板、监控配置规范有良好的认知和实践。在工作中有交付过一些常规监控配置方法不能解决的,设计复杂、实现复杂但监控效果良好的运维监控作品。熟练配置和使用Grafana。了解Zabbix API。
级别4,精通监控系统架构设计与优化。掌握在运维开发项目中通过Zabbix API实现一些监控数据或监控功能的集成方法。精通zabbix和Grafana的原理、配置和高级功能,擅长结合使用这两个软件解决大部分运维监控和图表展示问题。熟知一些特定领域的运维监控技术,如Open-Falcon等面向超大规模系统的、Prometheus等监控&报警&时间序列数据库、Cadvisor等开源容器监控软件 。关注运维监控领域的发展趋势,能快速地学习新知识和落地实践新技术。
4.MySQL数据库

级别0,什么都不懂
级别1,了解原理和掌握基本的安装、配置、使用,会使用基本的SQL DDL/DML处理工作中的数据库表管理需求。
级别2,熟悉基本原理和常用配置项,掌握不同系统平台下不同版本MySQL的各种安装方法,能根据实际情况调优,掌握MySQL运行状态、会话、错误日志的分析方法,熟练使用MySQL备份与恢复工具,了解sql函数,会使用基本的SQL语法分析库表数据,了解MySQL的高可性技术。
级别3,熟练分析、定位和排除MySQL配置、容量或性能故障,熟练使用MySQL各种高可用技术并了解每项技术的利弊,熟知MySQL常用存储引擎的使用特点,熟练使用sql函数,会使用较复杂的SQL高级语法分析库表数据,了解性能压测技术,了解MySQL分库、分表和版本升级知识。
级别4,熟悉MySQL的体系架构和运行机制,可以从源码分析和定位问题根源,掌握B*树、事务、锁机制等理论知识,熟练处理MySQL库表结构、索引、查询优化工作,精通MySQL的容量和性能规划设计,对MySQL运行在各种软硬件环境下的性能表现有深刻认识,熟悉常见的MySQL数据库中间件工具。
级别5,精通MySQL的网络架构、存储架构、监控架构以及高可用运维架构设计,擅长使用Linux系统与内核知识辅助分析、定位MySQL的功能/性能问题,具备MySQL中间件工具二次开发能力。
 

 

运维工程师岗位工作技能的评定类别(5)和(6)
5、自动化运维技术

级别0,什么都不懂
级别1,了解ansible、saltstack、puppet等主流的自动化运维管理技术工具,掌握公司主要使用的一种自动化运维工具的基本操作方法。
级别2,熟悉公司主用的自动化运维工具的基本原理和常用功能、命令、语法,熟练使用自动化运维工具处理日常的运维管理任务。熟练处理自动化运维工具的安装、配置、版本升级和故障分析。熟练使用操作系统的自动化安装工具。
级别3,深入理解自动化运维工具的设计原理、体系架构、运行机制和配置语法,掌握自动化运维工具的最佳实践,熟练使用自动化运维工具完成各种较复杂的系统软件安装、主机批量配置、应用配置文件管理任务。针对工作中遇到的一些批量系统管理或配置管理需求,可以基于自动化运维工具设计并完成自动化运维技术方案的部署。在工作中交付过比较有代表性的自动化运维作品。了解运维规范化与标准化对自动化运维管理的重要作用。熟知主流的几种自动化运维工具的优缺点。
级别4,精通自动化运维工具的体系架构和运行机制,深刻理解软件的各种配置项的使用方法,对自动化运维工具的高级功能有深入的认识,可以通过使用自动化运维工具API定制开发自己的自动化运维功能。可以从工具源码分析和定位问题根源。可以使用高级功能完成一些复杂的系统管理和配置管理任务。掌握ITIL关键管理流程的知识,擅长在设计和实施ITIL运维服务管理流程的任务中通过使用自动化运维工具,提升管理流程的自动化水平与处理效率。在工作中交付过比较有代表性的高级自动化运维作品。在自动化运维工具不能处理的一些问题上,会使用Python的一些系统管理模块,pexpect、paramiko、Fabric,补充实现一些运维自动化操作、系统管理、配置管理、集群管理的功能。
级别5,精通自动化运维工具软件的网络架构、存储架构、监控架构以及高可用运维架构设计。精通ITIL重要的运维服务管理过程。擅长使用运维自动化工具作为底层功能软件,开发和交付资产管理、配置管理、服务管理、变更管理、发布管理等重要的自动化运维服务管理信息系统。保持对该领域的新技术快速地学习并在团队内分享,不断提高团队技术储备的广度和深度。
6、运维开发技术

级别0,什么都不懂
级别1,会使用脚本语言Bash、Python开发一些实现本地系统的服务管理或数据处理功能的程序。
级别2,熟练使用python处理一些服务器编程、网络编程和数据库编程工作, 对django, Flask等框架有一定的了解,对web前端有一些了解。
级别3,精通脚本语言Bash,能用Python进行快速开发。熟悉web前端及后端开发,熟练掌握Django、Tornado等任一Web开发框架。能够基于开源项目进行修改及二次开发。可以根据需求负责开发、完善内部运维系统及辅助工具,提升运维质量及效率。熟悉前端知识,HTML, CSS, Bootstrap, JavaScript, JQuery, aJax等,有一定项目经验。熟悉DevOps相关理念及平台工具。熟悉redis、mysql数据库等基础技术。能够独立完成工作,在工作中交付过比较有代表性的作品。
级别4,熟悉Linux环境下的多进程、多线程以及I/O多路复用的设计方法与技巧。精通Django、Flask、Tornado等Web开发框架。能够完成运维平台核心功能开发,交付标准、规范、可维护的代码。熟悉ITIL运维服务管理流程知识,并用来指导资产管理平台、自动构建及部署系统、配置管理系统、监控报警平台等运维开发项目的设计与建设。出色的工作文档习惯。良好的综合分析问题及解决问题的能力。良好的技术广度和学习能力。
级别5,精通常见的数据结构、算法和设计模式,有较强的分析设计和业务建模能力,善于用编程语言解决各种问题。学习能力强,有很强的自我驱动力和工作热情,抗压性强。对业界动态和新技术保持敏锐关注和尝试的热情。培养和驱动团队成员不断成长。在开源社群活跃并有积极贡献。
 

运维工程师岗位工作技能的评定类别(7)、(8)、(9)
规范运维
级别0,没有规范运维观念和意识,什么规范都不懂,运维工作中存在大量的随意性操作。
级别1,有初步的规范运维观念和意识,对运维操作、工作流程和审批制度等管理规范有基本的认识,会存在少量随意性的运维操作或违反管理规范的行为。
级别2,有良好的规范运维观念和意识,对运维操作、工作流程和审批制度等管理规范有全面的掌握,规范执行力度较好,能够按工作任务的优先级、响应时间要求正确处理运维任务,很少出现不合规的操作或行为。能够认识到保障服务可用性与可靠性的关键在于规范而不是创新。
级别3,有优秀的规范运维观念和意识,深刻理解制度化的ITIL运维流程思想。规范执行力度强,能够高质量、完整地执行规范流程和管理制度。在工作中擅于思考,可以发现现有运维工作流程或规范制度的缺陷并提出合理的改进设计。
任务执行力
级别0,没有什么执行力,做事没有计划性,执行计划过程中不知道变通,常常不能按时完成上级交办的工作任务,工作质量和工作数量均较差。在处理工作任务的过程中,遇到问题或困难时经常产生畏难情绪,等靠要思想严重,经常性得不能按时完成任务并交付成果。对自己负责或参与的工作内容,放眼望去,既看不到也提不出任何问题。发现问题和解决问题的能力均为零。
级别1,有一般的执行力,能制定一般性工作计划,采取措施能够按时完成上级交办的工作任务,工作质量和工作数量达到合格要求。大部分任务在截止时间内得到处理和交付,仍会出现少量的任务延期或个别复杂任务在反复延期后仍不能交付的现象。在处理一些复杂任务或疑难杂症问题时,容易流露出等靠要思想,表现上像个吃瓜群众。对自己负责或参与的工作内容,能看到和曝露出很多问题,但很少能做到积极思考并主动找出解决办法。遇到问题后没有必要的初步分析、判断和处理,而仅仅是“抛出异常”。良好的发现问题能力,但解决问题的能力不及格。
级别2,有良好的执行力,能有效制定工作计划,准确把握上级的指示或计划的内容,当情况变化时,及时向上级汇报,并提供相应的调整方案或及时解决措施,工作质量和工作数量达到良好要求。对自己负责或参与的工作内容,既能看到和曝露很多问题,也能积极思考和主动解决问题。遇到问题后,针对已经主动解决掉的问题给出的是问题+处理结果,针对尝试解决但暂未找出原因的问题抛出的是问题+初步的分析与判断。良好的发现问题能力,良好的解决问题能力。
级别3,有高效的执行力,可以做到按时、保质、保量完成任务并交付成果。能设计并实施计划方案,能根据领导的目标,自动自发的修正方案和目标,提前完成上级交代的工作任务,工作质量和工作数量达到优秀要求,并善于总结提高。能独立思考及独立行动,只要最少的指示,就能去执行工作。工作中秉持"没有任何借口"的理念,会想尽办法去完成任务,而不是去寻找借口。对自己负责或参与的工作内容,经手一个任务就能优化提升一个,碰到一个问题就能从根源上解决一个。出色的发现问题能力,优秀的解决问题能力。
新技术研究与分享
注:新技术的概念既可以是已经在使用的工具或技术中那些尚未理解和掌握的深层次技术原理、架构和方案,也可以是暂未接触与实践的全新的技术栈。
级别0,什么都不懂,看什么都是新技术。不懂分享精神为何物。
级别1,技术栈比较全面,有主动关注新技术发展趋势和研究新技术、新工具的观念和意识,可以在团队内承担一些工具或方案的技术应用类预研任务,交付的预研成果基本符合要求。尚不能深入到技术原理级别,探究一项技术的运行机制。不定期地会做一些被动的技术预研任务和技术分享。对分享精神有一些认识。
级别2,技术栈非常全面,有良好的主动关注新技术发展趋势和研究新技术、新工具的观念和意识,可以在团队内承担一些复杂工具或方案的高级应用类预研任务,交付的预研成果符合要求。在未分配技术预研任务时,也会自己主动去关注和持续深入研究一些工作中使用到的技术方案或基础工具软件。在完成预研任务时,除验证、实践相关工具的安装、配置和使用方案外,还会积极掌握该技术或工具的设计和运行原理。乐于分享,经常地会在团队内分享一些好的技术工具、方案或学习成果,可以通过技术研究在局部工作中提升工作的质量或效率。有持续维护的技术博客或参与的开源项目。
级别3,技术精湛,对新技术、新工具的发展趋势有很强的敏感性。对探究基础工具软件的深层次运行原理和研究掌握新技术栈有浓厚的兴趣和强烈的饥饿感,熟练掌握由点及面、举一反三的技术研究方法,可以深入到原理、源码级别探究一项技术或工具。擅长分享,擅长利用技术研究与分享不断得提升团队的工作质量与效率。对分享精神有深刻的认识并勤于实践,有专家级别的技术博客或深入参与的开源项目。

【王老师说运维】:运维之linux基础入门实战