什么是运维-对运维的一个理解
这不年底了吗最近在写年终工作总结汇报,领导让总结下对运维的理解然后给上面不懂技术的大领导看,然后就整理了下面这篇文章。
什么是运维?
运维是指在大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与健康运行。
它集合了软硬件、网络、系统、数据库、开发、安全、监控、应用架构、存储、大数据、公私有云于一身的技术,通过系统状态监控、事件预警、业务调度、排障升级等手段,使服务处于长期稳定可用的状态。
运维岗位的分类
运维开发
:运维平台的设计,开发和实施部署,如:资产管理系统、监控系统、自动发布平台、权限管理系统等等。应用运维
:主要负责线上服务的发布变更、服务健康状况监控、服务的容灾高可用、数据安全备份和做故障排查等工作。系统运维
:系统运维主要和系统及底层网络等打交道,如:硬件、IDC机房、网络拓扑、CDN加速和基础服务的建设等;对所有服务器的资产进行管理,服务器的调研选型、交付上架和后期维护等。数据库运维
:需要对库、表、索引和SQL等制定规范,对数据库进行变更、监控、备份、高可用设计等工作。安全运维
:进行常规的安全扫描、渗透测试、进行安全工具和系统研发以及安全事件应急处理。桌面运维(IT技术支持)
:负责员工电脑分配、内部账户管理、企业邮箱、门禁、打印机、财务ERP、服务器(Windows为主)以及员工办公软件问题的技术支持等对内工作。
运维的职责
- 保证线上发布服务的正常稳定运行。
- 考虑服务的可扩展性。
- 从系统的稳定性和可运维性的角度,提出开发需求。
- 定位系统的问题,甚至可以直接修正bug。
- 对突然出现的问题做到快速定位响应和处理。
工作中运维应用的场景是什么样的?
普及一下Devops交付环常识
我们把开发交付划分为 需求计划–>编写代码–>构建–>测试–>版本发布–>部署上线–>运维–>状态监控 整个流程作为一个闭环,DevOps的目标是通过建立并不断完善持续交付的流水线。
运维的职责在这其中覆盖了产品从设计到发布、运行维护、变更升级再到产品下线的整个生命周期。

产品发布之前
- 对产品的业务熟悉;
- 产品架构设计的合理性评估,包括是否存在单点,是否可容错,是否有强耦合等;
- 资源评估,包括所需的服务器资源、网络资源以及资源的分布等,同时把相关产品对资源预算申请的合理性,控制服务成本;
- 资源就位,将申请的服务器及基础环境/域名上线环境准备就位;
产品发布过程中
- 产品发布阶段运维工程师负责发布的具体工作,将具体的软件和系统/硬件资源整合形成产品并对外提供服务;
- 对于已上线服务的更新也属于发布范畴,这个时候的产品发布一般要保障在线发布,在不中断对外服务的情况下完成产品的升级;
- 对于大型复杂的变更也存在中止服务,部署完成后再重新提供服务的情况,但这种情况需要运维工程师通过尽可能的技术手段来避免;
产品运行中的维护
- 系统监控
- 对服务运行的状态进行实时的监控,随时发现服务的运行异常和资源消耗情况;
- 日常服务巡检以评估服务/业务整体运行状况,及时发现服务隐患;
- 故障处理
- 对服务出现的任何异常进行及时处理,尽可能避免问题的扩大化甚至中止服务。
- 这之前运维工程师需要针对各类服务异常,如机房/网络故障、程序bug等问题出现时及时处理达到止损的目的。
- 容量管理
- 包括服务规模扩张后的资源评估、扩容、机房迁移、流量调度等规划和具体实施。
产品性能/成本优化
- 产品对外提供服务最重要的一点是用户体验,用户体验中非常重要的是产品的可用性和响应速度。
- 而如何用最合理的资源(如机器、带宽等)支持产品提供高可用和高速度的用户体验,这也是运维工程师的重要职责。
产品下线
发展良好的互联网产品将始终在线对外提供服务,但互联网产品快速迭代,也存在相当多孵化的产品最后被淘汰的情况。
这些产品都需要做下线处理,这个过程运维工程师主要做好资源回收的工作,将机器/网络等资源回收后纳入资源池中供其它服务使用。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Mr.Pu 个站博客!
评论