公司规模较小的企业,在效率、流程方面有较高的要求。一岗多职的现象也是普遍存在,运维往往不是专人负责,业务系统不复杂,装上操作系统,部署上软件就可以运行。
利用开源软件,如zabbix、prometheus,由企业的研发人员进行二次开发,也可以达到良好的运维效果。
当业务系统不复杂的时候,可能涉及Linux,网络基础配置等一些工作,如果技术能强大一些,还可以选择虚拟化工具,市面上的虚拟化产品有非常成熟的,如如vmware,proxmox等,基本不需要人维护。
如果企业的业务相对复杂,或者有较大的平台。尤其是业务量较大时,就需要专门的运维团队。有系统的运维体系,运维架构,保障业务的稳定、健康运行。
线上的产品成型,涉及的角色有销售,运营,项目,产品,测试,研发,运维,客服等等。但是交付给用户体验的最后一道关卡是运维。
随着这两年IT的发展运维的工作慢慢转向交付自动化,运维的自动化、智能化。一般在刚开始搭建的时候会非常累,非常麻烦,当体系成熟后,基本就轻松了,每天就是看看监控告警,处理一些日常事务,优化一下运维体系。剩下的就是学习一些自己感兴趣的新技术。
开发的岗位比运维的岗位多的多,并且现在有了运维开发岗,其实也是运维范畴的,基本上围绕运维工作来做开发,自己的需求自己实现,更有成就感。
运维工程师或者运维开发工程师是非常枪手的,尤其是当你有某一领域的运维经验的时候。如ceph存储的运维开发工程师或者k8s,openstack的运维开发工程师,hadoop的运维开发工程师的待遇非常好,并且公司很难招到人。随着云的发展,互联网公司在各地建设运中心,像某某某政务云中心等,都需要运维人员的,很多地方运维工程师会比中级软件开发工程师待遇好。
学习、改变、共同进步是我们的核心价值观。制定一个稳步提升的学习计划非常必要。
一、起步阶段
系统的上线,监控的部署(知道该有的监控,为什么监控,怎么排查)
故障问题处理能力,这是一个闭环的工作,不仅仅只是解决问题,更应该找出问题暴露的缺陷,这里的缺陷不只是系统层面,也要检视作为运维是否需要改进,如监控,如容量,如高可用等等各种中间件,数据库的技能,最好是在某一个上有技术深度生产容量评估,这里涉及压测以及压测方法的能力
文档编写的能力,不管是开发还是运维,都应该具有文档编写的能力,作为系统运维,你应该会写系统运维手册
二、运维的进阶思维
1、排查问题的思维,在告警或者故障出现的情况下,有自己的定位,排查的一种流程方法
2、高峰准备的思维,业务高峰点之前,怎么准备,怎么开展
3、开展多人协作工作的思维,接收一个新的任务的时候,如何开展,如何进行,如何统筹协调
4、系统优化的思维,不仅仅只是维护系统,你应该能够凭借你的经验,发现系统的隐患,主动推动优化
创造工作价值
运维最宝贵的就是处理问题的经验,但是大部门运维只是让它躺在自己的文档中,怎么将他运用在生产中?告警匹配预案,自动处理?AI自定定位?出现故障自动匹配历史问题,给与参考?
监控应该怎么去管理维护?按照监控手册一个一个去部署?还是形成模板,自动化部署监控?
监控应该怎么做减法,去收敛?一刀切的去降低甚至不发低级别告警?还是监控告警处理情况,精准的找出无效的冗余告警进行收敛?
在拥有大量监控数据的情况下,怎么实现动态监控,怎么实现自动定位,怎么运用这些数据创造价值。
不要只埋头工作,多花一点时间,跳出来,思考一下