从2018至今的运维工作经历总结
1.桌面运维
桌面运维其实可以看作是初级运维工程师,包括电脑系统的安装(一般是针对于windows系统7或10),一些办公工具的安装(微信,qq,office等),一般具备安装系统PE以及一些常用软件的安装就能解决日常大部分的工作需求。除了软件方面以外硬件方面也要大致的了解一些(主机箱的拆安,内存条的更换等)。还有就是打印机的检修(一般就是更换墨盒一类的问题)。最好还要懂一些网络的基本知识(会ping个网段,安装个wifi等)。一般会招募此岗位的大多都是事业单位或者政府机关单位,也有外包性质的。说白了就是混日子去了。
2.服务器运维
这个工作内容一般大体能分为两类:第一类就是小型的软件公司或者个体户,自家单位有一两台服务器有个4平米的小屋就算是机房了,这类进行其运维相对简单,只要平常保证服务器别宕机就行,主要就是检查机房的温度,,,如果真是遇见宕机了或者服务器内部的应用用不了了一般就是打电话找相关运营商来解决,其实也是混日子。第二类就是正规的中型软件企业,不光企业自身会有相对正规的机房,其客户一般也会设有正式的大型机房。这类做服务器运维的时候就会要求比较严格了,首先机房温度,备用电源这种的机房环境条件要考虑到,服务器的raid存储模式以及容错,防灾备案要有(其实大部分也就是主备分离做迁移)。对于这种正规的中型企业网络这一块有必要强调一句的就是服务器机房的网络最好做一个zabbix监控的拓扑,能检测网络出现问题的地方。还有要提到的就是云服务器这一方面,大多跟实体服务器没什么太大的区别,主要也是这方面本人接触的不多。是我接下来准备学习的一方面。
3.应用运维
应用运维的内容其实都是大同小异,基本的就是运行环境(JDK,LNMP、LAMP大致逃不出这几个)还有的就是根据不同单位的产品设置不同的配置了,其实这方面我个人感觉没必要深究,统一化配置流程,剩下的就是熟不熟练的问题了。值得一提的就是对于公司内部开发环境以及测试环境运用jenkins的自动化构建这一方面的能力了。我目前接触过的构建架构就是jenkins+(git,svn)+meaven有的高端点的meaven打包之后还会加一个docker容器化技术,将构建出来的jar包自动推送到的docker镜像环境当中。
本人的相关工作经历基本上所有的企业内部以及对外项目都会涉及到运行环境的搭建无非就是操作系统的不一样(windows居多,linux偏少),以及项目产品成熟度的差异(一般就是看封不封装)。有一点需要做个分享,公司运维部来的新人一般都是着急于熟悉公司自身产品的部署,其实个人认为大可不必着急,因为这个公司产品部署正规点的公司都有运维手册,跟着手册走应该不会有太大问题,就算没有手册问问同事儿也就基本能搞定,无非就是熟不熟,一些需要修改的conf配置文件别忘了,有些细节能不能注意到而已,一般的话跟一两个项目基本也就会了。所以大可不必着急,以后部署产品的机会多的是。我个人新入职一个运维部,首先会对于产品生产线(需求—开发----测试)的工作模式进行一个大概的了解,从而知道产品的构建模式,有的公司产品是不需要运维来部署构建环境的,只需要提供具备起停产品服务环境的服务器就行(一般开发与测试会用的多点,需求的话也会要用于对甲方的演示)。所以在不需要部署自动化构建的情况下,产品线最少也要三台服务器分别用于开发,测试,需求这三个部门用(也有的小企业就一台服务器三个部门共同用的)。如果需要为开发测试搭建自动化构筑环境,我觉得这个才是应该首先要会的。之所以这么觉得,因为这个自动化构建它可以视为一项技能来储备,但是公司产品则不同(每一个公司都有不同的产品部署流程)。话也不能说的太绝对,理解精神就行了。
4.网络运维
网络这方面我个人经验不多,虽说考了一个华为的hcip,但真正的项目经验几乎没有,只有自己私下做过一些拓扑实验而已。其实就我这三年的经验来看,平时的工作当中公司层面的网络基本都是搭建完了的,平时顶多也就涉及到划分个vlan这些,基本的一些ping网段,查个ipconfig也就够了,当然这只是我个人经历,对于网络运维的认知只能在这个浅薄的层面。
5.开发运维
开发运维这个段位不是我能参与的,也就没做过太多的研究,就目前可以分享的也就是想要让开发同事闭嘴,就给比他们懂开发,运维用到的编程语言起码我要是学的话会首选python,还有shell脚本的编写(期间也用到过,但基本上都是前人们写好的,我只负责运行就ok了),但是这边确实没什么经验,就不多发表看法了。
以上就是我对于运维工作划分的五个方面进行的总结,个人具备的能力尚浅,参与的项目也不多,只是一些个人经历的浅见,客观们看个乐就行,有些与您意见相左的地方也别抬,抬就是您对。总之呢,我个人对于运维工程师这职业的最大感触就是既要知道又要会的东西实在太TMD多了。