运维工程师(Operations)在国内又称为运维开发工程师(Devops),在国外称为 SRE(Site Reliability Engineering)。负责维护并确保整个服务的高可用性,同时不断优化系统架构、提升部署效率、优化资源利用率提高整体的ROI.
运维工程师面对的最大挑战是大规模集群的管理问题,如何管理好几十万台服务器上的服务,同时保障服务的高可用性,是运维工程师面临的最大挑战。
在一些规模较大的公司(比如:Google、FaceBook、百度、阿里、腾讯等),运维工程师和系统管理员是有一定的区别:
系统管理员:主要负责机房网络、服务器等硬件基础设施的运行和维护。
运维工程师:主要负责管理并维护在运行在海量服务器上的软件服务。
无论做什么运维,运维工程师最基本的职责都是负责服务的稳定性,确保服务可以7*24H不间断地为用户提供服务。在此之上运维工程师的主要工作职责如下:
质量:保障并不断提升服务的可用性,确保用户数据安全,提升用户体验。
效率:用自动化的工具/平台提升软件在研发生命周期中的工程效率。
成本:通过技术手段优化服务架构、性能调优;通过资源优化组合降低成本、提升ROI。
从产品的生命周期周期来看:
- 产品发布前:负责参与并审核架构设计的合理性和可运维性,以确保在产品发布之后能高效稳定的运行。
- 产品发布阶段:负责用自动化的技术或者平台确保产品可以高效的发布上线,之后可以快速稳定迭代。
- 产品运行维护阶段:负责保障产品7*24H稳定运行,在此期间对出现的各种问题可以快速定位并解决;在日常工作中不断优化系统架构和部署的合理性,以提升系统服务的稳定性。