侧边栏壁纸
  • 累计撰写 123 篇文章
  • 累计创建 27 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

运维组织结构和学习地图二

梁来福
2022-03-02 / 0 评论 / 0 点赞 / 0 阅读 / 10024 字
温馨提示:
本文最后更新于 2024-05-06,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

1、月薪5K到50K

1.1 前言

这是一个热门的运维问题,也是很多刚走进运维大门同学面临的心境。

确实,运维可能是分水岭最明显的职位之一:有的人毕业6年,月薪从3K涨到50K;有的人工作4年,依然做着重启服务器、检查机房的机械工作,这都是网上能看到的,也是真实存在的事例。

今天,我们就通过拉勾上,薪资5K到100K的运维招聘要求,来看看运维从搬砖到大神,都要学习些什么。

1.2 阶段一(3K - 5K)

1.2.1 一句话

“昨天又搬了65台服务器……”

1.2.2 一张图

image.png

1.2.3 招聘岗位和要求

岗位一:
  岗位职责:
  公司电脑多媒体以及网络日常维护,以及桌面运维支持
  任职资格:
  1、能熟练更换PC硬件
  2、熟悉办公常用软件以及邮箱
  3、对网络运维方面有一定了解,并能够熟练配置交换机防火墙以及路由器。
  (4K—6K 百度文学)

岗位二:
  岗位职责:
  1、负责公司内、外网络平台的搭建、实施及网络(含无线网络技术、设备)的具体维护工作;
  2、针对公司开展的网络技术方案的定型与实施工作提出建议;
  3、网络及安全技术实施方案中安装、调试、维护工作;
  4、负责公司办公网络及IDC网络日常维护工作;
  5、负责集团网络设备及广域线路的统计工作。

  任职资格:
  1、2018届毕业生,专科及以上学历、计算机相关专业;
  2、诚实守信,性格开朗,无不良历史记录;
  3、善于学习,善于沟通,文档功底好,勇于面对挑战,敢于承担工作压力;
  4、学生干部或有相关网络工程师认证(Cisco认证、Juniper认证、Huawei认证等)者优先考虑;
  5、熟悉Linux操作系统和虚拟化技术的优先。
  (JD)

1.2.4 技术关键字

Linux、服务器、环境部署

运维工程师 —— “Operations Engineer”,字面意思可理解为管理系统、服务器的工程师。

初级运维最常见的工作就是熟悉和维护服务器——所以检查机房、搬服务器是90%的运维都会经历的。

进阶一点的,就要开始学习搭建服务器、搭建网络、配置环境等工作了。绝大多数服务器都使用Linux系统,所以熟练使用Linux是硬性要求;服务器需要配置网络,所以对路由协议、网络协议等网络原理也要掌握;产品开发完成后,还需要运维部署环境,安装相应的软件;安装完成后就可以上线吗?不,有时你还需要部署一套测试环境……

1.2.5 心得

在这个阶段中,运维的大部分工作都是简单和机械性的,对技术水平的要求很少,以至于薪资也较低。所以刚毕业的同学往往有一个错觉:运维岗不如开发岗。他们会感到「迷茫」,甚至「焦虑」

“感觉自己就是个网管……”
“每天的工作就是维护、重启服务器,看不到希望……”

但其实,运维是一场真正的马拉松。同样是第一个阶段,你只跑了1%,开发的同学已经跑了20%,你的提升空间远远超过他们。

1.3 阶段二(6K - 15K)

1.3.1 一句话

从删库到跑路

1.3.2 一张图

image.png

image.png

1.3.3 招聘岗位和要求

【岗位职责】:
  1,负责服务器的配置、维护、监控、调优,故障排除等;
  2,运维自动化及运维脚本开发;
  3,大用户量下高性能服务器系统部署方案的制定及实施与监控;
  4,及时响应并处理线上故障。

  【任职要求】:
  1,计算机相关专业大学本科以上学历,具有扎实的计算机基础理论知识;
  2,熟悉mysql、mongodb、redis、mq、elk、nginx、tomcat的安装部署及优化;
  3,具有良好的故障排查能力,良好的逻辑分析能力及技术敏感度;
  4,熟悉掌握使用shell、python脚本语言,能熟练进行脚本/工具开发,对自动化运维有较深入的理解或者经验者优先;
  5,高度的责任感,较强的故障分析及排查能力,善于在工作中学习,能承受工作压力。
  (10-20K —— 乐视)

1.3.4 技术关键字

故障排查、优化、Shell、Python、监控

随着自身技术的积累,运维的薪资在突飞猛涨。这时,你已经可以在公司或某项目里独当一面(du zi bei guo)。要达到这个阶段的要求,你需要掌握这些技能:

排错和调优

上线没多久,服务就502了,还不被老板骂死。尽管你有一肚子的委屈,我只是个运维,代码不是我写的,为什么要我来背这锅?!委屈归委屈,服务访问不了了,就是运维的事。尽快定位问题,解决问题才是王道。怎么来定位问题呢?最简单直接的办法就是看日志,看系统日志,看软件相关的日志,结合故障现象和经验,快速的进行定位和恢复。然后就是总结经验,吸取教训,写事故报告。OK,现在你知道,需要对系统环境需要进行一定的调优操作,不再做背锅侠。

相关技术: top, vmstat, iftop, awk, sed, sar, iostat, strace, …

备份

之前的Gitlab删库事件的教训犹在眼前,丢失了几小时的数据,虽然大部分的备份策略都失效了,但还是挽救了几小时前的一个备份,才没有造成更大的数据丢失和公司损失。我们需要对设备进行备份冗余,需要对数据库进行备份及离线备份,需要对网站静态进行备份冗余,需要对机房进行备用,能做到双活,那是更好的啦。

相关技术: rsync, crontab, lvm快照, mysqldump, extrabackup, 完全备份, 差异备份, 增量备份, 离线异地备份, …

高可用集群

没有永垂不朽,我们不能保证硬件24小时在线,但需要保障服务24小时在线。

出现故障后,如果做好高可用和冗余,故障自动切换,移除故障节点,那样也就保障了服务的实时在线。在老板和用户不知情的情况下,悄么的把故障处理好的,KPI算是保住了,奖金也许就会有的吧。

相关技术: F5, Nginx, LVS, HA-proxy, MHA, Zookeeper, 各种其他分布式集群方案, …

监控和警报

时刻担心网站挂掉,一年365天、每周7天、每天24小时,时刻保持精神高度紧张,就算你是神仙都会撑不住的。我们需要一个机器来监督其他的机器工作,我们需要解放我们自己。当有故障发生的时候,通过短信、微信、钉钉、邮件等等通知对应的运维工程师来处理,甚至是自动切换或摘除故障节点,然后我们离线对故障节点进行问题排查。

相关技术:Zabbix, Nagios, Cacti, Prometheus, open-falcon, Ganglia, sar, …

1.4 阶段三(20K - 45K)

1.4.1 一句话

Linux运维真的可以为所欲为

1.4.2 一张图

image.png

1.4.3 招聘岗位和要求

职位一
  【岗位职责】:
  1、制定和优化运维解决方案,包括但不限于柔性容灾、智能调度、弹性扩容与防攻击;
  2、推动及开发高效的自动化运维、管理工具,提升运维工作效率;
  3、探索、研究新的运维技术方向。
  【岗位要求】:
  1、本科及以上学历,3年以上的Linux系统使用和管理经验;
  2、熟悉 Linux 操作系统原理、TCP/IP 以及常用RPC协议;
  3、熟悉脚本语言Bash/Python等脚本语言的一种并有相关开发经验;
  4、熟悉Docker、Kubernetes等开源软件;
  5、熟悉常见应用配置及优化,如Nginx/Haproxy/MySQL/DNS/Redis/MongoDB等;
  6、熟悉常用的监控系统,如 Zabbix、Nagios 和 Ganglia 等;
  7、熟悉systemtap、perf、oprofile 等分析调试工具;很强的Troubleshooting能力、且能够推动业务问题改善和解决;
  8、具有良好的的沟通、执行能力和强烈的责任心;
  9、耐心、细致、学习能力强,较强的工作计划;
  10、在开源社群活跃并有积极贡献者优先,
  ( 22-40K —— 陌陌 )
  
 职位二
 【 工作职责 】
    负责京东内部信息安全平台的基础运维工作,处理值班问题,确保系统服务稳定性;
    负责运维自动化/标准化方案设计,自动化工具及平台研发,提升运维效率;
    负责生产、测试、灰度多套环境的部署和维护,配合研发、测试团队进行应用部署;
    制定信息安全集群监控和报警方案,处理报警问题;
    定位与分析运维问题,给出解决方案。
    【 职位要求 】
    计算机相关专业,本科及以上学历,至少2年以上的大规模系统运维经验,2年以上运维开发经验,有deveops开发经验或有中大型互联网公司运维自动化经验者优先;
    具备openstack或docker集群运维经验;
    掌握shell/python/perl/php其中一种脚本语言,有Python实际项目经验,熟练掌握Django、Tornado等任一Web开发框架者优先;
    掌握互联网常用的中间件维护、管理,例如redis、mongodb、kafka、memcached、dubbo等;
    掌握tomcat、nginx等常见应用的搭建、配置、优化;
    掌握zabbix、nagios、elk等系统的搭建、配置、优化;
    掌握一种大规模自动化运维工具(saltstack、ansible、puppet),有二次开发经验优先;
    熟悉linux/uinx,windows操作系统基础原理及常用操作;
    熟悉常见运维配置及优化,如Svn/git/Ansible/Nginx/Tomcat/salt等;
    熟悉TCP/IP、HTTP等协议,有良好的网络、数据传输、安全、计算机体系结构方面的知识;
    认同DevOps文化,重视自动化方式处理各种问题;
    具备良好的项目规划、推进能力;
    具有良好的沟通协调能力、较强的团队合作精神、优秀的执行能力;
    有很强的分析和解决问题的能力。
    ( 30 - 50K 京东 )

1.4.4 技术关键字

自动化、DevOps、云服务、Docker、kubernetes、安全……

deveops、openstack、docker、集群运维、shell/python/perl/php、Django、Tornado、redis、mongodb、kafka、memcached、dubbo、omcat、nginx、zabbix、nagios、elk、saltstack、ansible、puppet、linux/uinx系统基础原理、Svn/git/Ansible/Nginx/Tomcat/salt、TCP/IP、HTTP……

看到这些技术名词,相信你一定会明白,高端运维为何配得上这么高的薪资。

虽然以上这些技术并不是全部需要掌握的,同一类型掌握一样即可,但仍可以看出,这个阶段的运维已经是集大成者 —— 在中型公司可以胜任CTO的位置,在大型公司可以担任项目的技术负责人。想达到这个阶段,你需要掌握这些技能:

安全和审计

不安全的网络环境和服务器配置,无异于在网络世界裸奔,任何人都可以窥探你的隐私。你的应用是否做了SQL防注入?你的防火墙是否开启?是否还在用root+密码的方式登录服务器?网站开启了https么?是否对系统操作进行审计?

相关技术: iptables, firewalld, waf, auditd, 各服务的正确配置, …

DevOps 与自动化

偷懒是社会进步的第一动力。聪明的我们怎么会让自己一直在重复枯燥的事情上浪费时间,装系统、部署环境、发版本、批量操作,把这一切交给程序去实现吧,我们需要的是享受生活。

相关技术: shell, python, go, rundeck, ansible, saltstack, puppet, chef, cobbler, fabric, …

虚拟化和云计算

云计算革命的发起人是卖书的亚马逊,这家伙希望卖一切可以卖的东西,包括自己闲置的服务器资源。现在国内的阿里云和腾讯云也发展得如日中天,他们几乎提供了运维所需要的一切,甚至可以让一个公司不再需要运维的岗位。你需要服务器,只需要几秒钟,就可以创建一台。你需要数据库集群,只需要鼠标点击几下,就可以开通。

相关技术:docker, Moby, kubernetes, Xen, CoreOS, Hyper-V, KVM, …

1.5 阶段四(50K - ???)

1.5.1 一张图

image.png

1.5.2 招聘岗位和要求

80K—100K
【岗位职责】
    1.作为公有云SRE软件技术专家,负责自动化运维平台的系统分析和架构设计,指导研发团队实现设计,规划未来平台技术架构方向;
    2.负责全局性和前瞻性的架构设计,以及关键技术细节的实现,解决业务发展遇到的架构问题,持续提升系统平台稳定性;
    3.负责持续关注业务技术发展和最佳实践,并结合华为云运维产品业务特点推进新技术及实现方案的落地;
    【岗位要求】
    1.本科及以上学历,6年以上大型业务应用系统的架构设计和落地的实际能力,熟悉分布式、缓存、消息等机制,能对分布式常用技术进行合理应用,解决实际架构问题;
    2.海量数据处理和架构能力及经验,熟悉SOA并具有系统的架构设计经验;
    3.精通Java/Python/Go/C/C++其中至少1种编程语言;
    4.精通操作系统,数据库,IO、多线程编程原理、集合等基础框架,对JVM原理有深入的了解;
    5.精通分布式事务处理框架原理和实现,精通多线程及高性能的应用的设计,编码及性能调优经验;

1.5.3 技术关键词

???

这个级别的大佬要么是有极强的管理能力,要么是对某技术有底层的深入研究,已无法归纳具体的技术要求,您:

爱学什么学什么吧……

image.png

总之……
    运维是个需要不断学习的职位
    100K 还远远不是天花板
    (银行、BAT、华为了解一下……)
    如果你确定了要努力的方向,那就学起来吧!

2、运维学习地图

2.1 行囊

新手在学习的时候,通常遇到的问题是没有一整套学习计划,不知道具体学哪些才会对工作有帮助,遇到问题也没人解答,而这2点也是培训机构的卖点。

这种情况,最好的方法是加个技术群,看看谁在里面老回答问题,可以加好友具体问问,然后请他喝杯咖啡。

资料方面不要看很多,在豆瓣中搜索相关书籍,评分高都看一本就行了,毕竟技术都是积累的,没有一下子就学圆满的。

有下面的知识,运维才能迈出第一步,不然就是比较残缺的,无法形成大局观。例如某些用户访问网站有问题,报错505,你只会linux方面的,对网络不清楚,那如果问题出在运营商身上,或者服务器之间的网络通信上,就会抓瞎。

  • 计算机基础知识(了解计算机哪几个部分组成,如何装系统,上下架等等)
  • 网络基础知识(不用太深入,知道协议有哪些,什么意思,路由器交换机工作原理)
  • 安全基础知识(知道什么叫ddos,知道基本防御方法)
  • 测试基础知识(知道性能测试和web测试用什么工具,不然你优化完怎么证明它性能提高了?)
  • 开发基础知识(基本的构建,打包知道什么意思,异步非阻塞之类的)
  • linux基础知识(这部分就是对linux的了解了,linux启动顺序,命令等等)

不过大公司会专门做某一部分,例如应用运维不需要关注测试和安全等方面,但建议都学学,触类旁通有好处。

有这些基础,进到公司就可以去完成基础的建设工作了。比如会安排你搭建服务,整理资产报表,清理一些日志,这些基本工作可以帮助你了解公司当前有哪些服务,各种服务之间是如何运作的,之后再慢慢参与到业务中,薪资一线城市可以达到6-10k左右。

2.2 大路

当进入公司一年以上后,就是冲刺阶段,这个阶段会学习到大量知识,因为刚工作,会明白很多书本上和模拟遇不到的东西,每天都会有大量进步。

会知道一个项目从创建到上线的过程,会发现公司有大量东西需要改善,例如部署服务还在使用手工部署,当一个新项目上线,需要花很多时间部署,你就可以尝试用脚本来自动部署。

公司需要监控,你可以参与选择软件,用zabbix还是cacti,或者不是你选择,你也可以对原有监控项进行优化和完善。这些都是实际应用的,你会明白比原先学习的更多东西。

这块是公司有需求或者用到什么,就去学习什么。不要看什么运维必须掌握的命令和工具大全之类的文章,你都用不到学了有啥用。若你业务都掌握明白了,有空余时间,可以搞搞docker之类热门应用,在此之前,还是把精力花在手头事情上。

同时要建立好的学习方法,不然在熟悉工作后,很容易懈怠,然后在群里划水,学习激情会减退。我的方法是带着目的学习,然后写文章让大家看,获得激励后就有动力继续学习了。

这段冲刺期会维持3-5年,会让人感觉每天都有进步,明白的东西越来越多。算是中级运维了,薪资一线城市可以达到10-20k左右。

2.3 岔道

再往前就会分出很多个岔道,开发、安全、DBA、测试、应用运维、基础运维等等。

时间有限,需要从中挑选适合的。只有选定方向才能不迷路,也才能更快的到达目的地。到了这时,就已经迈步向高级运维了。需要选择一个方向去努力,不然运维的东西太杂,很难面面俱到。

如何要做运维开发,就需要去学习python,html,各种框架,也可以学go。

要做DBA,就要专门研究数据库,搞清楚数据库的原理结构,每个详细点。

每一门往后都有大量的东西要学习的,专精才能钱多,并且有成长。

不过当前都在往运维开发方向靠拢,未来的运维都要会一些开发才行。以前是shell,当今是python,需要的技术越来越深入,紧跟潮流才不会被落下。

高级运维,一般5-10年经验,薪资15-35k左右

2.4 终点

技术是没有终点的,当然可以有你自己的终点。

当工作10年,技术已经很厉害了,就需要靠拢一些别的东西了。

可以根据你掌握的技术,去搞博客,出售一些视频,写付费文章或者付费问答。甚至可以看准机会后,去做产品的。像宝塔面板,cdn,都是一大批运维或者开发看准机会后从技术转型成创业者。

购买基金彩票和增值物品也可以,区块链就算了,不得到国家承认和保护的东西,终究没有大的发展的。有些股票或者基金还是很稳当,很不错的,虽然进步慢,但是很稳定不会亏。

就像《教父》小说中说的,不要把鸡蛋放在一个笼子里,可以爱好技术,但也要搞副业,来应对来为可能造成的冲击。

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin
博主关闭了所有页面的评论