运维工程师主要做哪些工作
既然工作目标是保证系统的安全稳定运行,那么我们的工作就是围绕着这个目标转。我们需要:
1、构建系统监控体系
没有监控就等于是瞎子,系统出了问题都不知道,要是哪天支付宝不能支付了,支付宝的运维工程师肯定是第一时间知道的,总不见得等用户投诉,媒体报导了自己才知道吧?关于监控体系我之前已经说过了。
2、应急处理
系统出故障了怎么办?着急的看着束手无策肯定不行,这时一个优秀的运维工程师的价值就体现出来了,一个有经验的运维工程师能第一时间确定故障原因,并迅速恢复业务,保证对外影响时间最小。当然,这里故障是多方面的,有应用故障,数据库故障,甚至是网络线路故障。
3、 技术问题分析
出了问题就需要分析,这里需要具备一些必备能力,比如网络抓包分析、tcpdump抓包及分析、代理的机制等。
4、业务问题处理
就是在业务层面进行统计分析,比如统计系统的每日交易量,成功率,错误码的分布情况,这对这些错误码分析原因,找出集中在哪个环节,集中在哪家商户,找到他,然后冲过去帮商户解决问题。
5、版本测试
开发发布版本后运维工程师需要进行相应的性能和高可用测试,不具备高可用的系统建议还是不要上线了,否则后果不堪设想。
6、版本上线
这个就需要体能储备了,在晚间业务量小的时候悄悄的进行,要让用户无感知,熬个夜完成系统的升级改造,第二天给广大用户一个惊喜,有没有发现有时候一夜之间支付宝,京东啥的换了个页面,出了啥新功能啥的?
7、系统演练
养兵千日用兵一时,平时不努力,故障时吃苦头。所以平时自己要安排些实际故障的演练,验证下系统的强制性,再考验下一线工程师的应变能力。
8、工具开发
运维没有工具怎么行?包括监控工具、交易成功率统计分析工具、变更自动化工具等等。
9、业务分析
这个你需要具备一项新技能:“统计分析”。各种统计分析工具,数学建模是必须要掌握的内容。