五一的时候看到的一个微博,InfoQ发表一篇文章说运维的本质是“可视化”,这个观点不知道出自哪里,但是非常的可笑。
很多观点都是出自没有实际经验的人,这是技术界的悲哀。作为一个从事多年一线运维的普通工程师,我常常给新来的同学讲,什么是运维最本质的东西?
很简单,运维的本质是“可控”。运维是一门非常复杂的学问,不像学会两三门语言,设计几个网站应用就可以成为架构师那样的工作。他除了技术之外,经验积累、视野、大局观、甚至是心胸都有可能决定成败。优秀的开发者比比皆是,但是优秀的运维人员少之又少。
原因就是运维内容太复杂了!而我为什么说运维的本质是“可控”,大概有以下几个原因:
第一点:稳定性“可控”
运维不是维护一两台机器,发布代码就好,而是要做成千上万,甚至十几万台的服务器和各种网络设备、存储设备等专有设备维护,这些服务器包含webserver,DB,cache,cdn,computing多种类型,如何让这些大量的服务器稳定的跑在生产环境中,不因为硬件损坏、发布变更、系统升级而引发的业务系统故障。没有东西是不会坏的,没有系统是没有bug的。硬件要坏,系统升级,发布变更,这些都没有关系,但是最重要的,一旦发生这些之后,运维人员知道,这会业务影响多大!?需要多少时间和工作量恢复?
第二点:性能“可控”
我和DBA一起维护DB多年,DBA最痛苦的地方,不在于“慢”,而在于时快时慢。一个不稳定的性能,就无法预估承受业务压力需要的系统规模,这样对于DBA在维护是无异于自杀。很多云计算厂商做设计的时候,往往也会忽略这一点,其实性能的问题,比最高性能,来的重要的多!非常漂亮的数字不能解决问题,但是一次性能的不足,可能就引发故障。
第三点:安全“可控”
有没有绝对的安全呢?理论上没有,所以,运维的同学,总要花很多精力在系统安全上,比如控制哪些用户可以登录系统环境?哪些用户是可以进行变更?哪些用户甚至可以拿到最高权限?测试和开发隔离,公司内外隔离,都是因此而生。只要能够控制权限的面积,范围,就能知道风险,这边是所谓的安全“可控”。
重要如上所示,但是正如一开头所说,运维的内容相当复杂,交付“可控”,变更内容“可控”,效率“可控”都是可以值得深究的东西,因此,无论是“可视化”,“大数据”,“运维自动化”等等,都是在为“运维可控”服务的。数据可视化,带来的是规模可控;运维自动化,带来的是效率可控,风险可控,如是而已。
每一个点的提升,都是运维的提升,希望所有从事运维的同学,都能感受到,做什么可以让“可控力”提升,不要再半夜的时候处理故障,不要和女朋友看电影的时候回公司处理故障,也许我们再次遇到这些问题的时候,可以拿起一杯茶,做一个优雅的运维。
作者:何妍
来源:51CTO