一条运维狗的独白。

2019-05-31 16:16:20 +08:00
 opsonly
我 2017 年毕业,毕业后也是从事的运维工程师,当时自己也不知道什么方向,只有一个大致的目标,就是以后成为架构师(^_^),当时我们有几个同学一块来到了深圳,平时周末都是一起吃个饭,偶尔有一个同学聊到他的领导,4 年工作经验,月薪 25k。

当时的我有了一些触动。于是我也定了目标,4-5 年也要拿到 25k。有了目标之后,自己平常工作的有了很大不同,之前都是做好自己应该做的,也学习新的知识,只是都是东看看西看看,不够系统,也不够细致。从那之后,我都会定一个短期的目标,从而去完成它。

过程是痛苦的,但是如果每天都能感觉自己进步了一点点,那感觉还不错。慢慢工作下来,我也逐渐找到了自己的方向,偏向持续集成,敏捷开发,结合 docker 和 k8s 以及一些自动化工具以及集成工具,最后再向架构师靠拢。
总结一下运维阶段性的技能吧。

1. 计算机组成原理,计算机操作系统(系统任务调度,进程与线程方面,以及用户态内核态的区别等等)
2. 计算机网络原理(TCP/IP 协议族,以及数据包在网络上是如何流动的)
3. 各种开源服务,包括但不限于 http,nfs,dns,mq,nginx,php,tomcat,elk, zabbix。除了会搭建维护之外,建议还要理解他们各自实现的协议原理(因为我感觉还是挺重要的,知其然还要知其所以然)
4. 版本控制工具 git,以及 git 工作流和它实现的原理
5. 持续集成工具 jenkins,CI/CD 流程控制,敏捷开发及代码发布流程
6. 开发脚本,shell 是最基础的,就目前来说,python 也成为标配了,出了平时写写脚本之外,还可以自己写点其他的东西(还是蛮有趣的),当然精力足够的话前端知识和 js 看看也不多,个人觉得全栈工程师还是挺帅的,还有一点就是理解整个的开发流程也可以帮助你快速定位问题。
7. 负载均衡以及高可用技术,比如说 lvs,haproxy,nginx,keepalived,要分清楚四层负载以及七层负载的区别,以及其中的分发算法的区别及联系(这个没得说了吧,服务可用性不是运维的最希望的吗)
8. 容器技术及容器编排工具,docker,k8s。一个人要想进步,不学习肯定是不行的吧,况且容器这些知识现在也不算新了。
9. 分布式文件系统,以及分布式服务,缓存系统等等,如果有高负载高并发的处理经验还是很吃香的呀。

大致就是以上所说的了的吧,当然肯定还有其他一些方面,需要自己结合自己的工作去总结。
共勉。
12116 次点击
所在节点    Linux
75 条回复
lihongjie0209
2019-05-31 16:18:09 +08:00
作为一个开发, 我觉得上述这些都应该熟悉
wysnylc
2019-05-31 16:23:11 +08:00
456789 都是很常用的基本知识,不值得如此标记
你应该提升的是学历,口才,还有情商
以及最重要的运气,单纯的提升技术收益其实是不高的
wangking
2019-05-31 16:31:23 +08:00
同运维,4 年了,建议你转开发,你还年轻,还来得及,不要淌这趟混水了。你想高薪,你上面说的仅限于运维层面的,你报价 20,用人方都会觉得你高了。而且,你看看你这些知识面,宽广的像海洋一样,而且,即使,你现在下功夫,吃透了,精通了。但是你在工作中不会经常用,过了半年,你又回到了起点,干活去查资料。但是开发不一样,你只需要在你的语言持续耕耘。学会的东西,都是你要钱的资本。你也只需要学跟你语言相关的东西就行了。so,回头是岸
lvzhiqiang
2019-05-31 16:43:22 +08:00
@wangking 一样一样,3 年运维+2 年项目实施,感觉运维的面太广了,我现在是偏服务器层面运维(管理公司 IDC 服务器、虚拟化),感觉还是开发好,专心一种技术,其它的可以熟悉但不需要太深入。
wangking
2019-05-31 16:45:36 +08:00
我来有针对的跟你分析:
运维干的活:
1,你以为你会 nginx 就行了吗,对不起,我们用了 lua 模块。所以,你要去学 lua,一门语言。
2,你要 cicd ? 我们 jenkins 现在用 jenkinsfile 做。 你要学 groovy,一门语言。
3,前端 nodejs 项目用 npm 安装依赖还好说,php,python 你合作的同事是个经验的丰富的还好说,把依赖都给你整理出来给你。要是和一个新手合作,上新环境你得排一遍错再说。所以,你最起码懂点 php,python 的排错。
4,shell 是基础,功底好,没话说,只能多写,多看了。然而,有很多脚本用 shell 处理麻烦,你得学 python。你要掌握到什么程度呢,实现你想要的一些小目标。学习半年,都可以做 python 初级工程师了。
5,docker,k8s 主流方向,学习没话说。大大降低运维成本。
6,mysql,mongodb,redis,rabbitmq,zk,etcd,这些缓存啊,数据库啊,你不仅得会有,你还要会维护。

假设你是一个超级能学习的人,把上面的都精通了,你想要多少。30 ?用人单位不会为你的知识面广而为你付费的,他们能找 15k 的中级解决上面的问题,虽然慢点,但是比你省钱吖。

开发干的活:
1,选一门语言学。
2,干活,不会的就是框架的一些东西,学,还是跟语言相关。
3,继续学,还是跟语言相关。

由于没有做过开发,所以不知道你们还有那些经历是我没有看见的,欢迎大佬指正。
passerbytiny
2019-05-31 16:46:11 +08:00
你这个路线是走不到架构师的。即使是不参与实际开发的高级架构师,也是要懂得底层编程知识的,更别说国内大多数把架构师当资深程序员使用。但是!!!!!!高级运维工程师,可是比高级架构师更吃香的。
lvzhiqiang
2019-05-31 16:49:37 +08:00
基础要学而且还要牢固,还有,深入跟工作相关的,学习当前趋势的。
passerbytiny
2019-05-31 16:51:08 +08:00
@wangking #5 作为一个开发,我可以负责任的告诉你,如果你现在不是新人,那么你被坑了。你说的工作的大部分,是开发干的活,只有在运维新人练手或者开发人员忙不过来的时候,才会让运维去搞。
wangking
2019-05-31 16:51:30 +08:00
@passerbytiny 但是高级架构师的工资甩高级运维工程师的工资几条街,工作机会也是好几倍
opsonly
2019-05-31 17:00:07 +08:00
@wysnylc 是基本知识但是也列出来,毕竟都是要用的,剩下的就是个人理解的深浅问题了。你说的很有道理,这个层面之前没考虑
Acoffice
2019-05-31 17:01:22 +08:00
我觉得未来 运维得会开发,开发得会运维,这是趋势.
opsonly
2019-05-31 17:05:19 +08:00
@wangking 感谢提醒,我准备写一个小的网站,折腾一下自己,纯开发的话我也不想的,各种原因吧,以后可能会做一些自己的事情。目前还在想
opsonly
2019-05-31 17:07:14 +08:00
@passerbytiny 我还是感觉架构师更厉害一点,毕竟自己也不可能一直做运维一直来解决和维护这些大大小小的问题
struggle001
2019-05-31 17:08:21 +08:00
devops 才是方向,我是一个什么都会点的老运维,感觉发展到头了,自动化运维才是方向啊。
passerbytiny
2019-05-31 17:10:05 +08:00
@wangking #9 你要真这么想的话,建议修改一下路线,先找到并参与 Scrum 团队,然后转成全栈开发(说开发不太对,因为 Scrum 团队并不全是编码的,但我想不到更贴切的词)。
opsonly
2019-05-31 17:11:32 +08:00
@lvzhiqiang 基础牢固很重要,很多人都只是知道如何使用,而不清楚其如何实现的。这点蛮重要的
passerbytiny
2019-05-31 17:12:17 +08:00
@wangking
@opsonly
上一条回复把你们俩搞混了,不过没必要细分了,大致方向没错。
opsonly
2019-05-31 17:20:46 +08:00
@struggle001 devops 挺不错
pmispig
2019-05-31 17:27:19 +08:00
作为了工作 6 年的运维告诉你,你上面那些都不是最重要的,重要的是要会 python,最好会 go 和 java
jasonyang9
2019-05-31 17:31:01 +08:00
各位运维大大有遇到过自己跑 Postfix (加 Dovecot )的需求么?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/569508

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX