《雲革命》-(美) 查爾斯·巴布科克
1、Urs Holzle 和Luiz Barroso的文章
2、Google在設計其搜尋引擎的運行時,預計到了叢集裡的一個或多個單點會出現故障。Google沒有將容錯性建在硬體中,而是把容錯責任上移至管理叢集的軟體上。軟體會繞過故障元件把故障元件未完成的工作交給雲中的完好元件去完成,這樣,雲資料中心就具有容錯功能,或者說,能夠應對任何單元件的故障了。
3、如果能將故障管理常規化,雲資料中心就能持續不斷的運行。這是一個核心原則。
[該原則由論文《The Data Center as a Computer: An Introduction to the Design of Warehouse-Scale Machines》提出]
4、雲資料中心必須用可靠但便宜的組件建造。
5、虛擬化是雲可以Auto Scaling的關鍵。
6、雲端運算裡的各項技術,單獨看來都很普通,都在別處用過。但是,雲端運算整合這些技術製造出來的規模經濟效益和終端使用者服務,是非常新的。
7、在EC2當中啟動並執行工作負載,是以Amazon版本的開源Xen虛擬機器為基礎的。
8、虛擬化最簡單的形式就是,通過軟體在一台物理伺服器上類比出幾套具有完整硬體系統功能的電腦系統,這些電腦系統共用物理伺服器上的硬體資源,獨立運行,互不侵犯。
通過虛擬化技術,雲端服務可以把很多使用者置於同一台機器,不用擔心使用者互相干擾或者看到彼此的資料。
虛擬機器的監督者是超級監督者(hypervisor),它會自動協調虛擬機器間的硬體衝突。
每台伺服器上的幾台VM共用一個hypervisor。
9、虛擬化加上X86架構造就了雲無以倫比的規模經濟效益,掌握了這兩門技術就能建造雲。
如果能找到方法同時自動管理大量X86機的話,X86架構就會主導雲端運算。
10、一個管理系統可以將其他虛擬機器移下伺服器,釋放那些虛擬機器佔用的資源,這一過程稱為即時移轉(live migration)。
這一管理員就比較容易通過把虛擬機器移來移去來應對流量尖峰。
還有另一種方法,VM管理員可以決定把需要更多CPU的VM移到一個不同的物理伺服器上,在那裡獲得更多周期。
11、虛擬化把作業系統提升了一層,在下面插入了hypervisor。原本是OS與hardware對話,現在變成了hypervisor與hardware對話。
OS被替代,最直接的結果是斬斷了商業應用於特定硬體之間的聯絡。
曾經,應用與硬體聯絡十分緊密,以至於企業中管理Data Center的人都十分討厭將應用遷移到新的機器上。因為新的機器配備了新的作業系統,而原本的應用若想在新的作業系統上運行,則需要進行調整和測試,這通常要耗費很多的時間和精力,而且結果往往不怎樣。
在引入了虛擬機器後,即使硬體升級了,使用了新的作業系統,但是仍然可以使用虛擬機器運行舊版本的作業系統,這樣就不需要對原來的應用進行調整了,直接搬過來就好。
12、雲的終端使用者可以把應用和與該應用最為契合的OS打包成一個檔案,稱為“虛擬設備”(virtual appliance)。虛擬設備是應用和OS 的結合體,只要找到適合硬體的位置,就可以運行。它是為雲量身定做的。
13、最出色的專家在建造virtual appliance時,會去掉OS中不需要的部分,讓OS瘦身至只能run某個application的程度。精簡後的OS會讓application運行得更快,因為OS的代碼和模組少了很多,智能控制搜尋的範圍變小,不用多久就能找到所需的東西。