因为最近我接到客户的一个高级运维开发工程师的岗位需求,索性将这个职位最近接触到的知识做了一次整理。
一般这类岗位,与我们普通人的日常肯定是非常少见的,理解的难度相对比较高。
JD
岗位职责
- Linux环境服务器调优,故障处理,日常巡检
- 监控体系优化,开发
- 制定并执行线上应用扩容、容灾方案
- 自动化运维系统开发
- 处理机房、多地公办互联网络故障
任职资格
- 统招本科以上学历。
- 熟练使用shell、python,有Django开发经验优先.有海量高并发环境下的独立运维经验,运维过的服务器规模至少在70台以上
- 较深度掌握linux操作系统,shell达到非常熟悉程度,在无调试环境下能写出一般的报警脚本
- python开发熟练,有至少一个以上项目开发经验,熟悉django/flask web开发框架优先
- 安全/数据库(mysql)/虚拟化和容器/自动化运维, 至少具备二项在海量环境下的独立运维能力,并有过至少2年以上的实战经验
- 掌握基本网络原理,具备实际动手组网能力
- 熟悉一种虚拟化方案(KVM/VMWARE)或者容器(docker)方案
- 掌握常见开源服务nginx,tomcat,redis,mysql,zabbix,nagios,ldap的部署和配置
- 了解ansible,saltstack,puppet其中至少一种自动化运维工具
关键点
- Python(Django/Flask)/Shell脚本
- Linux操作系统
- Mysql数据库
- 虚拟化技术
- 容器技术
- 自动化运维
- 70台服务器规模
- 海量高并发
今天所讲的运维是基于服务器软件的层次。
涉及硬件层次一般会有2类,一类叫网络运维工程师(管网络),一类叫系统运维工程师(管机房)
大约300份简历之后,大约整理了下图。
技能树
技术关键字解析
- 脚本:Shell是必备的,但这些年Py