今天想谈谈“运维”这一行,我将从如下五个部分来和你们分析一下目前Linux这个行业的现状以及如何学好Linux、成为专业运维人员和云服务对运维的影响。linux
1、linux行业现状
咱们知道Linux诞生于1991年,它在国外的发展是很是迅速的,即便目前国内愈来愈多的应用转向linux平台,但Linux在大多数人的眼中仍是不太了解,甚至一个多年从事windows平台下的开发人员,可能也从未使用过。究其缘由主要有如下几点:shell
1.入行门槛较高
因为linux是类UNIX操做系统,咱们都知道UNIX是一个相对早期的操做系统,它的设计自己就不是针对普通大众的而是从事计算机的专业人员。虽然linux相对UNIX对大众已经相对友好,但仍然不是普通人可以轻松掌握的操做系统。因为不少人受Microsoft的windows操做系统影响太深,对于linux这种主要以命令行形式操做的系统很是不习惯。因此Linux这行的门槛仍是较高。数据库
另外一个重要的因素是因为绝大多数的发行版中对中文的支持并很差,其实换句话说是没办法对中文的支持太好。因为Linux涉及的知识相对底层,除去GUI所能提供的中文界面,基本上咱们看到的都是英文。若是你是一个Linux运维人员,你很清楚的知道,你天天打交道的linux不多可以看到中文。因此英文是学习Linux一大障碍,尤为是计算机英语与咱们上学所学的英文彻底是两码事。为何这么说呢?apache
应试英语着重语法,考过CET-4的人都知道,几乎每一题都是变着法的考语法。而计算机英语实际上是很是厚道的,计算机告诉你的必定是一个陈述句而不是做死的提示你一个反问句或者复杂的语句。好比,你在输入一个命令执行时,若是这个命令计算机没有找到,它会直接的告诉你:xxx command is not found 它不会问你: 这个命令难道真的存在吗?这种想抽它的语句。因此计算机英语关键在于须要掌握大量的名词和术语。编程
2.精通难
国内目前的情况是你们都知道windows的运维相对不如Linux运维的薪资水平。因此不少想作运维和windows运维的人员都想选择Linux运维,目前也有不少的相关培训机构,网上的书籍视频层出不穷。可是真正想要深刻到高级的linux运维却并不是一件容易的事情,究其缘由主要以下:windows
能力与工做成正比。“能力有多大,责任就有多大”,在运维这一行,没有人一毕业就是大神,要知道运维不一样与其余行业,运维须要的不是“天赋异禀”而是“经验丰富”。运维这行要的是一个稳字,一个好的运维人员应该是一个好管家,他最好的状态是保证家里一切正常的前提下“无所事事”。没有状况就是最好的状况,但咱们一般没法决定能不能出问题,因此出现问题第一时间找到解决方案并实施是一个专业运维人员所需具有的。在这种大前提下,越是有大项目经验越是能力越强,说白了越有经验越能hold住场面。而这种能力的成长与你工做的环境息息相关,若是你是一个小公司,你再怎么作可能也没法接触大集群运维,若是你在一个大公司,一个大项目就能带领你提高一个档次。想要精通难的不是学习的能力而是磨练的机会。后端
3.前景好
十年前全部的公司都注重网络技术,因此那个时候网络工程师大热。现在大公司的网络都早已成形,市场上的CCIE处处可见,网络技术的门槛愈来愈低。现在,linux行业崛起,在云计算大环境下,市场上对linux高级运维人员的需求将愈来愈大。这样的人才是不可批量生产的,高级运维不是你想作,想作就能作的。一个职位最怕的是从事其余职位的人能够轻松取代你,若是是这样,这个职位就不值钱。若是你是不可取的的,那么薪资天然也是不可取代的。在Linux运维的初级阶段,实际上是能够取代的,Linux毕竟是一个操做系统,只是一个工具。一个常常在linux下作开发的开发人员就能够取代一个linux初级运维人员。但若是高级运维,开发人员是没法取代运维人员的。高级运维是一个很是专业职位,高级运维须要掌握至关多的知识,包括但不限于网络技术、系统编程、运维流程及思想、虚拟化、自动化运维体系构建、数据库管理,云计算平台应用,大数据等。一个运维人员须要具有有开发人员的思想,但一个开发人员是否可以掌握常年积累下来的运维流程、思想和经验体系就不是一朝一夕的事情了,因此高级linux运维绝对是目前大公司的稀缺人才。可能有人会反驳个人话说:一个高级的开发人员是更稀缺的。没错,我赞成你的观点,那么我会为你分析为什么我认为linux高级运维更加稀缺。服务器
分析:一个行业从业人员是否稀缺咱们要从供需的角度来看,咱们首先看需求。网络
需求。目前国内愈来愈多的应用应用在linux上,某些大公司更是将整个平台从原来的windows转移到Linux上,windows运维也许你能够找一些别的人员兼作,但我相信无论你是大公司仍是小公司,毫不会对Linux运维不重视。大公司不差钱,小公司压根就不懂,你不懂的东西你越想找个专业的人帮你打理。因此虽然需求基数不大,但需求意愿强烈。运维
供给。如今哪一个大学没有开设编程课程,可是Linux相关课程却少之又少。而目前从事Linux运维的多半是半路出家,一出校门就去作Linux运维的太少,这是由于运维是一门以经验为主导以能力为辅助的行业,因为是高级Linux运维,不通过多年的锻炼达不到较高的境界。而linux高级运维人员每每随着公司的项目一同成长,而这种人每每都是公司中的关键岗位,试想一个公司的高级Linux运维掌握了公司的大量运维资料和项目经验,公司不想轻易放人,我的也不会轻易跳槽。每家公司不同,换一家公司你要适应新的运维团队,开发新的运维工具和平台,这种风险我的也不会轻易尝试,因此高级Linux运维的人员流动性不大。
还有一个很重要的缘由,一流高手不屑于作运维,确实运维是一个后勤部门,就像你们踢足球都喜欢踢前锋,不多有人喜欢当后卫,毕竟这种吃力不讨好的事情你们都不喜欢作。并且在同一水平线上开发确实比运维的工资高。然而正是由于如此,像咱们这种普通人才有机会作大神不肯作的事,不用和那些学霸大神们竞争。
因此,我我的以为,linux高级运维将是云计算大环境下的稀缺人才,注意我说的是高级。
2、学习Linux两种人
就我身边的圈子而言,大多数学习Linux的其实分为两种状况:
1.兴趣
这种状况下以学生居多,有一些是经过老师了解到linux以为很感兴趣,而后去学习linux。因为学生时间多,大多数不会去报专门的培训班,因此以自学居多。我身边的这种例子不多有学的好的,多半会进入一个误区,去研究GUI哪一种好看哪一种绚丽去了。致使这种状况的缘由是在学习了linux的基础知识后,不少人会进入一个瓶颈,因为没有工做实践的机会,不知道该用本身所学的知识作哪些事情。一旦咱们所学的知识不知所用,那便会对所学的知识产生排斥心理,以为没用,产生了玩GUI的误区。不过我认识的也有学的好的例子,不过这个学生是作开发的,学习linux只是由于须要在linux下开发,因此学的很快很好,但他未来会是一个优秀的后端开发人员,却不必定会作运维。
关于linux的GUI,我想啰嗦几句。GUI是一个好东西,但对于linux的初学者来讲并很差。学习Linux第一要克服的一点就是摆脱windows的所长久影响的使用习惯。对于linux来讲,GUI其实也是一个shell,只不过是图形化的shell,因此说不能说命令行就好,GUI就很差。若是你真的是作GUI方面的开发,那么研究GUI无可厚非,若是你只是个菜鸟,也就是玩玩壁纸,换换主题,这些东西对于学习linux毫无用处。
2.工做须要
这种状况下多半是工做中须要使用Linux系统,不得不学。有一些会选择自学,不过因为上班了大多数仍是有一些经济基础,也有很多人上培训班以达到短期的速成。这些人员入门会较快,有很多人都可以学好,并慢慢发展为一名不错的linux运维人员。
以上这两种状况,后者其实更容易学好linux,根本缘由在于:若是是兴趣使然,学与不学不会对你的生活有很大的影响,你该上课上课,该上班上班,没有人督促你学习,没人迫使你学习。即便对Linux失去兴趣,也能够去学别的感兴趣的知识,这实际上是一个爱好问题。
但后者不一样,公司要求的,不会就无法交代,不会就无法干活。老板吩咐的任务就在那,学会了就能干活,学不会就走人,你说这种压力下你能学不会吗。我相信你加班加点不睡觉也想学会Linux,不会就没工做,没工做就没饭吃,这是一个生存的问题。因此二者本质上是不一样的,因为后者是因为实际工做需求来驱使学习,因此学到的东西立刻就能够在实际的工做中应用,因此会以为学到的东西颇有用,那么学习就更加的有动力,当你的boss给你加工资的时候,你就会更有动力,这一切都是学习Linux带给个人财富,有什么理由不更好的学习它呢?
3、如何入门
这实际上是一个老生常谈的问题,说的简单一点:只要功夫深铁杵磨成针。学习不是一朝一夕的事情,长时间的坚持才会给你汇报。但我依然想给那些想自学linux的同窗一点建议:
1.无论你基础多差,找一本系统的书籍从头至尾的看一遍,无论能不能看懂至少混个脸熟。若是你以为很吃力,能够去找找网络上的视频教程。切记看视频是效率最低的学习方法但倒是最容易入门的自学方法。若是看书我强力推荐《鸟哥的Linux私房菜》,很系统很详细很深刻。
2.不要碰GUI
3.多提问多思考,本身寻找答案不要轻易求助于他人。你问的问题都不会是国家机密,百度以及google上都会有大把的资料供你学习,要知道你求教的那个大神他也是从网络上获取的这些知识,你不想有一天能成为和他同样的大神吗?
4.不要担忧英文,只要你坚持看英文文档,不会的单词去查字典,用不了多久你会发现看英文比看中文理解的更好。(即便你和我同样CET-4都没过^_^)
5.坚持就是胜利,半途而废不如不学,想好了就走下去,不然请不要迈出第一步。
6.多和别人交流讨论,帮助别人也是一件开心的事情同时也可以提高本身,也许他问的问题就多是你下一个要遇到的问题。
7.关于培训班,若是想了解RHCE证的话请移步个人另外一篇博文《关于红帽RHCE考试的那些事儿》http://blog.csdn.net/apache0554/article/details/7740405
4、如何成为一名专业的linux高级运维人员
若是你有机会和条件,请大胆的作你从未作过的项目,每个项目都是对自身的极大提高,环境可以磨练一我的的能力和意志。有好的环境资源不要浪费,好好把握,慢慢进步。
若是你暂时没有这些机会,请努力提高本身的能力,作一个有准备的人,也许机会不久后就会来临。
若是你感到毫无发展的空间,尝试改变现状,安逸的环境不会使一个专业的运维人员进步。
无论什么时候何地始终保持好的心态,细心、冷静、自信、上进、谦逊,性格决定命运,习惯影响成就。
5、云服务对linux运维的影响
地球人都知道,将来至少十年都是云计算的黄金时期。一个事物的发展一定要弃旧迎新,尤为在互联网时代,设备与技术的更新突飞猛进。云服务不只改变了中小公司的运营方式,一样对大公司也起到了冲击做用。中小公司传统状况下,一个互联网项目在开始阶段须要网络设备,服务器设备,机房设备,CDN和线路设备,线上运维人员、IDC机房运维人员等。也许一个项目还没开始赚钱,光这些乱七八糟的设备和流程就已经耗费了至关多的人力和财力,项目成本天然提升,项目压力也就愈来愈大。若是项目成功,天然苦尽甘来;但若项目失败这些投资也就全打了水漂,也就大大增长了开发和创业的成本。而大公司虽然不差钱,但这些机构在终年的人员流动、机构扩充的影响下也愈来愈臃肿。
若是企业使用云服务,那么线下运维将由云服务商全程统一负责,极大的精简了一个项目开始阶段的投入。虽然多数大公司目前并不会使用公有云,转而开发自身的私用云。但本质上是同样的,都是将线下运维进行集中和整合,经过云技术提供给各个项目人员使用,达到资源的最大化合理利用。
若是云服务被愈来愈多的企业应用,那么对传统运维的影响是很是巨大的。
1.运维人员精减
公司不须要为买个项目单独配置设备和人员,运维人员更多的状况下须要的是线上运维而不须要再去机房干苦力。第一批被淘汰的就是IDC线下运维人员,由于你的活已经被云服务商作了,固然大公司的IDC机房仍是不可或缺的。
2.运维人员要求提升
因为第一个影响,运维人员虽然不须要作线下运维,但线上运维的难度将更大。首先,若是是使用Amazon aws或者Microsoft Azure这种大型公有云,对于平台的配置和使用就具备比较高的专业性。因为云服务带来的资源整合,自动化运维势必是之后高级运维的发展趋势。运维人员不只须要掌握公有云的熟练配置,某些状况先下还须要掌握OpenStack这种私有云。配合这些云服务须要开发和管理新的自动化运维平台,这就对运维人员提出了至关高的要求。
3.大胆的猜测—第三方运维
就传统运维而言,没有公司会放心将涉及核心业务的运维部门交给第三方外包,但若是云服务发展到一个至关成熟的阶段,大部分的企业都采用云服务,那么对于高级运维的人员的需求将很是大。咱们都知道使用云服务是没有地域限制的,就算你在一个小山沟只要有网络,你一样可使用云服务,而线上运维一样也能够摆脱地域限制。举一个小例子:在小城市一个公司使用云服务,想要招到符合云服务要求的专业运维人员是比较困难的,由于这些人员大部分都集中在发达城市。但公司又不得不须要这些专业的人员,只能寻找线上运维。(目前其实国内已经出现了一些第三方运维团体,但只针对于小公司和我的。)一旦线上运维的需求发展到一个程度,势必会造成产业链。也许不久的未来国内会有专门作运维的公司出现,固然这只是个人我的猜测,脑洞大开而已。
总结:只是随心的一些想法,说出来只为自娱自乐,只但愿那些想作运维和已经成为运维的朋友们在这一行可以越走越好,毕竟运维目前在国内不是一个被重视的行业,走一步算一步吧。
PS:以上言论为我的观点,仅做参考和建议,如观点不一样,请一笑而过,没必要深究