深夜运维思考
晚上睡不着,起来写写文章,最近看书没耐心,囫囵吞枣,心中记下一两个点就很不错了,不敢写技术,就写写最近的一些思考吧。
<h2 id="about-problem">关于问题</h2>
做了两年运维,碰到问题的时候已经大致能摸清楚一些门道,譬如说编译软件的依赖问题,一般不是库文件就是头文件,装好devel包,做好软链接,基本上都能解决。软件启动有问题,看看日志,strace跟踪系统调用看看缺少什么目录,还是配置文件有问题,一般也都能迎刃而解。
在这种安装和启动程序都不是问题的时候,这都不算技能,只能算经验。或许更该思考怎么优化程序,优化系统。但这是细腻活,得花功夫和时间。
<h2 id="about-standard">关于标准</h2>
无规矩不成方圆,做事情也都该循着标准做。真正细致的标准,应该是分类详细的,譬如数据库该采购什么样的服务器、Nginx和虚拟机又是如何的硬件配置。系统初始化要安装哪些必须的软件,系统该怎么命名,IP子网又怎么规划,做不同的用途的系统内核参数要怎么配置。tomcat、php等分别该使用什么段的端口号。应用软件和代码分别该放在什么地方,域名和路径怎么定义等等等等。
标准化的目的在于使一切都有章法,每个人照着规章办事,节省很多沟通和扯皮的成本,效率自然高。规范化是个体力活,在一个迅速膨胀中的公司,要重新强制实行一套标准,这就像那个常见的比喻--给行驶中的汽车换轮子,是极其困难的事情。除了制定的困难之外,还需要和每个团队沟通,劝说他们改邪归正,从野路子到正规军。标准化最好从小团队的时候就做好,如果不幸已经是一团糟糕,那把这个事情提高到战略层面吧,至少推进起来得力一点,运维应该多一些话语权。累死他一人,幸福一公司。
<h2 id="about-hiring">关于招聘</h2>
我不做招聘,但是最近遇到让我上火的人使我开始想到这个问题。运维和网络都是要与软硬件打交道的职位,一个人妄想所有事情都通过采购设备和解决方案来完成,这个人是有问题的。LVS厉害得不行,却嘀咕买F5、明明h3c好好的,天天嚷着不给买思科,把任何现存的问题都归咎是LVS和h3c的头上。这不是讨论要不要给公司省钱的问题,而是关于方法。
作为技术人员,价值应该体现在使用自己的技术给公司解决问题,而是把问题引向另外一个奇怪的方向,堆叠各种软硬件。要知道,各种买来的解决方案里面,你并不能完全控制它。这存在几个问题:第一、出现问题之后,首先要向供应商反映情况,等补丁包下来,或许黄花菜都凉了;第二、各种买来的解决方案里都不会给你源代码,当你想做任何定制化修改的时候,也是向厂商反映,如果对方觉得钱已经到账对你爱理不理的,那你只能呵呵了。所以,在任何情况下,优先考虑开源软件,不满足的需求的地方自己改源码,一般互联网或软件公司还是有这个实力的。万事不求人!
所以,你是倾向于购买还是自己创造。或许可以在招聘的时候问这么一句?
<h2 id="last">最后</h2>
以上只是个人观点。还有一句,运维应该把主动权掌握在自己手上,让开发、测试离我们的服务器越远越好。
当前暂无评论 »