假設(shè)我們有一個多人游戲網(wǎng)站,其中的一個服務(wù)器群包含大量的應(yīng)用程序和消息服務(wù)器,它們負責支持各個玩家在多人游戲中的交流,以及生成玩家在太空射擊游戲中使用的可視化Web界面。...
在分析哪些方面需要實現(xiàn)自動化時,人們往往希望將所有軟件都自動化。可問題在于,自動化會在構(gòu)建、配置、管理和修復(fù)網(wǎng)站軟件組件的層次上,再增加一層抽象。自動化只在最頂層再增加一層或多層抽象。...
這似乎是很顯然的,但是在計劃如何實現(xiàn)系統(tǒng)自動化之前,我們需要獲得所有利益相關(guān)者的信息,其中包括業(yè)務(wù)和執(zhí)行管理人員。對于組織中參與一個特定網(wǎng)站的所有團隊來說,他們都會特別關(guān)注于自己的部門,而這種關(guān)注可能與其他團隊發(fā)生沖突。在創(chuàng)建和管理Web基礎(chǔ)架構(gòu)自動化的過程中,無論各自團隊的目標是什么(節(jié)約成本、節(jié)約時間和確定業(yè)務(wù)優(yōu)先級等),他們都應(yīng)該達成一致協(xié)議。...
假設(shè)一家公司已經(jīng)有一些基礎(chǔ)架構(gòu),需要安裝新版本操作系統(tǒng)、新的應(yīng)用服務(wù)器程序和新的代碼庫,并且有400個應(yīng)用程序需要重新安裝。根據(jù)表5-1度量標準來看,如果以人工方式執(zhí)行所有任務(wù),那么為每臺服務(wù)器安裝和配置操作系統(tǒng)需要花費1小時,更新Web服務(wù)器需要10分鐘,安裝 Hadoop節(jié)點需要1小時,安裝 Rails)應(yīng)用程序需要30分鐘。此外,我們還可以從這些度量標準計算出自動化可以節(jié)省的時間。...
在大型網(wǎng)站基礎(chǔ)架構(gòu)上,我們希望盡可能地保持系統(tǒng)的一致性。我們希望在整個基礎(chǔ)架構(gòu)上使用相同的硬件、軟件和功能。然而,系統(tǒng)維護通常會慢慢變成一種人工操作過程或自動化程度較低的過程,這意味著軟件和功能會經(jīng)常出現(xiàn)不一致性,或許只有在稍后報告給系統(tǒng)管理團隊或開發(fā)團隊時,這些問題才會暴露出來。隨著網(wǎng)站訪客的增多,出錯的可能性也會進一步增加。...
在一個擁有大量服務(wù)器的大規(guī)模網(wǎng)站中,安裝新的應(yīng)用服務(wù)器程序部署新代碼或檢査系統(tǒng)配置一致性等任務(wù)都非常耗費時間。假如要在數(shù)百甚至上千臺服務(wù)器上安裝應(yīng)用服務(wù)器程序,一次只安裝一臺,那么這種龐大的任務(wù)量顯然需要另辟蹊徑才行:編寫一個 Shell a腳本,實現(xiàn)在中央數(shù)據(jù)存儲區(qū)上僅通過一個指令就可以安裝好應(yīng)用服務(wù)器程序。...
即使在一些有著穩(wěn)健和健康的文檔編寫文化的組織中,應(yīng)用的進化和修改速度也會遠遠快于文檔編寫速度?,F(xiàn)實情況是軟件變化速度遠遠快于文檔編寫速度,即使有自動化文檔系統(tǒng),有時候我們?nèi)匀恍枰斯ぞ帉懸恍┪臋n。這種文檔需要通過一定的技術(shù)轉(zhuǎn)換,方能提供給在特殊閱讀環(huán)境中的讀者閱讀,因此無法通過自動化方法維護。...
一個組織不可能只有高級軟件工程師或系統(tǒng)管理員,所以,只有基于特定規(guī)范的文檔就意味著只有高級技術(shù)人員才能閱讀這些文檔。這是一種機能障礙問題。當然,這些文檔也是必要和重要的,這已經(jīng)比只有閱讀代碼才能了解應(yīng)用程序的情況好很多了。然而,這并不是一種完整的文檔戰(zhàn)略與文化。...
最好的Web開發(fā)人員總是可以寫出帶有好注釋的漂亮代碼,但是,他們一般也不會編寫專門給非開發(fā)人員閱讀的文檔。最好的工程師愿意瘋狂地開發(fā)應(yīng)用程序,但是不愿意花一點時間去編寫文檔或向其他人說明應(yīng)用程序。他們認為,代碼就是文檔,而且有技術(shù)的人都能夠理解代碼,所以編寫額外的文檔是在浪費時間。...
一旦在Web組織中逐步培養(yǎng)起編寫文檔的文化,那么員工就會越來越依賴于這種實踐方法。這種文化還有一個十分重要的優(yōu)點,即如果出現(xiàn)人員流失和變動,那么良好的文檔可以縮短新人的“交接”時間。此外,除了構(gòu)成一般軟件開發(fā)過程的標準代碼注釋、跟蹤和源代碼控制過程,編寫文檔也是一種審查方法。在一些開發(fā)專用軟件的公司中,文檔顯得尤為重要,因為新員工一般很難理解復(fù)雜的定制應(yīng)用程序,以及各個應(yīng)用又是如何組成客戶所訪問的網(wǎng)站。如果文檔成為這一過程的組成部分,人們就一定會對軟件構(gòu)建方式進行交流,工程師...