运维工程师(Operations),负责维护并确保整个服务的高可用性,同时不断优化系统架构提升部署效率、优化资源利用率提高整体的ROI。
运维工程师面对的最大挑战是大规模集群的管理问题,如何管理好几十万台服务器上的服务,同时保障服务的高可用性,是运维工程师面临的最大挑战。
运维工程师岗位职责
无论做什么运维,运维工程师最基本的职责都是负责服务的稳定性,确保服务可以7*24H不间断地为用户提供服务。在此之上运维工程师的主要工作职责如下:
1.质量:保障并不断提升服务的可用性,确保用户数据安全,提升用户体验。
2.效率:用自动化的工具/平台提升软件在研发生命周期中的工程效率。
3.成本:通过技术手段优化服务架构、性能调优;通过资源优化组合降低成本、提升ROI。
从产品的生命周期来看:
1. 产品发布前:负责参与并审核架构设计的合理性和可运维性,以确保在产品发布之后能高效稳定的运行。
2. 产品发布阶段:负责用自动化的技术或者平台确保产品可以高效的发布上线,之后可以快速稳定迭代。
3. 产品运行维护阶段:负责保障产品7*24H稳定运行,在此期间对出现的各种问题可以快速定位并解决;在日常工作中不断优化系统架构和部署的合理性,以提升系统服务的稳定性。
运维工程师岗位要求
基础技能:
1.精通shell/Python/Perl等1至2种编程语言
2.熟练掌握常用数据结构和算法,并能灵活运用
3.熟悉网络基础知识
4.深入理解Linux操作系统
加分技能:
1.熟悉开源的监控平台工具,比如:Ganglia、Nagios等
2.熟练掌握Shell脚本熟悉Awk、Sed等基础工具
3.熟悉分布式计算或者存储系统,比如Hadoop/Hbase/Storm等
4.熟悉机器学习原理能付诸实践者更佳
5.熟悉TCP/IP、HTTP等网络协议,精通socket网络编程
运维工程师发展方向
运维人员的要求特别严苛,因为运维人员针对不同的问题,需要不断的补充扩大自己的知识和研究范畴。
在初级阶段,优秀运维人员会体现出格外出众的主动性和责任心,面对陌生的业务会主动学习和拓展自己对业务对认识和相应的知识范畴,以能够足够的胜任业务的独立维护。
在逐步的发展阶段中,注重总结反省的工程师会逐渐成长为高阶运维人员,通常他们会有比较体系化的服务运维理解。也有一部分工程师由于出色的项目管理规划能力,逐渐成为项目经理。
再进一步的发展,高阶的运维人员对于产品的理解将非常的透彻,因而在这种情况下,高阶运维人员甚至可以成为产品的产品经理、产品研发的咨询顾问,在产品功能的设计与开发中起到至关重要的角色。