龍巖網(wǎng)站建設(shè)談?wù)劰雀璺?wù)為什么如此強(qiáng)大?谷歌服務(wù)在全球互聯(lián)網(wǎng)行業(yè)有穩(wěn)定的立足點(diǎn)。無(wú)論是搜索業(yè)務(wù)還是其他業(yè)務(wù),即使在退出中國(guó)幾年后,我們?nèi)匀桓惺艿搅怂膶?shí)力。Google是怎么做到的?
對(duì)于身處墻外,自帶科學(xué)互聯(lián)網(wǎng)技能的你們,還記得上次在Google上嘗試搜索,網(wǎng)頁(yè)崩潰的情景嗎?
關(guān)于建站,事實(shí)是,這個(gè)答案本身并不成立,因?yàn)楣雀韬孟褚恢倍荚?,除非你連不上互聯(lián)網(wǎng),否則它永遠(yuǎn)不會(huì)倒閉。除了搜索引擎,谷歌提供的各種在線服務(wù),無(wú)論是Gmail、GoogleDocs還是其他,似乎都同樣穩(wěn)定可靠。根據(jù)谷歌提供的統(tǒng)計(jì),在2015年全年,99.97%的時(shí)間里,你可以暢通無(wú)阻地使用包括Gmail和Docs在內(nèi)的全套谷歌應(yīng)用。
似乎全世界的用戶都習(xí)慣了,但可以說(shuō)是一個(gè)很大的成就,但使用Google的人卻很少去想這家公司是如何把“奇跡”變成日常生活的。
谷歌只用三個(gè)簡(jiǎn)短的詞來(lái)解釋:網(wǎng)站可靠性工程(SRE)。
聽(tīng)起來(lái)并不偉大,但谷歌在十多年前就提出了這個(gè)影響深遠(yuǎn)的想法。事實(shí)上,這種管理哲學(xué)具有深刻的含義和廣泛的應(yīng)用。簡(jiǎn)而言之,它可以歸結(jié)為這樣一個(gè)中心思想:
不要讓擅長(zhǎng)管理網(wǎng)絡(luò)服務(wù)的IT人員來(lái)管理你公司的網(wǎng)絡(luò)服務(wù)。讓寫(xiě)軟件的程序員自己管理。
通過(guò)這樣做,程序員將開(kāi)發(fā)他們自己的工具來(lái)幫助程序運(yùn)行,而不需要?jiǎng)e人去尋找錯(cuò)誤。
“我們期待著沒(méi)有人需要任何管理的那一天?!?/p>
——谷歌網(wǎng)站可靠性總監(jiān)TODDUNDERWOOD。
谷歌工程副總裁BenTreynorSloss在近的一篇文章中寫(xiě)道:“我們的方法的效果是,整個(gè)團(tuán)隊(duì)的成員會(huì)很快厭倦手動(dòng)執(zhí)行任務(wù),所以他們都有能力編寫(xiě)程序,而不是以前的手動(dòng)操作。”

對(duì)硅谷的許多人來(lái)說(shuō),這并不是什么新鮮事?;蛘哒f(shuō),從亞馬遜到Box.com,整個(gè)科技界基本都是這樣做的。人們稱之為DevOps,即開(kāi)發(fā)與運(yùn)營(yíng)相結(jié)合,將程序員的技術(shù)與系統(tǒng)管理員的目標(biāo)融為一體。然而,盡管這一DevOps運(yùn)動(dòng)的發(fā)展源于谷歌內(nèi)部的SRE管理系統(tǒng)和亞馬遜內(nèi)部的類似管理原則,但它是完全不同和自成一體的。只是谷歌一直保密,就像當(dāng)人們好奇如何實(shí)現(xiàn)谷歌高效的在線運(yùn)營(yíng)維護(hù)時(shí),依然保持低調(diào)。
關(guān)于免費(fèi)網(wǎng)站模板,但是谷歌已經(jīng)進(jìn)入了一個(gè)新的時(shí)代,現(xiàn)在比以前更愿意直接討論這類話題。很大一部分原因是谷歌希望推廣自己的云服務(wù),引入更多的外部公司在谷歌的數(shù)據(jù)和機(jī)器網(wǎng)絡(luò)上運(yùn)行他們的軟件,甚至出版了一本專門(mén)針對(duì)SRE內(nèi)部心理學(xué)的書(shū),名為《網(wǎng)站可靠性工程》。
系統(tǒng)管理或者運(yùn)維是計(jì)算機(jī)技術(shù)領(lǐng)域無(wú)聊的方面,無(wú)論是科技從業(yè)者還是圈外的每一個(gè)白人。然而,負(fù)責(zé)谷歌日常運(yùn)營(yíng)的副總裁斯洛斯卻不這么認(rèn)為。相反,他認(rèn)為網(wǎng)站可靠性是“任何產(chǎn)品基本的特征”。畢竟“如果沒(méi)人能用,這個(gè)系統(tǒng)就沒(méi)用了?!?/p>
從零開(kāi)始的SRE。
被認(rèn)為是這場(chǎng)SRE運(yùn)動(dòng)的“發(fā)起者”。起初,谷歌聘請(qǐng)他負(fù)責(zé)運(yùn)營(yíng)和維護(hù),后來(lái)是他提出了SRE這個(gè)詞。"“SRE的意思是,你請(qǐng)軟件工程師設(shè)計(jì)一個(gè)操作和維護(hù)團(tuán)隊(duì),”他說(shuō)我假設(shè)我是一個(gè)SRE系統(tǒng),并以這種方式設(shè)計(jì)和管理我的團(tuán)隊(duì)。"
對(duì)托德伍德來(lái)說(shuō),公司雇傭像斯洛斯這樣的程序員是很自然的。他告訴《連線》雜志,“在谷歌還處于初創(chuàng)階段的時(shí)候,其實(shí)還有很多其他優(yōu)秀的軟件工程師,他們更清楚問(wèn)題可能會(huì)如何出現(xiàn),以及如何把整個(gè)項(xiàng)目做好。但是沒(méi)有人真的想親手去實(shí)施。"
這是一個(gè)非常“谷歌”的現(xiàn)象。配置管理工具Chef的AdamJacob同意安德伍德的觀點(diǎn),并解釋說(shuō),當(dāng)在線運(yùn)營(yíng)增長(zhǎng)到足夠大的規(guī)模時(shí),這是一個(gè)預(yù)期的轉(zhuǎn)變。"討論軟件開(kāi)發(fā)和實(shí)際操作的結(jié)合是很自然的,甚至可以說(shuō)是密不可分。全面看問(wèn)題才能有更好的產(chǎn)出。"
如果你覺(jué)得開(kāi)發(fā)和運(yùn)維本來(lái)就是兩個(gè)“冤家對(duì)頭”,這個(gè)轉(zhuǎn)型就特別有意思。開(kāi)發(fā)團(tuán)隊(duì)想開(kāi)發(fā)新的軟件,讓大眾盡快獲得不同的體驗(yàn),而運(yùn)維人員想保證一切就緒,無(wú)錯(cuò)。較好的辦法就是盡量減少改動(dòng)。
“這是兩個(gè)不相稱的目標(biāo)。”
訣竅就是把開(kāi)發(fā)和運(yùn)維結(jié)合起來(lái),消除這種對(duì)立。

稱之為“黑格爾式的主題——反主題情結(jié)”。他還承認(rèn),沒(méi)有人會(huì)真的為這種說(shuō)法買單,因?yàn)椤皼](méi)有人會(huì)再讀黑格爾了”,他開(kāi)玩笑說(shuō)。然而這種說(shuō)法恰恰是對(duì)的。在這一理念的指導(dǎo)下,谷歌整合了其他業(yè)務(wù),加快了整個(gè)SRE的轉(zhuǎn)型進(jìn)程。
預(yù)算出錯(cuò)的概率。
關(guān)于自助建站,重要的一點(diǎn)是,為了減少開(kāi)發(fā)和運(yùn)維的沖突,公司不會(huì)要求100%的正常運(yùn)行時(shí)間。斯洛斯在文章中寫(xiě)道,真正的情況是用戶不需要網(wǎng)絡(luò)服務(wù)100%可用。退一步說(shuō),用戶分不清100%和99.999%正常運(yùn)行時(shí)間的區(qū)別(筆記本電腦、WiFi、電源、ISP的停機(jī)概率可以遠(yuǎn)遠(yuǎn)大于0.001%)。如果你設(shè)定一個(gè)合理的正常運(yùn)行時(shí)間低于100%的目標(biāo),也就是“錯(cuò)誤的預(yù)算”,你就有更多的空間來(lái)調(diào)整變化和進(jìn)行實(shí)驗(yàn)。
“引入‘錯(cuò)誤預(yù)算’解決了發(fā)展和SRE目標(biāo)之間的結(jié)構(gòu)性沖突,”斯洛斯寫(xiě)道。
“‘停電’不再是一件壞事,而是創(chuàng)新過(guò)程中可預(yù)見(jiàn)的一部分。開(kāi)發(fā)團(tuán)隊(duì)和SRE團(tuán)隊(duì)能夠無(wú)所畏懼地進(jìn)行管理,這也是正?,F(xiàn)象?!?/p>
與此同時(shí),谷歌還開(kāi)發(fā)了一個(gè)支持系統(tǒng),以確保新的SRE成員不會(huì)退化為以前的系統(tǒng)管理員角色。一般來(lái)說(shuō),谷歌規(guī)定SRE會(huì)員不能將超過(guò)一半的時(shí)間用于開(kāi)發(fā)以外的傳統(tǒng)操作。如果運(yùn)營(yíng)開(kāi)始大于開(kāi)發(fā),Google會(huì)把一些運(yùn)營(yíng)工作交給一般只負(fù)責(zé)開(kāi)發(fā)軟件的團(tuán)隊(duì),也就是軟件工程師。"自覺(jué)維護(hù)運(yùn)營(yíng)與開(kāi)發(fā)的平衡,可以保證SRE團(tuán)隊(duì)的工作帶寬,可以投入到創(chuàng)意自動(dòng)化工程的開(kāi)發(fā)中,可以保留手機(jī)在運(yùn)營(yíng)維護(hù)中獲得的經(jīng)驗(yàn)和智慧。"斯洛斯寫(xiě)道。
廚師公司的雅各布認(rèn)為50%沒(méi)那么重要,但他喜歡這種態(tài)度。他說(shuō):“這就是經(jīng)濟(jì)學(xué)。運(yùn)營(yíng)中的破事我們總需要有人去做,人總會(huì)有運(yùn)營(yíng)商能解決的沒(méi)完沒(méi)了的破事。所以,對(duì)這些破事設(shè)限是完全合理的。"
谷歌甚至發(fā)布了招聘SRE員工的嚴(yán)格指導(dǎo)方針。大約50%到60%的SRE人員是通過(guò)工程師的招聘過(guò)程進(jìn)來(lái)的,而其他人則具有同樣的“85%到99%”的技術(shù)能力,加上“大多數(shù)軟件工程師缺乏但對(duì)SRE工作非常有用的技術(shù)技能”,比如對(duì)UNIX操作系統(tǒng)內(nèi)部原理或硬件聯(lián)網(wǎng)協(xié)議的深入了解。這也是為了保證開(kāi)發(fā)和運(yùn)營(yíng)之間的適當(dāng)平衡。
登月計(jì)劃的啟示。
在很多方面,這是一種新的管理原則。但是在進(jìn)一步的闡述中,谷歌團(tuán)隊(duì)使用了一個(gè)非常古老的案例。

谷歌SRE原理的精神祖先實(shí)際上是瑪格麗特·漢密爾頓,麻省理工學(xué)院的程序員,數(shù)學(xué)和計(jì)算機(jī)科學(xué)的先驅(qū)。她在20世紀(jì)60年代為阿波羅登月計(jì)劃開(kāi)發(fā)了程序。漢密爾頓描述說(shuō),阿波羅計(jì)劃的文化之一是“向每個(gè)人和每件事學(xué)習(xí),包括你不希望看到的人和事。”
作為一名技術(shù)人員,在操作和維護(hù)方面發(fā)揮了重要作用。當(dāng)年,她經(jīng)常帶著小女兒勞倫去實(shí)驗(yàn)室。有一天勞倫不小心按下了一個(gè)按鈕,結(jié)果,一個(gè)發(fā)射前為阿波羅準(zhǔn)備的程序被輸入到運(yùn)行發(fā)射后程序的計(jì)算機(jī)中。這立即導(dǎo)致計(jì)算機(jī)崩潰。之后,漢密爾頓試圖在系統(tǒng)中添加一個(gè)新的錯(cuò)誤檢查代碼,以便在實(shí)際飛行中防止這種意外情況。老板反對(duì)她認(rèn)為宇航員永遠(yuǎn)不會(huì)犯這樣的錯(cuò)誤的想法。然而,在阿波羅8號(hào)的飛行過(guò)程中,這種情況確實(shí)發(fā)生在宇航員身上。幸運(yùn)的是,漢密爾頓在系統(tǒng)文檔中添加了一個(gè)變通方法。在隨后的傳輸中,她給系統(tǒng)添加了錯(cuò)誤校驗(yàn)碼。
關(guān)于免費(fèi)模板,“只是指出‘它會(huì)崩潰’真的行不通。但是如果你說(shuō),‘它會(huì)壞的,我會(huì)告訴你怎么做’,這是非常了不起的。"是這樣解釋的。“她看到程序會(huì)崩潰,看到它會(huì)如何崩潰,然后設(shè)計(jì)了一個(gè)預(yù)防方案?!?/p>
這是用谷歌的話來(lái)說(shuō),是SRE。聽(tīng)起來(lái)沒(méi)什么大不了的,但這是一個(gè)非常強(qiáng)大的想法。它成就了谷歌。然而,像安德伍德這樣的哲學(xué)家有更大的野心。他們?cè)O(shè)想在未來(lái)的世界里,運(yùn)維可以進(jìn)一步成為代碼的一部分。安德伍德說(shuō):“我們期待著沒(méi)有人需要任何管理的那一天。”
谷歌的業(yè)務(wù)是如何發(fā)展到今天的,它的成功值得每個(gè)創(chuàng)業(yè)者深思。