免費虛擬機
儘管虛擬化技術實現了資源整合,但是即便再小的免費虛擬機也需要消耗系統資源;並且如果免費虛擬機隨意運行新的負載,那么也會對成本支出帶來很大壓力。
免費虛擬機技術的發展使得管理員可以在幾分鐘內創建一台新的伺服器,這種前所未有的靈活性使得IT部門不但能夠滿足業務部門快速增長的需求,免費虛擬機還可以幫助IT部門從之前的業務發展“障礙”轉變為業務成功的推動者。但是,這種保證IT部門和業務需求協同發展的免費虛擬機新技術可能導致某些意料之外的問題:IT部門會面臨不同程度的免費虛擬機基礎架構增長失控現象。
當免費虛擬機技術出現之後,這種方式發生了很大變化——而新的方式在提高靈活性的同時也帶來了一些麻煩——產生了“免費虛擬機”的謠言,並且導致了免費虛擬機蔓延問題。
分配虛擬機資源
免費虛擬機蔓延問題主要表現為兩種形式:免費虛擬機所需資源及免費虛擬機數量。
如果免費虛擬機應用程式所有者可以在兩個或四個CPU之間做出選擇,那么很明顯, 大多數人會選擇後者。我們不能將這種現象的原因歸結於人性的貪婪(儘管有時確實是這樣),而是大多數人潛意識 當中都認為免費虛擬機資源越多越好。對於計算機和計算機邏輯來說,更多通常代表著更好,這是一種我們已經根深蒂固的觀念,不太可能在短時間內發生改變。
但是這些免費虛擬機CPU和應用程式的性能表現究竟怎樣呢?現在的免費虛擬機監控工具可以提供更多的後台信息,免費虛擬機為我們提供一個和Windows監控工具完全不同的角度。
由於我們的作業系統可以利用免費虛擬機CPU多執行緒特性,因此很多免費虛擬機應用程式在2顆CPU和16顆CPU上的性能表現並沒有很大差異。傳統的免費虛擬機計算機邏輯宣稱更多的CPU可以提供更好的性能表現,但是提前是免費虛擬機軟體必須能夠利用這種多執行緒機制。一個大型、分散式的免費虛擬機多執行緒應用程式需要很長時間進行編碼,對於許多開發者來說,這樣的代價太大了。因此免費虛擬機CPU速度方面的限制以及免費虛擬機CPU核心數量的不斷增加導致應用程式並不能充分利用免費虛擬機CPU核心。
免費虛擬機記憶體和CPU略有不同,如果允許,免費虛擬機應用程式將儘可能多地使用已分配記憶體,而不管需要與否。藉助於這種免費虛擬機記憶體預留機制,可以保證免費虛擬機應用程式在需要時能夠訪問足夠多的記憶體,你還可以查看哪些免費虛擬機記憶體處於活躍狀態。
免費虛擬機技術出現之前,管理員在作業系統或者應用程式當中很難看到哪些免費虛擬機記憶體處於活動狀態。而現在藉助於免費虛擬機技術,免費虛擬機可以看到哪些記憶體已經被分配、用作快取或者處於活動狀態。免費虛擬機通過這些額外的信息我們可以了解應用程式對於記憶體的依賴情況,實際記憶體使用率可能在40%到90%之間變化——根據應用程式、作業系統和配置而有所不同。所有這些意味著沒有哪兩台伺服器是相同的,而正是免費虛擬機技術使得大家了解這種情況。
免費虛擬機真實的資源使用情況表明“更多永遠更好”的假設未必總是對的。隨意分配伺服器的硬體(或者免費虛擬機)資源不會產生更好的結果
免費虛擬機的謠言
免費虛擬機環境中的第二種蔓延類型是關於支持特定免費虛擬機應用程式所需的虛擬機數量。
IT管理員和架構師在設計新的環境時都需要考慮一個默認的免費虛擬機限制因素:成本。在免費虛擬機配置伺服器過程中也需要考慮實際預算問題,這種免費虛擬機限制迫使IT部門在設計過程中綜合考慮功能和成本因素。使用免費虛擬機技術可以避免這種限制,但是有可能導致虛擬機蔓延的第二種形式。
“虛擬機是免費的。”這種陳舊的觀念基於一種誤解:既然免費虛擬機基礎架構已經存在,那么分配一些免費虛擬機也不會產生任何開銷。畢竟,這樣只占用了總體資源中的“很小一部分”。這種邏輯還認為免費虛擬機請求者不需要分擔整個基礎架構開銷。免費虛擬機是系統總開銷的一部分,不應該針對特定的部門進行收費。而更深的擔憂在於一旦人們認為免費虛擬機是免費的,那么通常會過度使用免費虛擬機甚至濫用。
“免費虛擬機”的概念從誕生之初就受到很多人的質疑。通過向用戶和管理層展示免費虛擬機環境如何分配資源,使用免費虛擬機工具的部分挑戰在於最初部署時的成本開銷和複雜性。
另外一種免費虛擬機障礙是如何利用系統產生的數據。比如,免費虛擬機工具可以顯示哪些免費虛擬機使用了四個CPU、16GB記憶體和2TB硬碟,而哪些免費虛擬機只有一個CPU、4GB記憶體以及500GB硬碟。雖然通過為這些資源定義貨幣價值,你可以找到哪些免費虛擬機使用更多的資源,但是使用這些信息你能做些什麼?是否真的能夠控制免費虛擬機蔓延的趨勢?
許多公司並沒有內部chargeback系統,因此嘗試分配一塊免費虛擬機共享環境是最大的挑戰。這並不像購買新的電腦或者平板之後向各個部門收取費用那么簡單——免費虛擬機上並沒有資產標籤。雖然可以詳細統計一台自定義免費虛擬機的計算、網路和存儲方面的開銷,但是如果不使用專門的provisioning/chargeback系統,並且使用內部架構來支持chargeback模型,這會是一個十分艱巨的任務。
創建一個能夠正常工作的chargeback生態系統十分困難——以至於很多企業乾脆放棄免費虛擬機部署。因此,免費虛擬機基礎架構仍然是一種共享的企業資源,而使用請求可能會變得難以管理。