文章讲了 Facebook 的硬件团队自己改进他们数据中心中的电脑硬件。他们会观察数据中心里的人怎么换硬盘,然后思考如何才能让这个过程变得更轻松更快。
When you don’t think about maintenance, it shows and we’ve all dealt with equipment with way too many small screws and poor placement. 
虽然讲的是硬件的事情,但道理也是适用于软件开发的。写代码是很容易的事情,但运维很难。代码写好了放在 server 上跑,要考虑如何监控、如何安全重启、如何安全地处理各种常见的错误(比如某个外部的 API 突然连不上了)。很多互联网公司的软件工程师都要 oncall,这是很好的事情。只有你自己写的程序出了问题,把你半夜吵醒了,你才能切身体会到运维的麻烦,然后才能思考如何写更好的代码。 以前好几次 oncall 的时候,我半夜起来,还得抱个电脑登陆服务器,各种操作,相当繁琐。然后干脆找了一个周末,写了个小的 monitoring daemon,再用 jquery mobile 写了个界面,以后再遇到这种问题,直接躺在床上用手机按个按钮解决问题。
分享到: