分享

运维工程师

 黄金割 2018-10-09

运维工程师

运维工程师(Operations),负责维护并确保整个服务的高可用性,同时不断优化系统架构提升部署效率、优化资源利用率提高整体的ROI.

运维工程师面对的最大挑战是大规模集群的管理问题,如何管理好几十万台服务器上的服务,同时保障服务的高可用性,是运维工程师面临的最大挑战。

职责

无论做什么运维,运维工程师最基本的职责都是负责服务的稳定性,确保服务可以7*24H不间断地为用户提供服务。在此之上运维工程师的主要工作职责如下:

1.     质量:保障并不断提升服务的可用性,确保用户数据安全,提升用户体验。

2.     效率:用自动化的工具/平台提升软件在研发生命周期中的工程效率。

3.     成本:通过技术手段优化服务架构、性能调优;通过资源优化组合降低成本、提升ROI

从产品的生命周期来看:

1. 产品发布前:负责参与并审核架构设计的合理性和可运维性,以确保在产品发布之后能高效稳定的运行。

2. 产品发布阶段:负责用自动化的技术或者平台确保产品可以高效的发布上线,之后可以快速稳定迭代。

3. 产品运行维护阶段:负责保障产品7*24H稳定运行,在此期间对出现的各种问题可以快速定位并解决;在日常工作中不断优化系统架构和部署的合理性,以提升系统服务的稳定性。

工作内容

在软件产品的整个生命周期中运维工程师都需要适时地参与并发挥不同的作用,因此运维工程师的工作内容和方向非常多:

·             事件管理:目标是在服务出现异常时尽可能快速的恢复服务,从而保障服务的可用性;同时深入分析故障产生的原因,推动并修复服务存在的问题,同时设计并开发相关的预案以确保服务出现故障时可以高效的止损。在这方面主要工作内容有:

1.         问题发现:设计并开发高效的监控平台和告警平台,使用机器学习、大数据分析等方法对系统中的大量监控数据进行汇总分析,以期在系统出现异常的时候可以快速的发现问题和判断故障的影响。

2.         问题处理:设计并开发高效的问题处理平台和工具,在系统出现异常的时候可以快速/自动决策并触发相关止损预案,快速恢复服务。

3.         问题跟踪:通过分析问题发生时系统的各种表现(日志、变更、监控)确定问题发生的根本原因,制定并开发预案工具。

·             变更管理:以可控的方式,尽可能高效的完成产品功能的迭代的变更工作。在这方面运主要工作内容有:

1.         配置管理:通过配置管理平台(自研、开源)管理服务涉及到的多个模块、多个版本的关系以及配置的准确性。

2.         发布管理:通过构建自动化的平台确保每一次版本变更可以安全可控地发布到生产环境。

·             容量管理:在服务运行维护阶段,为了确保服务架构部署的合理性同时掌握服务整体的冗余,需要不断评估系统的承载能力,并不断优化之。在这方面主要工作内容有:

1.         容量评估:通过技术手段模拟实际的用户请求,测试整个系统所能承担的最大吞吐;通过建立容量评估模型分析压力测试过程中的数据以评估整个服务的容量。

2.         容量优化:基于容量评估数据,判断系统的瓶颈并提供容量优化的解决方案。比如通过调整系统参数、优化服务部署架构等方法来高效的提升系统容量。

·             架构优化:为了支持产品的不断迭代,需要不断的进行架构优化调整。以确保整个产品能够在功能不断丰富和复杂的条件下,同时保持高可用性。

能力要求

基础技能:

1.     精通shell/Python/Perl12编程语言

2.     熟练掌握常用数据结构和算法,并能灵活运用

3.     熟悉网络基础知识

4.     深入理解Linux操作系统

加分技能:

1.     熟悉开源的监控平台工具,比如:GangliaNagios

2.     熟练掌握Shell脚本熟悉AwkSed等基础工具

3.     熟悉分布式计算或者存储系统,比如Hadoop/Hbase/Storm

4.     熟悉机器学习原理能付诸实践者更佳

5.     熟悉TCP/IPHTTP网络协议,精通socket网络编程

软素质要求

1.     强烈的责任心与主动性,对所负责工作有owner意识,并能自我驱动成长

2.     能承担较大工作压力,有较强独立分析、解决问题的能力

3.     工作中需要胆大心细,具备探索创新精神

职业发展

运维人员的要求特别严苛,因为运维人员针对不同的问题,需要不断的补充扩大自己的知识和研究范畴。

在初级阶段,优秀运维人员会体现出格外出众的主动性和责任心,面对陌生的业务会主动学习和拓展自己对业务对认识和相应的知识范畴,以能够足够的胜任业务的独立维护。

在逐步的发展阶段中,注重总结反省的工程师会逐渐成长为高阶运维人员,通常他们会有比较体系化的服务运维理解。也有一部分工程师由于出色的项目管理规划能力,逐渐成为项目经理。

再进一步的发展,高阶的运维人员对于产品的理解将非常的透彻,因而在这种情况下,高阶运维人员甚至可以成为产品的产品经理、产品研发的咨询顾问,在产品功能的设计与开发中起到至关重要的角色。

前景

运维所涉及的知识面、专业点非常广,对从业人员素质也要求非常高,运维工作在大型互联网公司也越来越重要。随着互联网的高速发展、网站规模越来越大、架构越来越复杂,对网站运维工程师的需求也会越来越急迫,特别是对有经验的运维人才需求量大,而且是越老越值钱。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多