返回 登录
0

起来,不愿做“保姆”的运维工程师们

阅读3574

文:——《操作系统真象还原》作者郑钢

运维人员不分昼夜的战斗在一线,无论任何时候都要接受报警短信的狂轰乱炸,夜里无论多困乏也要起来处理故障。谨以此文向奋战在一线的运维工程师们致敬,大伙儿辛苦了。

为什么要写这样一篇文章呢?毫不掩饰地说是为了宣传《操作系统真象还原》这本书,但如果您读完本文就会发现,我是对这本书寄予改变运维行业的希望。原因是目前运维的大部分工作都是一些琐碎的内容,我们甚至称自己是“碎催”,这和我理想中的运维工作很不一样。

IT人喜欢自嘲,称自己是“IT民工”、“码农”等,无论对挖苦自己多么地“乐此不疲”,但其实他们骨子里流淌的都是对这个行业的骄傲。可是,拥有这样一份骄傲的工作为什么还要自嘲呢?除了有可能是“满足虚荣心”之外,最主要的原因就是“工作真的没含量”。

研发工程师一般称为RD,即Research&Design,通常RD需要“使用”多种开发语言以完成不同工作。一般来说,公司业务迭代都很快,项目催得急, RD为了快速完成项目,不得不舍弃深入学习某一技术的想法。这就暴露了一个问题,多数RD只达到了“会用”的阶段,很难“掌握”,比如会用一个框架就行了,会用一个库函数就行了,为了快速完成任务,不求甚解。因此,很多RD自称码农是有道理的,他们的工作就像流量线一样。如果你问RD:“在这么多种语言中切换自如,你好厉害啊”,他们一般会说:“没啥含量,照着例子写呗…”,当然有可能是他们在谦虚。

运维工程师一般称为OP,即OPeration。从名字上就能看出运维工程上主要工作是“操作”。尽管如此,运维还是需要写代码的,但是写代码的工作毕竟不是OP工作的全部(甚至只是小部分),很多情况下,OP和RD一样也是照着例子改代码。相对RD同学,咱们OP在代码方面是业余的,何况,很多RD同学也只是到了“会用”的程度。

现在流行“全栈工程师”,也就是掌握多种技能,能够独挡多面,独立完成一个产品的技术大牛。但人的精力是有限的,掌握的越宽就意味着掌握的越浅,尽管在业务上“以一敌十”,但还是不能“一劳永逸”,需要与时俱进、不断学习新技术。
没有绝对“一劳永逸”的方法,但有相对“一劳永逸”的途径,万变不离其宗就是这个道理。

在高手的眼里,技术是没有区别的,只是外在形式有所不同。正如天下武功出少林,各类武功都是以少林武功为“基类”扩展的,因此少林高僧能一眼看出各种武功的共性,因此称天下武功是一家。像峨眉、武当等不同派系的武功,在高手眼里都是一样的内功+外力的组合运用,只是外在形势不同而已,而一般人只会看到不同的外在,因此在他们眼里,天下有很多种不同的武功。

在运维刚刚兴起的时候,OP能做的工作,大部分RD都做不了,那时候的OP还是蛮有存在感的。比如他们除了配置、优化服务器外,还要承担一部分的安全、数据库维护、机房建设等工作,还要配置路由器、交换机做网络规划,甚至掐水晶头做网线。这些活儿很少有RD能做下来。

几年下来,基础维护越来越细致规范,开始有专职的DBA负责数据库,SA负责系统,NA负责网络。OP剩下的工作就是装软件,部署环境等业务维护,我们成了名副其实的“保姆”。也许我这么说伤害了您,但您想想,RD为什么让我们装软件?他们自己不会装吗?原因很简单,在RD的认知中,OP就是干这个的,就像地上脏了,咱们首先想到的是找保洁阿姨。说白了,RD会让总监或CTO给他们装软件吗?换句话说,RD会让比他技术更牛的人给他打下手吗?这里面的道理不言自明。如果想让RD高看OP,OP必须要在RD的价值观中征服RD,这样OP才能翻身,RD的价值观是技术为王,打铁还需自身硬,OP要提升技术内功。无论是从架构还是设计部署方面,OP的使命始终是维护业务稳定,这才是体现OP价值的体现,我们应该是业务的主人而不是保姆,这才叫掌控业务。

不过话说回来了,有些OP还是很厉害的,他们会指导RD如何改代码,但这毕竟是少数,他们要么曾经是RD,要么是开发运维。
说了这么久,我就是不想成为保姆,我想成为业务的主人,那么我们就需要改变自己的角色。正如修车技术最好的,永远不是维修人员,肯定是车的设计师。您想,他都会造车,那么对车具有绝对控制力,对每个细节都了解的人肯定会修车。掌握了最底层的技术才会增加内功,学会了更难的技能,那些表面上的技术学起来才能更轻松,因为你能看到这些浅表技术背后的本质。就像动画片《七龙珠》,悟天是先变成了超级赛亚人后再学舞空术的,这样反而更容易学会。
都说谷歌的OP是最有技术含量的,他们是全栈式运维,因此RD也要听取OP的意见。我相信BAT中这样的OP也不少,但从我国大环境来看,运维行业还是较国外落后,我们的运维还有一段路要走,我希望我国的互联网公司在技术方面也是运维主导。

技术人员需要的是一种快速解决问题的能力,这背后需要扎实的知识,犹如冰山在水面上虽然只露出一点点,但如果没有水下的巨大部分做支撑,那一点点我们都看不到。

在计算领域中有几块“硬骨头”,操作系统是其中一个,它是所有应用软件的根基。尽管我们大部分的工作都是写应用软件,可是如果我们也能够创造一个操作系统,那么操作系统对我们来说便不是黑盒。了解了内核为软件提供服务的机理后,我们在开发应用软件、执行命令时便成竹在胸,这正是我推荐《操作系统真象还原》的原因,这是一本“一步步编写操作系统”的书,它的使命是让操作系统的学习不再盲人摸象,彻底揭开操作系统的面纱。这本书我脱产写了19个月,详细阐述了一个最基本的操作系统从原理到实现的过程,舍弃了大量的内核管理策略等“无关”的代码,直接复现内核的本质,因此,最终完成的操作系统,代码量仅为6023行,大大降低了学习难度。

也许有人会说,学操作系统编写是很耗时的,我们把大量的精力放在了这方面,而且这方面并不能让我们有实际的产出,值得吗?

有句话叫磨刀不误砍柴工,我们暂时的后退是为了助跑,可以跳得更远。我举个例子,李连杰功夫那么厉害,他会太极、洪拳、套路等等,但他会小学生的广播体操吗?我看未必,不过值得肯定的是,由于李连杰有了扎实的功夫底子,广播体操也显得更容易,对他来说,分分钟就能学会。

操作系统只是计算机工程的一个方面,只要我们多付出努力就能够掌握,当然把操作系统写好还是不容易的,这涉及到管理方面的策略,但不管好不好,能写出来就是很不错的,因为从0到1是有着本质的不同。然而技术的顶端永远是算法、数学,这不是一蹴而就的,要想在这方面有所建树,除了天份占据着主要因素外,也需要我们长期的积累。

做为一个OP,我希望给这个行业争口气,提高这个行业的形象还需要我们自身的努力。

郑钢作品:《操作系统真象还原》

图片描述

如果你在学习操作系统的时候会有如下的感受,那么可以选这本书来读一读。

(1)“太难了,对于操作系统这个庞然大物我简直无从下手”;

(2)“很后悔选了这门课(大学一些专业中操作系统是选修课),甚至不想学习计算机了”;

(3)“上课完全听不懂,我都不想继续听下去了”;

(4)“即使实验做出来了,由于只是完成了局部功能,我依然不明白操作系统是怎样运行起来的,甚至不知道自己在做什么”。

真”象”还原是如何得来的?
操作系统还是比较庞大的,因此各个部分都是分拆出来介绍,所以我们学习操作系统的方式必然犹如盲人摸象、管中窥豹,为此《操作系统真象还原》的封面是一个大象的拼图,我们不再局部学习,而是把所有局部还原成一个整体。

作者的女朋友属兔,因此作者叫她兔子,作者属狗,因此女朋友叫作者大狗。他们常常骑着一辆单车去学校图书馆编写这本书,多么有情调的事情,大家可以借鉴一下,哈哈, 现在,大家明白为何封面上是由一只小狗和一只兔子共同把大象拼合到一起的了吧。旁边那辆灰色自行车也是功不可没,它已经成了兔子和狗的伙伴。

所以,这本书的封面不是错别字哟!背后有着甜蜜的故事。

评论