大家好,很久没有写文章了,今天突然有了写一篇自己这9年运维历程的一篇文章,希望可以帮助到才进入运维这行或者还在初、中级阶段的朋友。
入行篇:
我2008年7月份和几个同学为了学到前沿的知识因此到了深圳步入了it这行,我当时在上大学的时候一直觉的linux非常的神秘,因此一直向往着一定要找个和linux有关的工作,幸运的是我在不到一个星期的时间,就找到了我人生第一份跟linux有关的工作,那就是运维岗位。第一份工作当时的工资才3000块,勉强可以生存下去,起码不用以后再向父母要钱了,我也可以养活自己了。刚开始就是一张白纸,什么都不会,当时也不是太在意工资,只要能学到东西就好,我第一家公司主要是做web网络相册业务的,当时用到了heartbeat+lvs的技术,当时就觉的非常的高级,感觉好神奇啊,居然ip可以进行漂移,并且还能保证业务不会中断,这些都是当时大学学不到的东西。随着时间的推移,cacti、nagios渐渐的也付出水面,当时自己通过虚拟机安装和使用了cacti和nagios,并且成功应用到了业务上,当时的成就感就不用提了。渐渐的开始自学shell和mysql,当时就感觉自己就像干煸的海绵,需要吸收大量的水分一般,当时感觉到自己的能力也在不断的增强。但是到了我工作1年的时候,由于全球最大的网络相册平台关闭,这也充分说明了这个业务没有好的前景了,老板为了不再损失money,因此需要砍掉这个业务,因此我们这个部门面临解散,当时把我分配当网管,基于我对linux的追求,以及我对网管前景不是太看好因此果断选择了离职,不过公司还不错,最好还给我赔偿了1个月的工资,在这里我也非常感觉公司对于我的培养,让我在运维的岗位上学习到了不少的东西。
入门总结: 刚入门的朋友可能对于刚入这行不是太了解自己需要学习哪些东西,我在这里列出一些需要学习的一些内容,内容如下:
1、linux的基础,要把经常用到的命令和参数起码要烂到肚子里
2、LAMP、LNMP平台的搭建,这也是最最基础的内容了
3、监控系统平台,以前都用的cacti+nagios双刀,现在基本都在用zabbix,必须会
4、heartbeat、keepalived、lvs、nginx、haproxy的组合搭配
5、shell脚本的编写
6、mysql的入门知识
中级篇:
从第一家公司离职之后,把在第一家公司所学的知识进行了总结,然后就步入了重新找工作的行列,通过不到一个月的时间,我找到了第二家公司,这家公司主要是针对电信、移动、联通的业务,也就是所说的外包,当时自己不太懂也就进来了。不过还好,在这家公司我接触到了很多的高端的硬件设备,比如硬件防火墙、radware负载均衡器、F5负载均衡器,存储设备、光纤交换机、小型机等,这也为我在网路硬件上的配置和存储方面增加了不少的经验,从这家公司我也感觉到了移动真心不差钱啊。在这里我还学到了oracle的相关知识,比如oracle rac、oracle dataguard、ogg等,刚开始学oracle的时候感觉非常的别扭,就像一直用windows,突然用linux的感觉一样,因为它和mysql的操作方式完全不一样,还有表空间等的相关概念,当时学的真心累,不过为了进一步熟悉业务,也只能硬着头皮继续学习了,经过了一段时间的学习,慢慢的也就感觉到越来越顺了,对oracle的相关的知识也越来越熟悉了,渐渐的也开始研究oracle内部的一些原理。在这里我也充分表达下,我们到了这个阶段,一定不要只是配置下环境、了解下表面的东西,一定要深入了解你所学的东西的原理,这样为你之后的排错提供思路,是非常重要的技能。
中级篇总结: 在这里其实也没有太多的东西可写的,在这个阶段基本能接触到的东西都接触到了,在这个阶段,我的建议是一定沉下心,研究下你所学东西的原理,这也为你后期跟深入学习知识奠定下坚实的基础。
高级篇:
在深圳待了几年之后,已经对运维行业未来的前景也有了充分的认识,再加上随着多年的发展,西安的it行业也越来越好了,相应的运维岗位也越来越多,因此果断的回到了老家陕西。当时炒的比较火热的那就是python开发了,有着多年工作的我也灵敏的嗅觉到这个是以后的运维必不可少的一项技能,因此一心也扑向了python的编程海洋。当时学习python也是找不到北,不知道学了之后怎么应用到实战中去,这可能也是很多学习python朋友的苦恼的地方了,为了帮助这些朋友,我把我学习python的一些心得分享给大家。学习编程语言不能光看哦,一定要练,否则都是白搭,别给我说你找不到练习题,百度随便一搜一大把,根据找到的练习题,把之前的理论学习知识应用到练习题中去,这个就是你实战的第一步,把python的基础知识打牢之后。
下来对于我们运维人员来说,那就是自己写一个web方面的运维平台了,这里就牵扯到了Django框架的学习了,当然其他的框架也是可以实现的,但是基于Django的强大功能,因此我选择了Django,这里我们重点要学习的就是Django models、Django jinja2模板、Django url、Django视图,像Django form等内容如果你有空的话可以看看,这个不是重点,html form也可以实现。这里比较难的就是Django models的ORM,一对一、一对多、多对多经常把新手搞的晕头转向的,我当时就是这种感受,这个时候我的建议是查看官方文档,然后结合实例自己写一些小的案例,然后把关系搞清楚,对数据库的增删改查先搞清楚,然后再把各个表的关联查询搞清楚,这个时候千万不要着急,因为这个时候也是最容易让新手打退堂鼓的时候了,我当时就有想放弃的想法,最后咬牙坚持住了,之后是云开雾散了,其他内容的学习我觉的就没有什么难度了。
Django的各种知识打下基础之后,下来就是前端的学习了,对于我们运维人员来说也不需要太专业的前端知识,我们只需要学习下bootstrap、jquery、ajax、js就足以了,这里我们重点学习jquery和ajax,这个牵扯到我们后期要做前端和后端的数据交互。
下来就是要想怎么去设计表结构了和我们平台的架构的设计,这里也是比较难的一点,设计不好直接影响到后期使用的性能,因此这块我们花费的时间应该长点,下来再写代码哦。
高级篇总结: 这个阶段的学习更加需要我们的坚持,否则很容易半途而废的,当然这里不光是python的学习,现在比较火的还有openstack、docker、k8s等,大家也要时刻关注着前沿知识的更新,这样才能让我们一直处于高端。
最后再说下,我现在开始搞django的web开发课程了,如果有兴趣的朋友也可以过来看看,通过这一系列课程可以让你能独立的完成web平台的开发,学习这个课程也是为了让大家少走一些弯路,把我的一些经验在课程中讲述出来,目前入门篇已经完结了,下来就是进阶篇和实战篇。课程地址:http://edu.51cto.com/course/10407.html