运维的资深运维工程师眼中的运维 ?

运维的资深运维工程师眼中的运维 


萧十郎
浏览 809回答 2
2回答

米琪卡哇伊

以下是中国互联网业界部分资深运维工程师对运维的看法(涉及隐私,相关人名采用首字母缩写):CXY:运维是一个非常广泛的定义,在不同的公司不同的阶段有着不同的职责与定位,如果以operation字面的含义去理解,认为就是敲几行操作命令的工作,那就错了。 对于初创公司,运维工程师的工作可能需要从申请域名开始,购买/租用服务器,上架,调整网络设备的设置,部署操作系统和运行环境,部署代码,设计和部署监控,防止漏洞和攻击等等。对于大型的公司,对于运维工作的要求越来越高,也催生了更细化的运维分工:从大的方向,可以分为网站运维,系统运维,网络运维,数据库运维,IT运维,运维开发,运维安全等方向。很多非从业人员对运维的看法一般属于IT运维的一个非常小的职责:装系统^^。 一些研发工程师对运维的看法也只局限运维工作的几个点:部署, 变更, 监控,响应。无论做什么运维,最基本的职责都是保证业务能够稳定运行。所以必须成为业务稳定性的owner。有些人通常认为运维工程师像消防员,7*24小时响应异常,救火。但是稳定性的运维工程师和医生的职业更接近。医生也分各种科室,也有急症室,需要先判断病人的问题,对症下药。业务有着各种各样的需求,如果运维工程师能够满足业务需求,或者主动挖掘业务的痛点和改进方法,就能为业务实现更多的价值。在满足业务需求时,应该分清主次,优先面对业务快速发展非常重要的需求,例如稳定性,部署和变更效率,容量管理。稳定性不用多说,如果用户没法稳定使用你的业务,什么产品特性都没有价值。对于百度这样极速发展的互联网公司,每天都有大量的升级更新需要提供给用户,如何在异地的大集群上最快的满足产品的升级需求,同时让用户对升级过程无感知,这是我们的追求。当用户会用百度来测量网络是否可以上网时,就是对运维质量的褒奖。其次,可以横向看看不同业务的需求。如果能够把多个业务的需求抽象出来,把一些有通用价值的工作平台化(例如数据库,cdn,监控,流量接入和调度,大数据的存储和计算),也能在这个方向进行深入的发展。在百度这样的巨大的流量和服务器规模下,你不仅有巨大的空间和挑战,也有着充足的资源和支持,可以开发和应用业界最前沿的技术。有一定的积累后,可以进入到宏观和微观的两个层面,从整个公司层面考虑业务的智能部署和调度(涉及网络,硬件,系统,应用开发方式等各个要点),进一步提升效率和节省成本。如果能够懂业务,理解业务的模式,紧密结合业务进行优化和创新,也是运维工程师体现价值的另外一种方式。有很多产品上的创新,专利的申请,论文的发表,业务指标的提升,直接或者以合作的方式由运维工程师贡献。YBX:运维工程师相对研发人员来讲,可以全局观察所维护的计算机系统,特别是高阶运维工程师,不存在模块界限,这种独特的位置带来很多价值: 知道准确的系统瓶颈点,进而知道系统准确的容量;在系统出现瓶颈前,知道如何快速提供容量。 知道系统的风险点,可以协调风险点上下相关关联模块,做出冗余策略;相比集中解决单点模块稳定性,更合理。 长期从事相关工作,积累较多的架构设计经验,可以指导新架构设计和审核。 从公司不同业务角度看,运维可以从中抽象相同的模块,统一管理,形成有效的平台和自动化管理方法 同样从公司不同业务角度看,可以统一调配资源,进而节省资源。KZ: 设计并实现可以提高公司服务可用性,可扩展性,延迟和效率的软件。 处理日常紧急事故,修正,替换问题组件。并设计规避问题方法。 设计和实现新的超大规模分布式系统架构和标准。 参与服务扩容计划和预测服务增长趋势,对软件和系统性能进行调优。 提供在线咨询服务和现场解决问题服务。 构建自动运维平台,解决日常问题。 构建知识库,预测可能的问题。 XX:运维即生产环境以及和生产环境相关的资源、服务的维护的整个过程,包括了相关的技术、流程手段,确保生产环境稳定、高效、低成本的运行。运维一方面为对业务功能最终负责,其价值的体现为最大化助力产品价值的发挥。这通常是通过将产品功能的运行表现提升到极致来达成的。例如搜索引擎的运维重点要保障用户在搜索时候的极致体验:稳、快、准、新、全。而一个在线聊天系统的运维应该是确保用户聊天过程的实时与顺畅。另一方面为对在线业务的成本最终负责。其价值的体现为降低服务运行成本运维工作的开展方式一般取决于所维护的业务特点需求,形成所需的多个主题方向进行开展。通常的解决方案中包括如下的一些主题方向:事件管理、配置管理、变更管理、容量管理等。运维工程师的要求特别严苛,因为运维工程师针对不同的问题,需要不断的补充扩大自己的知识和研究范畴。在初级阶段,优秀运维工程师会体现出格外出众的主动性和责任心,面对陌生的业务会主动学习和拓展自己对业务对认识和相应的知识范畴,以能够足够的胜任业务的独立维护。在逐步的发展阶段中,注重总结反省的工程师会逐渐成长为高阶运维工程师,通常他们会有比较体系化的服务运维理解。也有一部分工程师由于出色的项目管理规划能力,逐渐成为项目经理再进一步的发展,高阶的运维工程师对于产品的理解将非常的透彻,因而在这种情况下,高阶运维工程师甚至可以成为产品的产品经理、产品研发的咨询顾问,在产品功能的设计与开发中起到至关重要的角色。SJY:一个运维工程师所需的技术体系以其专业方向而异。但基本的计算机系统架构,操作系统,网络技术的掌握是基本要求。例如你可能需要熟练掌握linux操作系统的使用,熟练使用各种脚本工具来处理日常工作任务,精通TCP/IP协议栈以排查一个大规模网络系统中的流量异常问题等。更进一步的你需要形成一套软件可运维性方面的经验积累,以此作为后续工作的指导。一个运维工程师在初期阶段目的是掌握维护一套系统所需的所有软硬件知识和经验。进阶阶段是需要能够设计开发一套基础的体系软件,以支撑业务系统的稳定可靠运行,即开发服务于软件的软件,以支持更大规模的业务系统,提高运维生产力。最高阶段是反作用于软件系统的构建和运行阶段,使得系统从诞生阶段起即具有天然的可运维性,以最大化系统的生产力,同时最小化对外部支撑资源的依赖。ZM:运维工程师首先应该是软件工程师(Software Engineer),只是责任和侧重有所不同。运维工程师不是系统管理员。和系统管理员最大的差别是,运维工程师的工作不仅仅是配置和管理系统,而且可以运用软件开发的方法来增强系统的功能、或者对数据进行分析。运维工程师应该是软件工程师、系统工程师等角色的综合体,和一般软件工程师相比、应该具有更加广博的知识背景运维的职责在于: 保证服务的稳定运行; 考虑服务的可扩展性; 从系统的稳定性和可运维性的角度,提出开发需求; 定位系统的问题,甚至可以直接修正bug; 对突然出现的问题做到快速响应和处理; 运维的日常工作: 需要对系统的需求和设计方案进行分析,思考在保证稳定性方面有哪些可以加强的地方,并和系统的研发人员进行有效沟通; 使用工具、或者写程序,对运营数据进行分析; 写程序以建立工具或平台,去加强系统的稳定性; 运维工程师最重要的是会运用编程和软件的方法来解决问题。发展的道路应该和软件工程师没有很大的区别,差异只是关注点和领域方向的不同向左转|向右转
打开App,查看更多内容
随时随地看视频慕课网APP