笔者认为一名IT运维工程师想要得到高薪与发展成为一名高级的、资深的运维工程师的途径是一致的。技术要过硬,很多运维工程师工作了很多年技术涉及面很广,但是却没有深入了解或者精通的一门技术,对于当下的发展大环境已经不太适合了。我观察了很多的招聘要求(以北京为主),总结了运维工程师必备技能,大家也可以作为学习路线的产考:
首先资深运维具备的能力:
1. 基础运维工作:提高自动化运维水平、故障响应能力、优化资源使用率、运维相关的新技术的研究
2.优化架构:从运维角度参与并推动研发、产品改进架构体系
3.运维体系建设:参与运维体系的建设,从提升效率、降低运维人力成本、形成一套完备的运维体系(CMDB、事件处理、工单处理、变更发布流程的制定等等)
然后是基本的技术能力:
4.深入理解linux系统(文件系统、内核、扩容、性能调优等)、tcp/ip http理论基础、数据存储、计算机体系结构(往往越资深越看重这些基础能力,这些能力是永不过时的)
5.编程能力:shell、python、perl、go最起码要精通两种以上,运维开发能力侧面体现了实现运维自动化的能力
6.常见中间件产品和监控产品的掌握:这一条主要是对现有产品尤其是开源产品的学习能力,要掌握的东西比较多例如nginx、redis、mongodb、kafka、rabbitmq、es、zabbix、ELK、prometheus、cacti等等,要知道每种产品的优缺点以及功能使用范围。
7.数据库能力:相对于DBA,运维人员可以不了解的那么细,但是最好精通一两种数据库,尤其是集群部署、数据备份、性能调优和问题排查的能力
最后是热门技能:
8.往往热门的技能就是行业的走向,这块一定要精通的,目前对于devops的理念、容器化的理念深入人心,各家企业对这方面的技能几乎是必备要求:docker、k8s、jenkins、ansible要做到精通
总结一下:1/2/3观点是决定了一个人能走多远,要是没有这种想法,那只能证明自己没有对行业或者自身发展的一个思考,这些虽然不是具体的技术,但是往往理念才是决定高度的;4/5观点笔者建议要往深了去学没有坏处,这个也是不会过时的硬技术,在排查疑难杂症中起着重要的作用!;6/7我认为要基本能过关,这些都是产品化的东西,了解一下功能和原理,能实现需求即可,不要过于追求深入学习,产品迭代速度太快,需要用的时候能够捡起来即可;8是想拿高薪的关键,最起码是近几年高薪必备的技能。
PS:再啰嗦一句,要是有时间提升一下学历吧!