运维可能是分区明显的职位之一,有人毕业8年,月薪从3K涨到到50K;有人工作4年,依然做着重启服务器、检查机房的机械工作
运维实现职场进阶都要经历哪些?
一个运维的最佳开局,一定要互联网行业,然后细分不同:
1、手游行业,甲方甲乙都走技术方向 。这里要做区分,甲方的核心业务一般都不是运维而是开发,设计,运营,产品这些,如果做这些你就不是运维,那也就没有必要纠结了
2、软件行业,甲方走技术(内部运维),乙方走业务(外部客户,千万别走技术也就是实施或者售后
3、普通行业,走业务路线;外包行业,走管理路线
阶段一:3K—5K
本阶段的重点工作:昨天又搬了65台服务器……重启服务器,检查机房。
阶段二:(4K—6K)
本阶段的重点工作:公司电脑多媒体以及网络日常维护,以及桌面运维支持。
换硬件,装办公软件、邮箱,还有管交换机防火墙及路由器。
日常会被亲切的称呼:网管~~
在这个阶段,运维的大部分工作都是简单和机械性的,对技术水平的要求很少,以至于薪资也较低。迷茫和焦虑是这个阶段的常态。
如果把运维看成一场马拉松,这个阶段才刚刚开始。用心学习,你的提速就会很快!
学习规划
从搭建服务器、搭建网络、配置环境等工作。绝大多数服务器都使用Linux系统,所以熟练使用Linux是硬性要求;服务器需要配置网络,所以对路由协议、网络协议等网络原理也要掌握;产品开发完成后,还需要运维部署环境,安装相应的软件;安装完成后就可以上线吗?不,有时你还需要部署一套测试环境……
阶段三:6—15K
“从删库到跑路……”
这个阶段工作职责:负责服务器的配置、维护、监控、调优,故障排除等;
运维自动化及运维脚本开发;大用户量下高性能服务器系统部署方案的制定及实施与监控;
及时响应并处理线上故障。
相应要求也高,计算机专业,能排查故障,逻辑分析能力强,技术敏感度高,会开发能写脚本,更要善于在工作中学习,能承受工作压力!
学习规划
一、调优
看日志,看系统日志,看软件相关的日志,结合故障现象和经验,快速地进行定位和恢复。
总结经验,吸取教训,写事故报告。对系统环境需要进行一定的调优操作,不做背锅侠。
相关技术
故障排查、优化、Shell、Python、监控
熟悉mysql、mongodb、redis、mq、elk、nginx、tomcat 安装部署及优化;
随着自身技术的积累,这个阶段的薪资开始突飞猛涨。这时,你已经可以在公司或某项目里独当一面(独自背锅)。尽管你有一肚子的委屈,尽快定位问题,解决问题才是王道。
二、备份
之前的Gitlab删库事件的教训犹在眼前,丢失了几小时的数据,虽然大部分的备份策略都失效了,但还是挽救了几小时前的一个备份,才没有造成更大的数据丢失和公司损失。我们需要对设备进行备份冗余,需要对数据库进行备份及离线备份,需要对网站静态进行备份冗余,需要对机房进行备用,能做到双活,那是更好的啦。
相关技术: rsync, crontab, lvm快照, mysqldump, extrabackup, 完全备份, 差异备份, 增量备份, 离线异地备份, ...
三、高可用集群
没有永垂不朽,我们不能保证硬件24小时在线,但需要保障服务24小时在线。
出现故障后,如果做好高可用和冗余,故障自动切换,移除故障节点,那样也就保障了服务的实时在线。在老板和用户不知情的情况下,悄么的把故障处理好的,KPI算是保住了,奖金也许就会有的吧。
相关技术: F5, Nginx, LVS, HA-proxy, MHA, Zookeeper, 各种其他分布式集群方案, ...
四、监控和警报
时刻担心网站挂掉,一年365天、每周7天、每天24小时,时刻保持精神高度紧张,就算你是神仙都会撑不住的。
我们需要一个机器来监督其他的机器工作,我们需要解放我们自己。
当有故障发生的时候,通过短信、微信、钉钉、邮件等能通知对应的运维工程师来处理,甚至是自动切换或摘除故障节点,然后我们离线对故障节点进行问题排查。
相关技术:Zabbix, Prometheus, open-falcon, Ganglia, sar, ...
阶段四:20K—45K
这个阶段可以假设为:Linux运维真的能为所欲为……
制定和优化运维解决方案,包括但不限于柔性容灾、智能调度、弹性扩容与防攻击;
推动开发高效的自动化运维、管理工具,提升运维工作效率;
探索、研究新的运维技术方向。
技术关键词:
自动化、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, ...
阶段四:50K+
这个级别的大佬要么是有极强的管理能力,要么是对某技术有底层的深入研究,已无法归纳具体的技术要求,您:爱学什么学什么吧……
作为公有云SRE软件技术专家,负责自动化运维平台的系统分析和架构设计,指导研发团队实现设计,规划未来平台技术架构方向;
负责全局性和前瞻性的架构设计,以及关键技术细节的实现,解决业务发展遇到的架构问题,持续提升系统平台稳定性;
负责持续关注业务技术发展和最佳实践,并结合华为云运维产品业务特点推进新技术及实现方案的落地;
总之……
运维是个需要不断学习的职位,50K 还远远不是天花板。
认知决定思维,思维决定行为,行为决定结果,结果决定命运!
确定要努力的方向,那就学起来吧!