Linux运维工程师岗位前景及学习路线

1.1 什么是Linux?

大家日常使用电脑听歌、打游戏娱乐或处理日常工作时,接触到最多的就是Windows操作系统,电脑如果不安装Windows系统是无法进行娱乐和工作的,所有的软件程序都必须运行在操作系统之上,但我们大众百姓常用的操作系统是个人版的,也就是给个人用的,熟称桌面版系统。

和Windows操作系统一样,Linux也是一个操作系统软件,只不过它是企业级服务器操作系统,Linux系统以安全、稳定、免费、高效、可自由更改源代码著称,这几个优秀的特点使得Linux系统大受欢迎,并且未来也会越来越火!

1.2 Linux系统发展前景?

众所周知,全球互联网及移动互联网仍在在高速发展,所有的公司要想生存都必须和互联网接轨,这样就使得互联网的发展与日俱增。

而Linux系统以安全、稳定、免费、高效、可自由更改源代码的特点占据了,1-2线城市90%以上的互联网企业以及移动互联网企业的系统应用。例如:百度、腾讯、阿里巴巴、淘宝网、京东商城、小米网、58同城、Sina、网易、滴滴打车、摩拜单车等都在大量使用Linux操作系统,国外的企业更是对Linux情有独钟,谷歌、Facebook、亚马逊等,毫不夸张地说,只要你能随口说出来想到的公司后台几乎都在使用Linux系统(包括Windows的厂商微软公司也在亲近Linux系统),我们使用的手机、平板等大多都在使用Linux系统(安卓版),苹果系列产品也都是类Linux系统(Unix),可见Linux系统的应用之广,可以预见未来至少是10年,Linux将是服务器端最火、应用最广的操作系统,没有之一,中国国家也在大力扶持Linux系统,从中小学开始普及Linux系统。

再举个例子,大家使用淘宝、京东购物,使用百度、谷歌搜索,看起来网站界面很简单,实际上网站背后都是由数千到上万台、甚至10万台服务器来完成的,这也是企业为什么需要运维工程师的原因。

为什么老男孩老师会对Linux的未来火爆程度这么肯定呢?这是因为Linux诞生的基因决定的:

Linux系统遵循GPL协议,即保证任何人有共享和修改自由Linux的自由,任何人有权取得、修改和重新发布Linux系统的源代码权利,但都必须同时给出具体更改的源代码,这个许可让全球的人都愿意为Linux贡献力量而不被某些人和机构据为己有,你说能不火么。

1.3 什么是Linux运维?

1.3.1 Linux运维岗位描述:

用一句话概括就是维护Linux操作系统以及系统之上的相关软件服务、程序代码和企业数据,使得企业能够优质、高效、快速的为企业的客户提供服务,从而盈利赚钱,随着企业增长,服务器和服务数量、要求也会成倍增加,对运维的能力和数量都有更多的要求。

1.3.2为什么企业会需要Linux运维岗位?

随着互联网和移动互联网的高速发展,企业用户数量曾几何级数增长(多达数百万计、千万计,微信和QQ的用户有近10亿),企业的应用及网站规模、数据量也越来越大,需要的服务器也越来越多,软件和程序架构也越来越复杂,例如:BAT中每家企业的服务器数量可能多达数万台到10万台,这么多的服务器、软件运行、网站架构、程序代码、数据安全维护都需要维护工程师,并且需求会越来越多。

1.4 Linux运维岗位及工作内容

互联网Linux运维工程师是一个融合多学科(网络、系统、开发、数据库、安全、存储等)的综合性技术岗位,甚至还需要沟通、为人处世、培训、销售、管理等非技术能力,这给运维工程师提供了一个广阔的发展空间。

1.4.1 Linux运维工程师岗位职责

一般从企业入门到中级Linux运维工程师的工作大致有:挑选IDC机房及带宽、购买物理服务器或云服务、购买及使用CDN服务、搭建部署程序开发及用户的访问系统环境(例如:网站运行环境)、对数据进行备份及恢复、处理网站运行中的各种故障(例如:硬件故障、软件故障、服务故障、数据损坏及丢失等)、对网站的故障进行监控、解决网站运行的潜在安全问题、开发自动化脚本程序提高工作效率、规划网站架构、程序发布流程和规范,制定运维工作制度和规范、配合开发人员部署及调试产品研发需要的测试环境、代码发布等工作需求,公司如果较小可能还会兼职网管、网络工程师、数据库管理员、安全工程师、技术支持等职责。

涉及到的Linux平台上的运维工具有:Linux系统,Linux基础命令,Nginx,Apache,MySQL,PHP,Tomcat,Lvs,Keepalived,SSH,Ansible,Rsync,NFS,Inotify,Sersync,Drbd,PPTP,Open×××,NTP,Kickstart/Cobbler,KVM,OpenStack,Docker,Mongodb,Redis,Memcached,Iptables,SVN,GIT,Jenkins,网络基础,Shell/Python开发基础等,除此之外还可能涉及到交换机、路由器、存储、安全、开发等知识。

运维工程师还包括一些低端的岗位,例如:网络管理员、监控运维、IDC运维,值班运维,其中后三个低端岗位是没前途的岗位。

总的来说:Linux初中级运维工程师更多的是使用工具软件的阶段,属于运维的初级阶段,在一线城市互联网公司的薪资一般在8000-15000/月。

职业发展方向:Linux运维架构师、数据库工程师、运维开发工程师、运维经理、运维总监

Linux初中级运维工程师应用软件阶段。

小规模网站架构逻辑图(老男孩教育Linux运维班期中集群项目实战)

1.4.2 Linux运维架构师岗位职责

运维架构师是运维工程师的高级阶段,并没有明确的岗位界限区分,运维架构师一般来说是除了对运维工程师应用的开源工具熟练掌握之外,更多的是用思想来运维了,即DevOps的落地,各种企业运行过程中的解决方案提出和执行,例如:根据公司的现状可以设计各类运维解决方案的能力:

1、自动化代码上线(SVN/GIT+Jenkins+MVN)解决方案;

2、云计算部署架构及Docker微服务架构方案;

3、服务自动化扩容方案(KVM/OpenStack/Docker+Ansible+Zabbix);

4、10万并发的网站架构、秒杀系统的架构及解决发你个案;

5、多IDC机房互联方案、全网数据备份解决方案、账号统一认证方案;

6、数据库、存储及各重要服务节点的集群和高可用方案。

7、各网络服务的极端优化方案、服务解耦/拆分。

8、运维流程、制度、规范等的建设和推行。

9、沟通能力、培训能力、项目管理、业务需求分析及落地执行力等。

这里仅举几个例子,实际工作中会有更多,运维架构师的工作,其实就是解决企业中的用户访问量不断增大带来的痛点,最终达到高效、优质的为客户提供网站及业务服务。

总的来说:Linux运维架构师更多的是根据企业日益增长的访问量需求,利用若干运维工具组合加上经验思想,形成解决业务需求方案的阶段,当然也不排除对运维工具进行二次开发以及可视化展示运维数据的阶段(开发软件平台),这个阶段涉及的工具会非常多,几乎市面好用的开源工具都在备选之列,在一线城市互联网公司的薪资范围15000-50000/月。

职业方向:高级数据库工程师、运维开发工程师、运维经理、运维总监、技术总监

运维架构师:将多个工具组合,加上思想经验,形成方案,用思想和经验赚钱的阶段。

技术的提升仅是量的积累,思想的提升才是质的飞跃!——老男孩

中等规模网站架构逻辑图(老男孩教育Linux运维班期末集群项目实战)

大规模网站架构逻辑图(老男孩教育Linux运维班大型集群项目实战)

1.4.3数据库运维工程师

众所周知,数据几乎是所有企业的生命线,所以数据库工程师的地位和薪水一般会比普通运维工程师高一些,主要工作内容就是保证数据库数据的安全以及高效地为用户提供各种服务。工作内容主要有:数据库环境搭建、数据库优化、数据库备份恢复、数据库集群高可用、数据库数据统计分析、数据库数据可视化展示等。

涉及到的工具从早期传统的Oracle、Sql Server,到当前互联网最火爆的MySQL,以及近年来崛起的NOSQL数据库Redis,Mongodb,Hbase, Cassandra等,对于高级数据库管理员、数据库架构师,还需要网络、系统、开发(Python)等的能力。

数据库工程师岗位细分:数据库运维工程师、数据库架构工程师、数据库开发工程师。数据库工程师需要有Linux运维工程师的基础,否则难以成才。

数据库工程师一线城市互联网公司的薪资范围15000-60000/月,例如:老男孩教育的兼职DBA讲师,工资高达55K/月。

职业方向:运维开发工程师、数据库主管、运维经理、运维总监

1.4.4运维开发工程师

运维开发工程师是介于运维工程师和开发工程师之间的岗位,简单地说就是开发和运维工作相关的工具、软件以及让运维数据自动化、智能化、可视化的平台产品(例如:CMDB平台、跳板机平台、监控平台、自动化运维管理工具、可视化Web展示等)。

由于是开发运维相关的工具和产品,因此运维开发工程师既需要运维工程师的能力,也需要开发工程师的能力,运维开发涉及的语言最多的就是Shell、Python、Go、Perl、Php等语言,其中以前三者居多。

运维开发工程师一线城市互联网公司的薪资范围15000-50000/月。

职业方向:运维架构师、转开发方向、运维经理、运维总监

1.4.5运维经理/运维总监

运维经理和运维总监是运维岗位的管理岗,和其他的部门领导领导一样,该岗位不但需要运维工程师、运维架构师的能力,同时还需要善于沟通、懂得团队激励、有培训能力、说服力。

职业方向:CTO、CEO

特别说明下,运维总监岗位转换CTO或CEO岗位还是机会蛮大的(很多网友觉得很困难,但老男孩就是个成功的例子,身边也有多个成功的例子),但也不是随随便便就能转成的,需要运维总监有较高的认知和格局,特别是运维能力以外的知识和格局,例如:需要具备产品、销售、管理、财务、演讲、说服力等综合能力才行,这些都是需要此岗位的人要提前蓄积能力,如果只是本位主义,那确实转CTO、CEO成功的机会渺茫,这也是很多运维经理和总监困惑但又无法自我突破的地方。

1.5 Linux运维岗位前景

行业前景:

1、互联网、移动高速再持续高速发展,现在的繁荣场景仅仅是刚开始。

2、Linux的优秀特性作为互联网后台服务器系统无可替代。

3、上网用户量激增、网站等企业应用规模快速扩大,必然需要大量的运维人员,现在企业上网浏览网页,购物,以后必然要靠网络赚钱,那么运维的价值就来了,例子:携程宕机10个小时,损失1200万美金,未来企业的服务(赚钱的根)越来越重要,离开运维损失惨重,所以离不开运维工程师。

职位前景:

Linux运维工程师工资是多少呢(以一线普通IT公司举例)?

    打杂的工程师           5个月以内          月薪8000/月以下(不叫运维)

  初中级Linux运维工程师 6-12个月            月薪8000-15000/月

  高级Linux运维工程师   12-36个月           月薪15000-30000/月

    Linux运维架构师        12-36个月           月薪15000-50000/月

老男孩身边的绝大多数运维从起步阶段就比开发工资高很多,而不是网上说的开发普遍比运维工资略高。李文星事件大家都应该知道,东北大学高材生,培训毕业找JAVA工作才5000工资,还是钓鱼骗子,5000的诱饵都能得逞,你就知道开发的入门工资到底有多高了?。

关键本质:

是否有发展前景,是否工资高,关键是在于人,而不在于具体哪个方向。

1.6 Linux运维岗位优势

https://blog.csdn.net/l_liangkk/article/details/103543336

1.7 Linux学习路线图

1.8 Linux运维人员面临的问题与挑战

1.8.1 云计算兴起带来的问题

云计算兴起,解决了传统的选机房、买代宽、买网络设备、甚至系统安装,企业用户只要付费就可以用网络服务了,一些低端的运维工程师饭碗不保。但是,每个企业都有各自的特殊需求,因此优秀的运维工程师依然大量稀缺。

1.8.2 自动化和人工智能带来的问题

自动化和人工智能对所有人都将会是一场前所有未有的革命,所有的低端重复工作岗位都会面临挑战,所有网友要不断的努力多学知识,多掌握思想,多往机器无法做到的思想、方法、创造力、艺术力方向发展,才能胜出,老男孩教学中的大量核心思想就是带领大家提升思想,而不仅仅学死的知识和技术。

1.8.3 运维工程师岗位的变革

部分运维工程师刻舟求剑,或者被动学习提升,没有主动提升的意识或者意识不强。

IT方向,特别是开发和运维方向,在高级岗位里,需要会的东西是重合的,即开发人员必须要会运维知识,运维人员也需要会开发知识,谁抱残守缺,谁就被淘汰,非常多的运维人员长期拒绝学开发,只坚守自己的运维领域,这个认知和做法是错的。

未来的合格运维和开发人员,一定是运维和开发都会的,只是各自的侧重点不同,如今大家的行业岗位选择,只是入口不一样而已,学历不够高的朋友,从运维领域入手,容易上手、学会找到工作可以积累能力信心,如果直接学开发,就很可能从入门到放弃。李文星事件大家都应该知道,东北大学高材生,JAVA培训毕业才5000工资,老男孩教育Linux运维培训毕业学生平均月薪10-12K,是其他机构JAVA毕业生就业工资的2倍。

1.9 我们到底如何选择?

1.9.1 技术方向分类及工作人群特点

1、开发方向

岗位:

Python开发工程师,Java开发工程师,Php开发工程师,移动端开发工程师,前端开发(H5)开发工程师,开发架构师。

人群:

尖子生、211/985学校的计算机相关专业的学生、硕士、博士

强调:大专、高中学历的人,和他们竞争基本就是炮灰、垫背的。

2、运维方向

岗位:

网络管理员、网络工程师、运维工程师、运维开发工程师

人群:

不超过10%,大专,高中,初中和中专。

3、测试方向(放弃)

测试工程师,此方向建议放弃。

 

1.9.2 根据自身特点科学选择适合的

开发方向对人的逻辑思维的门槛要求很高,从小到大10几年学习都不好的网友(本科以下学历),就尽量不要选择开发方向了,1是自身学习条件和开发对人的基础要求不匹配,2是你未来开发方向的竞争对手都是优秀的大学生、本科、硕士、博士。

除非个人对开发特别感兴趣,或者大学学过计算机开发相关专业的课程,就是有一些特殊弥补的条件可以考虑下,三无网友,且跨行业转行,学习力不够强的就尽量别从开发入手了。

这部分人最佳的选择方向就是运维方向(当然还有产品、销售等方向),运维方向是一个特殊门类,大学几乎没有教学过相关课程,而且内容多而杂,对经验的要求更高一些,不是学历高学习能力高就能轻易学好的,需要较长时间和经验的积累,因此,运维领域本科生可能不超过10%,基本都是专科和高中生,甚至是初中生还有,在这个领域里竞争,学历就不是问题了。

八路军在弱小的时候,根本就不会和日本鬼子机械化部队在平原战争,而是利用山地游击战、地道战等。

老男孩老师从2000年开始就意识到这一点,所以果断的从开发转到运维领域,因此获得了巨大成功,差异化发展自己很重要。

IT方向,特别是开发和运维方向,在高级岗位里,需要会的东西是重合的,即开发人员必须要会运维知识,运维人员也需要会开发知识,谁抱残守缺,谁就被淘汰,非常多的运维人员长期拒绝学开发,只坚守自己的运维领域,这个认知和做法是错的。

未来的合格运维和开发人员,一定是运维和开发都会的,只是各自的侧重点不同,如今大家的行业岗位选择,只是入口不一样而已,学历不够高的朋友,从运维领域入手,容易上手、学会找到工作可以积累能力信心,如果直接学开发,就很可能从入门到放弃。李文星事件大家都应该知道,东北大学高材生,JAVA培训毕业才5000工资,老男孩教育Linux运维培训毕业学生平均月薪10-12K,是其他机构JAVA毕业生就业工资的2倍。

1.9.3 运维人员的问题

目前国内大部分运维人员的层次相对开发人员比要低很多(前文已述),有部分运维人员在努力找到工作后,就堕落了。自我驱动、自我提升、自我素质素养的完善能力越来越弱了,本来就学历、学习能力不行,还不持续执着努力,这是部分运维人员发展慢的核心原因,也是部分程序员不看好运维岗位的根本原因。

关键本质:运维和开发方向一样都有发展前景,是否工资高,是否有发展,关键是在于人,而不在于具体哪个方向,人的问题只有自己才能解决,相对于开发岗位,运维人员层次、素质略低,薪水低也是必然。

1.9.4 结束语:为什么现在企业招聘都喜欢招本科?

老男孩运维思想16:为什么现在企业招聘都喜欢招本科,你仔细想过么?

论专科、高中生和本科生区别?

本节思想就事论事:不针任何学历个体,学历从来都不是万能的,论专科、高中生的如下能力相对本科生来说是缺失的:

1.基础教育的知识看世界的能力缺失(例如:数学、外语)。

2.学习方法、学习能力缺失,这个最关键(老男孩教育帮你补)*****。

3.态度、素质、素养,为人处事能力缺失(老男孩教育帮你补)******。

知不足然后知进步,学历不行无法暂时弥补,

如果把上述3点能力补上,你依然可以超越那些牛哄哄的本科和硕士,

因为,上述能力本科生其实也未必比你好多少,可能就好一丁点!

结论:找到个人差异,然后死磕加上×××似的坚持。

归根结底,还是学历高低导致的认知和能力的区别,虽然区别很弱,但也不是一时半会就能抹平的。