虛擬化忽視了這樣一個現實:一臺物理服務器的性能和容量是有一定限制的。而虛擬機共享資源的結果意味著任何一個虛擬服務器的利用率激增,都會給在同一硬件上運行的其他所有虛擬服務器帶來不利影響。
就服務質量管理而言,虛擬化最經常被詬病的也許就是虛擬機管理程序缺少應用程序感知(application awareness)功能。雖然虛擬化管理工具能夠監控它們所運行的操作系統,卻無法監控在那些guest操作系統上運行的應用程序。虛擬化環境對于應用程序層面的故障或瓶頸一無所知,這意味著,雖然按操作系統的衡量標準來看,虛擬化基礎架構可能認為guest機器是健康的,但在該服務器上運行的應用程序卻可能毫無響應。
在不需要改變應用程序的情況下擴展應用程序,需要服務器負載均衡機制,先進的應用交付控制器(Application Delivery Controllers,ADC)能夠在多臺服務器之間智能地分配最終用戶的請求,而在最終用戶的眼里只面對一臺服務器。
把問題交給ADC
ADC擁有可感知虛擬機的管理功能,能夠自動啟用和關閉虛擬機。負載加大時,它可創建額外服務器;負載減小時,那些額外服務器會自動關閉,騰出資源供其他服務器使用。可感知虛擬機的ADC可與VMware的vSphere等服務器虛擬化平臺進行聯系,監測虛擬機的資源利用率,當應用程序負載需要額外資源時,就啟動虛擬機,在利用率很低時關閉不需要的虛擬機,并能關閉和打開虛擬機的電源,以節省電力。
只要能在多個不同的服務器資源之間智能地分配流量負載,就能確保硬件資源得到最佳利用;只要有效地管理在計算資源之間的負載分配,就能消除局部熱點,而不需要過度配置來應對負載激增。由于減少了服務器的數量以及降低了電力、冷卻和管理的需要,因此,減少了成本支出和運營開支。
ADC可通過虛擬機管理程序的API來進行聯系,監測虛擬機的資源利用率,這讓ADC能夠實時了解虛擬服務器的情況,比如內存和處理器的利用率。結合ADC的應用程序感知功能,ADC就能均衡虛擬化應用程序的負載。
ADC把用戶請求轉到最佳可用服務器來處理的辦法是,讓流量負載遠離響應慢的服務器,并且所安排的路線繞開了宕機服務器、頻繁使用的虛擬機或者崩潰的應用程序。如果ADC能夠根據應用程序和用戶的需要,積極主動地改動虛擬環境,就能進一步提高虛擬化服務器環境的可用性、擴展性和性能。這可以通過智能ADC控制界面來實現。
可感知虛擬機的ADC控制界面讓管理員能夠創建與應用程序性能和服務器響應有關的閾值條件。結合這些邊界條件和與虛擬機管理程序API之間的雙向聯系,ADC現在就能觸發虛擬機管理程序,自動響應以應用程序為中心的事件,比如負載激增。
以一家鮮花銷售網站的托管環境為例:母親節將至時,網站流量就會大增,這時就需要為該網站提供比平時更多的虛擬機資源,而僅依靠負載均衡技術則無力緩解服務器負載過大的局面。
智能控制機制一旦發現負載過大就會自動觸發,它通過智能平臺管理接口(IMPI),打開額外的物理服務器的電源;然后,智能控制機制會讓虛擬機管理程序啟用額外的虛擬服務器資源;而ADC會對這些資源進行負載均衡,以應對負載激增。這種按需配置額外虛擬機的功能提供了高可用性,并增強了應用程序的性能,可應對額外負載。
為了獲得更高的能效,智能控制機制可用來設置觸發條件,規定如果服務器的利用率降至某個閾值以下,就阻止任何新的流量進來;如果利用率降到零,就讓虛擬機管理程序將虛擬機遷離該服務器,整合到其他服務器上,最后關閉電源,直到再次需要它時再通電。
ADC專用硬件更給力
要找到進一步減少服務器、從而減少運營成本的機會,下一步就是確認哪些任務由硬件來處理比軟件來處理更高效。
許多應用程序需要壓縮和SSL加密。通過高延遲網絡連接的移動用戶有望得益于壓縮數據傳輸。在不安全的網絡(如互聯網)上傳輸任何一種信息需要部署SSL和HTTPS加密技術。壓縮和加密都會給服務器的處理器帶來沉重負擔,無論是物理服務器還是虛擬服務器。
若利用高級ADC里面的專用硬件,消除與這些要求有關的負載是個簡單而透明的操作。ADC知道何時有必要提供這些功能,然后使用專門設計的高性能硬件來處理工作。
使用硬件為服務器減負給公司帶來了很大的影響。一臺普通服務器通常每秒管理數百個SSL事務。相比之下,擁有基于硬件的SSL加速功能的ADC每秒可以執行1.4萬個SSL事務,其后面的服務器不需要執行任何加密工作,從而減少支持應用程序用戶所必要的服務器數量。
要實現虛擬化的目的,一個關鍵方面就是確保在許多服務器之間均衡分配工作,而每臺服務器的容量和能力可能不一樣。可感知虛擬機的ADC為虛擬化數據中心環境提供了很高的應用程序可用性和負載均衡機制,它們使IT管理員能夠利用新舊服務器,從而使最經濟高效的流量分配成為可能。