系统管理员的发展方向
早几年前,我有幸担任过一段时间的Linux系统管理/运维的教学工作,我发现许多学员(包括有工作经验的学员)对为什么学习Linux感到很迷惘,更别谈什么职业规划了。我在工作和学习中,也接触了不少学习Linux的朋友,但发现他们在学习的过程中难免会走进误区,白白浪费了不少精力。本节希望通过说明Linux/UNIX的从业现状,来帮助大家走出学习的误区。
通过多年跟踪学员的情况我们发现,学员在同等条件下学习Linux后,选择开发方向的薪水要比系统应用上升得更为迅速。但是这个方向难度会更大,同时也会更枯燥些,需要毅力和身体,更需要兴趣。如何入门及如何规划自己的Linux学习之路一直是困扰Linux爱好者的一大难题,实际上,Linux的入门与学习并不难,只是由于长期使用其他操作系统的原因,以及没有正确的引导指向,使得一个本身不是难题的问题变成了难题。
这里我想给读者朋友们提一个问题:企业为什么要用Linux,为什么要用UNIX?也许会有许多读者会说Linux/UNIX更好,更稳定。其实也并不全是这个原因。企业为什么要用它们,其实是本着节约成本和创造价值的目的。服务器操作系统的软件投入和服务投入是相当大的经费,这也是开源免费的CentOS 和FreeBSD越来越受欢迎的原因之一。
再说一下硬件的负载均衡器,比如大家最熟悉的F5 BIG-IP负载均衡设备,性能一般的要十几万元人民币,如果要想加新功能、新模块,价格也会随之水涨船高。但其实许多企业所需要的Linux集群环境的并发并不是大太,完全可以用开源免费的软件来代替,例如LVS/HAProxy、Nginx,而这些软件一般都是部署在Linux系统上的,这也是近年来Linux越来越受欢迎的原因之一。
另外,学习Linux的一个误区是只局限于学习Linux本身,从Linux的操作到Linux的内核,也不管自己到底要干吗。千万不能这样做,Linux只是操作系统,重要的是其上的应用。系统是拿来用的,学习使用Linux的目的是为了给企业创造效益,如果不是仅仅为了制作Linux系统,不是为了加入Red Hat这样的专业Linux发布版厂商中,那么我们在学习了Linux基础知识后就跟掌握了Windows系统没什么两样,很显然这是不够的,我们还需要更进一步的学习,比如选择Linux上的应用,或者Linux上的软件开发,当然还有数据库方向。下面我就这三方向的发展详细说明:
1)Linux的系统、网络、服务等方向(即大家熟悉的系统运维方面):
Web应用服务器,如新浪、百度等大型门户网站,建议大家掌握自动化运维和分布式技术。
系统网站运维,如现在流行的电子商务网站的架构设计维护,建议大家掌握Linux集群技术。
网络应用,如Linux防火墙、open×××等。
2)嵌入式开发、Linux应用系统开发、Linux内核驱动开发,主要有以下几类:
Linux下的C/C++系统程序开发。
Linux平台Java体系开发和PHP体系开发。
Linux下的图形界面开发。
Linux底层内核/驱动开发。
嵌入式Linux开发等。
3)数据库管理员(Database Administrator,简称为DBA)。
数据库的重要性我就不重复了,而DBA在企业中的作用称得上举足轻重了:在技术类岗位的薪资待遇方面,总监之下就是数据库DBA了,以企业提供的薪酬成本来推算,此职位在企业的重要性是不言而喻的。
以上是Linux系统管理员发展的三个方向,大家可以在平时的工作和学习中有所偏重,三个专业精通一个即可。注意我这里说的是精通,而非仅仅熟悉的程度,意思是你的技术放在企业里要马上就能用,而且你掌握的技能和技巧要让企业的生产环境稳定无故障的运行。