什么是網(wǎng)站運維(Web operations) ?運維,絕不是某些人眼中安裝系統(tǒng)、做幾根網(wǎng)線那么簡單? 除去應(yīng)用開發(fā)和業(yè)務(wù)運營之外的保障網(wǎng)站能運轉(zhuǎn)的事兒都可能是運維工作的職責范圍。運維的工作包括(但不限于) 軟硬件部署、網(wǎng)絡(luò)管理、應(yīng)用程序維護、安全、容量規(guī)劃、故障修復等等。
運維,有別于”運營”。在中文的語境中,運營更多和業(yè)務(wù)結(jié)合在一起的。而運維,則是偏向技術(shù)層面。
任何一個成功的站點都離不開一只優(yōu)秀的運維團隊,盡管他們更多時候隱身在網(wǎng)站背后不為人知。
網(wǎng)站可用性
所謂網(wǎng)站可用性(availability)也即網(wǎng)站正常運行時間的百分比,這是每個運營團隊最主要的 KPI (Key Performance Indicators ,關(guān)鍵業(yè)績指標)。對于 Web 站點來說,傳統(tǒng)的那個 24×7 的說法已經(jīng)不是很適用了,現(xiàn)在業(yè)界更傾向用 N 個9 來量化可用性, 最常說的就是類似 “4個9(也就是99.99%)” 的可用性。看一下表 1 能更為直觀一些。
描述 | 通俗叫法 | 可用性級別 | 年度停機時間 |
基本可用性 | 2個9 | 99% | 87.6小時 |
較高可用性 | 3個9 | 99.9% | 8.8小時 |
具有故障自動恢復能力的可用性 | 4個9 | 99.99% | 53分鐘 |
極高可用性 | 5個9 | 99.999% | 5分鐘 |
根據(jù)墨菲定理的推論,世界上沒有 100% 可靠的 Web站點(除非不運行)。業(yè)界網(wǎng)站的可用性都是多少?引人注目的 Web 新貴 Twitter (http://twitter.com), 2008 年前四個月的可用性只有 98.72%,有 37小時 16分鐘不能提供服務(wù),連2個9 都達不到,甚至還沒達到”基本可用”狀態(tài)。電子商務(wù)巨頭 eBay 2007 年的可用性是 99.94%,考慮到 eBay 站點的規(guī)模與應(yīng)用的復雜程度,這是個很不錯可用性指標了。Web 應(yīng)用類型決定了不同的站點對可用性的依賴性是不同的。 要知道 4 個 9 的可用性實際上是很難實現(xiàn)的目標。至于 5 個9 的 Web 站點,一半靠內(nèi)功,另一半恐怕是要靠點運氣。
(圖1 維基百科網(wǎng)站的一臺數(shù)據(jù)庫服務(wù)器的可用情況報告, 由Nagios的監(jiān)控得到的)
多數(shù)情況下,網(wǎng)站可用性會是 SLA (Service Level Agreement, 服務(wù)水平協(xié)議) 中的一個重要度量指標,也是運維團隊向自己的客戶(更多是公司老板)的正式承諾??捎眯允悄軌虺掷m(xù)改進的東西,KPI 制定者切不可獅子大開口,企圖一步登天,拍拍腦袋提一些不太切實的指標。運維團隊對可用性的承諾也不能開些空頭支票,到頭來兩頭難看。值得強調(diào)的是,如果是做第三方托管,更需要明確 SLA,明了第三方的服務(wù)能力,否則,費盡了九牛二虎之力終于保證了軟硬件網(wǎng)絡(luò)等環(huán)節(jié)都沒問題了,IDC 卻頻繁斷電或者IDC 出口網(wǎng)絡(luò)不可用,這也絕對做不到預期的高可用性。
提高可用性的一些常規(guī)策略有消除單點,部署冗余設(shè)備(或集群),配置帶外管理網(wǎng)絡(luò)等,對可用性要求不高的網(wǎng)站這些可能足夠了。如果要提供更高的可用性,比如 4 個 9 甚至 5 個9,就不是簡單靠硬件就能做到的事情,還需要建立完善的流程制度、建立變更機制、提升事故響應(yīng)速度等。正所謂是”沒有最高可用,只有更高可用性”。
一般來說,所有的網(wǎng)站運維人員都在追求網(wǎng)站的更高級別的高可用性,但是必須注意,這是以額外的軟硬件投入、更多的人力成本為代價的。成本與可用性之間也請做到良好的平衡,盲目追求高可用性是不可取的。
(補充:Twitter 的可用性現(xiàn)在已經(jīng)有了很大提升,但是可以看到,可用性不佳并非一個網(wǎng)站的殺手,只要產(chǎn)品對用戶足夠友好,足夠有粘度,足夠不可或缺,那么可用性并非是第一要追求的運維目標。有些運維人員被 Amazon 的某年圣誕節(jié)期間宕機所造成的影響埋下心理陰影,其實沒那么可怕,如果真的覺得可怕,那么你可能被一些廠商銷售人員洗腦了。)