由于近期经常回家的缘故,每每被家人或者亲戚问及做什么工作,当我回答做运维时,往往看到是一脸懵懂和疑惑,而当我滔滔不觉的解释什么是运维,什么是系统的十分钟后,那张抑或的脸比以前更疑惑了的时候,我明白了是时候该自己总结下运维究竟是什么。
首先,要看一个系统是如何产生的,这个系统有可能是基于B/S的网站,也有可能是基于C/S腾讯通的,但是无论基于那种架构,都要要经历这样一个过程,产品经理拿到一个需求,根据需求来设计这个产品,再到带领团队开发这款产品,开发过程中会经历不同的测试阶段,直到所有功能都满足需求,再到这个系统上线(当然有些公司是用项目来进行规划的),上线之后的日常的运维维护,以及后期的运用推广,以及根据用户反馈,不断的升级迭代,知道这个系统再也无法满足用户需求而停止,下面一张图会更清晰的展示一个系统或者软件的生命周期。
有了上面的图,或许运维就能找到自身清楚的定位了,运维主要在产品上线以及运维维护这个阶段,一些大型的互联网公司的运维甚至贯穿了整个系统的生命周期,这是因为很多的互联网公司的软件系统复杂度以及技术架构的多面性决定的,很多软件系统开发过程中不仅仅要考虑功能问题,还同时要考虑非功能问题,比如说是否支持负载均衡、是否支持故障转移、是否容易实施代码更新策略、是否容易实施数据备份策略、系统的扩展性、开发性、系统性能、安全性、服务器架构、存储架构、可二次开发程度等等,再想想双十一那天晚上淘宝每秒钟要承受几千万的并发就知道这给运维带来了多大的压力就能明白这个道理。
其次,运维都做什么?
设备管理:对网络设备、服务器设备、操作系统运行状况进行监控。
应用/服务管理:对各种应用支持软件如数据库、中间件、以及各种通用或特定服务的监控管理,如邮件系统、DNS、Web等的监控与管理。
数据/存储/容灾管理:对系统数据和业务数据进行统一存储、备份和恢复。
资源资产管理:管理企业中各IT系统的资源资产情况,这些资源资产可以是物理存在的,也可以是逻辑存在的,并能够与企业的财务部门进行数据交互。
信息安全管理:随着企业的不断发展,数据成了企业最宝贵的资源,如何保障系统的安全以及业务数据的安全是重中之重,及时的为系统打补丁,应对不明的网络攻击,看看最近WannaCry的危害有多大就明白这事不是闹着玩的。
业务管理:包含对企业自身核心业务系统运行情况的监控与管理,用户针对各业务系统,提供业务需求整理、需求变更和用户体验优化的加载、维护、配置、升级、补丁等方面的实现服务;
最后总结:运维就是保证软件系统稳定性的同时,不断提升应用的可靠性、健壮性、安全性的工作,软件及服务,以技术为基础,通过技术保障产品提供更高质量的服务,不仅需要具备扎实的计算机基础知识,还需要了解操作系统、网络、安全、存储、CDN、DB等,同时还要能够整理、分析系统运行的各项数据,快速定位问题发生的原因并解决。