规范化,坚持按照规范来行事
◆OS的规范,httpd的规范,数据库的规范,打包系统的规范。
◆坚持按照这些规范来行事。对一些方法进行调整和改进,让它变得更有意义。
◆永远不要紧抓着主版本不放。如果你的产品功能还没有永久性地冻结,你就必须要按照规范继续向前推进,把过去的一些事情都抛在脑后。
◆按照规范来做的事情越多,你的工具可以发挥作用的场合就会越多。用于支持其他运维领域的软件包越多,可以适应的场景也越多。
文档化
◆把流程文档化
◆把产品文档化
◆Deep Trees和Shallow Trees
◆不要让文档出现冗余。如果一个脚本的帮助文档很长,可以进行引用。好的文档是一个持续改进的过程,它要一直保持准确。
◆把文档和代码,perldoc,pydoc等联系起来。
◆过期的文档是有害的。留出一些时间来更新它们。当新的员工遇到问题的时候,和新的员工坐下来一起更新文档。
◆适当地使用问题跟踪系统(issue tracking)。为操作历史保留文档是十分重要的,以避免为了某个DNS故障的重现去骚扰他人。
使用源代码控制工具
◆使用git或者mercurial。避免使用SVN。
◆把配置文件、脚本等各种东西都放到源代码控制工具中管理起来。
◆为代码迁出提供各种入口。
◆保持迁出的严谨性,精准性和可控制性。禁止提交无法进行审核的变更。应该提交的变更应该是不用源代码控制工具也能容易地进行测试的(在虚拟机环境下,可以直接在一个单独的测试机器上进行测试)。
招聘
◆区分出固执的人和精明的人
◆不要避免聘请“老前辈”。某个领域的“老前辈”可能已经跟不上技术变革的脚步,以至于你可能不想聘请他们。但是,总是要有几个“超级巨星”来压住阵脚的。