所謂”知識(shí)管理與知識(shí)積累”,其實(shí)有點(diǎn)繞,我們不如就說(shuō)說(shuō)”運(yùn)維技術(shù)文檔”的事兒吧,這樣可能還直白一點(diǎn)。因?yàn)槊看握f(shuō)起類(lèi)似的話題,總有兄弟用不屑的語(yǔ)氣說(shuō),不就是寫(xiě)寫(xiě)文檔的事兒么?
運(yùn)維友好的文檔
不同的團(tuán)隊(duì)對(duì)文檔要求可能都有不同的”風(fēng)格”–更多的時(shí)候是運(yùn)維主管要看著舒服。就運(yùn)維來(lái)說(shuō),必須能夠創(chuàng)建”運(yùn)維人員友好”的文檔。
一般來(lái)說(shuō),運(yùn)維文檔應(yīng)該具備如下特點(diǎn):
- 易讀性 便于閱讀,便于技術(shù)人員閱讀。尤其是內(nèi)容不應(yīng)引起歧義、轉(zhuǎn)碼等。
- 可搜索性 針對(duì)具體內(nèi)容便于查找,便于發(fā)現(xiàn)。
- 版本化控制 這里不是普通的 V1.0,V2.0 之類(lèi)的簡(jiǎn)單標(biāo)識(shí)版本,而是要能夠獲取所有的內(nèi)容改變過(guò)程,便于回溯。
- 通行格式 能夠適應(yīng)不同的操作系統(tǒng)平臺(tái)。
- 信息完備性 具備足夠豐富的交叉引用,反復(fù)保存的時(shí)候不會(huì)丟失信息等。
可能還有其他特性沒(méi)在這里一一列出。有的網(wǎng)友看了上面的描述,這不就是 Wiki 嘛! Bingo! 基于HTML 的 Wiki 頁(yè)面,絕對(duì)是對(duì)運(yùn)維友好的,尤其是網(wǎng)站運(yùn)維團(tuán)隊(duì)。 我見(jiàn)過(guò)很多團(tuán)隊(duì)用 Word 寫(xiě)文檔,這是非常糟糕的事情。在版本化控制、可搜索性方面具備天生缺陷?;蛟S書(shū)寫(xiě)運(yùn)維報(bào)告用 Word 是好的選擇,但是運(yùn)維技術(shù)文檔的積累絕對(duì)不能用 Word。
運(yùn)維友好的 Wiki
你們的運(yùn)維團(tuán)隊(duì)在用 Wiki 么?
一般來(lái)說(shuō),具備一頂?shù)恼Z(yǔ)言背景可能更喜歡用該語(yǔ)言開(kāi)發(fā)的工具(嗯,我說(shuō)的是”一般”),有一定 Java 背景的程序員可能會(huì)喜歡用 Confluence 之類(lèi)的 Wiki 工具。而對(duì)運(yùn)維人員來(lái)說(shuō)呢,什么是他們的語(yǔ)言背景? Shell ? No ! Perl/Python/PHP ,一般運(yùn)維人員可能都熟悉三者之中的東西。
我個(gè)人多少喜歡一點(diǎn) TWiki ,盡管我對(duì) Perl 不那么熟悉。而很多中小 Web 網(wǎng)站,可能是 PHP 為開(kāi)發(fā)語(yǔ)言,摟柴火打兔子,捎帶腳讓程序員幫著定制一些功能就成了。這是不是有點(diǎn)扯遠(yuǎn)了? 什么是運(yùn)維友好的 Wiki 呢? 我的意見(jiàn)是要能促進(jìn)運(yùn)維人員技能的 Wiki 軟件,比如選用了 TWiki,那么在維護(hù)的時(shí)候,Perl 背景技能就能派上用場(chǎng)并能進(jìn)一步促進(jìn),多少有點(diǎn)以戰(zhàn)養(yǎng)戰(zhàn)的意味在里面。
此外,應(yīng)該強(qiáng)制運(yùn)維人員提交 Wiki 標(biāo)記化的文檔,而不是簡(jiǎn)單上傳一些 Word 文檔、PPT 甚至 HTML附件。Wiki 編輯器里別直接粘貼從 Word 文檔 Copy 來(lái)得內(nèi)容。
如果團(tuán)隊(duì)足夠大,應(yīng)該有人專(zhuān)門(mén)定期檢查文檔質(zhì)量,乃至對(duì)新人做一些簡(jiǎn)單的示例或者培訓(xùn)什么的。寫(xiě)一份好的文檔甚至比寫(xiě)一大段好的代碼更重要。
知識(shí)管理與積累
Wiki 上都記錄什么? 最佳實(shí)踐、技術(shù)心得、配置文檔、軟硬件信息 … 乃至團(tuán)隊(duì)人員聯(lián)系方式,隨時(shí)記錄是需要的,但保持更新更重要。
知識(shí)管理(KM, Knowledge Management)是干啥的? 這四個(gè)字說(shuō)來(lái)話長(zhǎng),維基百科解釋道:
... comprises a range of practices used in an organisation to identify, create, represent, distribute and enable adoption of insights and experiences.
用我的土話說(shuō),要把信息沉淀下來(lái)并傳遞給更多的人用。一個(gè)人寫(xiě)的文檔,團(tuán)隊(duì)其他的人要能看明白,要理解,要能拿著這文檔做事情。沒(méi)有知識(shí)管理意識(shí)的團(tuán)隊(duì),成員之間的信息交流或許也有些不順暢,可能會(huì)在人員的使用上存在很多瓶頸,遇到一點(diǎn)技術(shù)上的小事情,原來(lái)負(fù)責(zé)的人不在場(chǎng),其他人可能搞不定,這是風(fēng)險(xiǎn)!
有些團(tuán)隊(duì)對(duì)待知識(shí)管理的態(tài)度上是”拿來(lái)主義”但缺乏分享精神,比如復(fù)制大量網(wǎng)絡(luò)上的信息到內(nèi)部,但是不愿意對(duì)外分享團(tuán)隊(duì)的心得,這樣不好!
積累,意味著這是一件長(zhǎng)期的事情。不是一窩蜂搞一下就結(jié)束不管的。一份運(yùn)維文檔應(yīng)該貫穿網(wǎng)站建設(shè)的始終,逐漸豐富完善。