提起数据运维,大部分人的第一印象都是:
运维=修电脑+接网线+连监控+打扫机房卫生+背锅
其实这都是圈外人对运维的刻板印象,无论你是个刚入职没几个月的行业新人,还是在行业里摸爬打滚了好几年的“老鸟”。
你都面对着同样残酷的一个现实:这是一个高速发展的行业,任何肚子里没有实货的技术人员都会被这个圈子所淘汰。
那么,做运维的你,最终的出路到底在哪里呢?到底怎么样才能出人头地,拿到一个年薪百万的Offer?
我给你列一个比较全的互联网运维工程师的能力框架,这里的运维不包含idc运维、企业it运维这些,linux运维人员常用工具拓扑详见:
1、硬件基础:
了解原理,cpu,内存,磁盘,网卡等的相关知识,如cpu缓存,指令集,架构,流水线,保护模式,磁盘寻道原理,各级别raid,ssd,sas,sata等的常用性能指标,如iops,带宽,吞吐量等等
2、操作系统:
需要熟悉,最好精通。进程调度,内存管理,文件系统,外设管理等,要熟练使用相关工具,如top iotop iftop iostat vmstat ss等,并且最好了解其原理,建议对/proc下的内容也进行深入了解,对做主机级监控十分有帮助
3、网络:
需要熟悉,最好精通,tcp,http,https,udp等最好能做到精通,4层,7层的网络流量分析技能要熟练掌握。内部路由协议,边际路由,交换原理,域名解析,ipv6相关知识
4、安全和加密:
熟悉防火墙原理,主机级安全理论,以及常用加密算法,web安全,网络安全。了解渗透的常用手段,以及反制手段,sql注入,xss,ddos,cc,还有常见漏洞的利用原理,沙箱,容器的逃逸等,了解常见的网络安全方案,waf 高防等
5、虚拟化和容器技术:
熟悉常见的虚拟化技术如kvm,常见的容器技术如docker,以及相关的k8s,了解网格计算的概念,了解isto以及在各公司的落地方式。
6、itil理论:
知道如何制定合理的流程保障业务的稳定和安全性
7、常见的开源组件:
mysql,redis,kafka,etcd,zk,influxdb,promethues,zabbix,graphana,ansible.....
8、实践案例:
部署,发布,监控,变更,sla保障的实践案例,熟悉常见的接入服务,逻辑服务,中间件,数据库高可用方案,过载保护,降级方案,分布式事务一致性方案等
9、运维开发
shell,python,golang,前端
10、devops,编译,加速,测试环境,研发流程自动化
11、项目管理理论,成本控制
12、aiops
利用现网数据训练机器学习模型,辅助容量管理,监控排障
一点建议
经常看到有朋友在Linux论坛问一些问题,不过,其中大多数的问题都是很基础的。这些问题其实都是很简单的,只要是稍微了解过 Linux 的基础的,应该就可以很轻易地解决掉这些问题。
而有些朋友们常常一接触Linux就希望构架网站,根本没有想过要先了解一下Linux 的基础,这是相当困难的。
首先Linux是必须要学命令的,虽然Linux桌面应用发展很快,但是命令在Linux中依然有很强的生命力。Linux是一个命令行组成的操作系统,无论图形界面发展到什么水平,它的精髓都在命令行,这个原理是不会变的。
Linux命令有很强大的功能:从简单的磁盘操作、文件存取、到进行复杂的多媒体图像和流媒体文件的制作。选择一个适合你的Linux发行版本至关重要,目前全球有超过1百多的Linux发行版本,在国内也能找到十几个常见的版本。
至于选择哪一个怎样选择就要根据自己的需求和能力了,网络管理员的话最好选择是Redhat Linux 和Debian Linux,如果英语不蛮好的就比较适合选择红旗Linux、中标Linux这些中文版本了。
老鸟都是实践出来的
要强化自己Linux 的技能,只有通过实践来实现了。所以立刻找台计算机,速度安装一个 Linux 发行版本,然后开始探索精彩的Linux世界。相信这样你自己的 Linux 技能肯定会有一个大的飞升。
此外,人脑又不像计算机的硬盘,除非硬盘坏掉了或者是资料被你抹掉了,否则储存的资料将永远而且立刻的记忆在硬盘中。在人类记忆的曲线中,你必须要不断地重复练习才会将一件事情记得清楚彻底。
因此,在学习 Linux 的时候也一样,如果你无法经常复习和操作的话,还没学会后面的,前面的就会忘了。在对Linux命令熟悉了以后你就可以开始自己搭建一个小的Linux网络,这是最好的实践方法,没有之一。
总之,就是要自己多动手,不要总傻等着别人来教给你,帮你解决问题。
有疑问加站长微信联系(非本文作者)