雲端計算和容器如何重寫監視和管理規則手冊
在獲得資料中心轉型的一些成功之後,很多過於心急的企業在實施中希望儘可能多地消除IT資料中心成本。這可能會需要採用多種雲服務、實驗融合基礎架構和軟體堆疊,以及採用DevOps友好型技術,例如容器化。這些技術都可以幫助減少日益繁瑣的資本支出,並提高敏捷性。
儘管如此,在這種資料中心整合的過程中,人們可能會忽略一些重要的事情。雲端計算和容器的應用規模非常巨大,並且具有更加廣闊的前途,但通常他們根本沒有通過完整的企業管理和經過考驗的安全性,或者正如專家所述,其不能保證服務水平。
融合、雲端計算和容器都是熱門技術。它們提供的價值是增加工作負載和基礎設施之間的抽象。對於新的分散式的、面向DevOps的世界而言,有更多的抽象是有用的,但它也往往會掩蓋對提高IT效能的最終可見性。
有很多方法可以衡量效能,而將工作負載響應時間作為衡量終端使用者對IT體驗的滿意程度的重要指標之一。想象一下,圖表中的CPU利用率在X軸上從0%線性增加到100%。如果在Y軸上繪製該CPU的平均互動式交易效能,最終會得到一個指數曲線,從合理的服務時間的0%開始,但是在100%的利用率下,將向無窮大發展。(注意:對於數學上的思考,可以使用排隊理論對響應時間曲線進行建模,以計算日益繁忙的資源的概率等待時間。)
通過增加負載來儘可能提高基礎設施資源的利用率,最終會在IT績效管理方面產生相反的效果。
確實,批量工作負載更多地是通過吞吐量來衡量的,吞吐量可以達到最大利用率。但是,響應時間對任何互動式工作負載都至關重要。在當今的快速資料世界中,通過互動式操作和應用程式近乎實時地處理更多的資料來源和資料流。如今的大資料是儘可能收集資料帶來儘可能多的資訊。
雲端計算和容器各自以不同的方式改變IT效能管理,雖然變化可能很顯著,但IT管理人員可以通過多種方式確保效能保持在可接受的範圍內。
雲端計算應用程式設計人員傾向於將關鍵程式碼的某些部分視為可替代的例項,而不像他們過去在傳統資料中心基礎設施孤島中的歷史例項。使用者需要仔細監控和管理任務關鍵型應用程式及其資源,任何偏離正常的情況都會立即進行分類。對於當今的許多雲計算應用程式,效能偏差將導致應用程式重新配置更好的新的雲端計算例項。
要理解這一點,需要了解虛擬化,它帶來了許多好處,但並不總是更好的效能。在虛擬化主機中,保證實際響應時間效能一直是一個問題。
雖然虛擬管理員可以將主機資源配額(就利用率而言)分配給給定虛擬機器,但是根據定義,每個主機資源可以同時由多個虛擬機器共享。一旦瞭解響應時間效能相對於系統總利用率是非線性的,就可以立即看到如何在頻繁使用的虛擬伺服器上出現嘈雜鄰居問題,即使關鍵虛擬機器具有有保證的利用率。
例如,考慮給定主機伺服器上的所有虛擬機器如何具有有保證的容量片段。如果足夠的虛擬機器同時使用其容量來將伺服器的總利用率提高到50%-60%以上,則響應時間將因所有這些而降低。在一定的利用率閾值遠低於100%的情況下,底層伺服器資源仍然具有剩餘容量,但經驗豐富的效能可能會降低一半。隨著利用率接近100%,響應性可能降低到甚至很少有實際工作通過系統的程度。
如果人們將雲端計算(公共雲或私有云)視為大型虛擬伺服器場,就可以看到為什麼雲端計算機器例項可能無法始終提供應得的效能。當用戶支付費用採用雲端計算伺服器時,雲端計算服務提供商承諾提供一定的資源利用率。但是,雲端計算提供商通常不會證明使用者的特定計算機例項不會與許多其他競爭例項共存。這意味著在繁忙時段,許多託管計算機例項將無法提供與其底層雲計算基礎設施不到一半空閒時相同的效能級別。
從根本上說,雲端計算是經濟高效的,因為它們儘可能廣泛地共享基礎設施。使用者在經濟上鼓勵雲端計算服務提供商,將盡可能多的虛擬例項填充到給定的雲端計算基礎設施的足跡中。實際上,雲端計算提供商的利潤率的關鍵領域之一是能夠在多個租戶中儘可能多地超額預訂真實的基礎設施,許多機器例項在很多時候都沒有得到充分利用。
因此,Web應用程式管理員和明智的DevOps管理人員謹慎地對待他們的雲端計算應用程式。他們跨多個機器例項以分散式方式構建其Web應用程式,這樣如果該池中的任何一個機器例項的效能受到影響,那麼它們只會將其終止,並重新啟動它。當企業的服務提供商規模足夠大時,重啟操作幾乎可以保證新例項將在雲端計算基礎架構的不同區域生成,遠離嘈雜的鄰居。值得注意的是,這種方法在應用不太廣泛的私有云上可能效果不佳。
容器的可見度
對於容器化來說,微服務大量應用的效能可能更不透明。原始定義的單個微服務即使其效能很糟糕,但不會持續很長時間。對於大規模容器化的應用程式來說,可能只看到總體最終結果的效能不佳。而且由於微服務可能是短暫的,無法更好地進行管理。
當將微服務分配到他們自己的隔離基礎設施時,端到端基礎設施效能管理工具使IT管理員能夠識別並糾正明顯的效能問題。雖然虛擬化開始使IT效能管理變得混亂,但仍然存在將應用程式效能與虛擬化基礎設施相關聯的有效方法。但是,一旦我們將應用程式遷移到公共雲,管理頂級效能就變得更像一種貓捉老鼠的遊戲。現在隨著容器的興起,管理績效是一個更大的挑戰。
而好訊息是,通過容器架構,可以在應用程式中輕鬆地在非常精細的級別上新增效能檢測。鑑於新一批高度可擴充套件且響應迅速的管理工具,應該可以使用智慧的IT操作自動化(可能基於有效使用機器學習)將大量的容器遷移到效能更好的伺服器中。
對於技術組織而言,真正的訣竅是,如果不是可預測並持續存在,需要在實施選擇成本支出政策的同時,實現更高的效能。在某些方面,雲端計算和容器的這種平衡行為變得更加困難,這是因為增加了不透明性和可擴充套件性,但是採用分散式資料和處理技術將會使其更容易實施。