在以AWS、Google、阿里等為代表的公有云發展的同時,很多大型企業出于數據安全性、系統穩定性、軟硬件自主權、對自主可控以及TCO低的考慮,更加傾向于建設企業私有云來承載內部業務信息系統的運行。
構建企業私有云并非是一蹴而就的,正如Gartner的副總裁Tom Bittman所述“部署私有云并不是簡單地對硬件進行采購,而是一場革新”。對于企業私有云而言,其建設同樣應遵循信息系統建設的通用方法,即事先分析 規劃、事中落地實現以及事后運維管理.本文從企業私有云建設需求分析,企業私有云建設要點以及企業私有云的運維與管理等三個方面對大型企業私有云建設思路 進行分析。
一、企業私有云建設需求分析
在建設企業私有云前,首先需要回答和解決的問題是企業是否真的需要私有云,需要什么樣的私有云?企業私有云的建設是一個長期的系統工程,初始成本的投入也較為高昂.因此企業在建設私有云之前,應從以下幾方面對需求和現狀進行評估。
1、需求和資源使用特點
某大型企業的IT系統現狀:
系統利用率低:煙囪式的系統建設部署方式,導致系統資源無法共享,系統負載不均衡,整體資源利用率和能耗效率低。
建設擴容成本高:IT系統中原有的UNIX服務器、數據庫和存儲陣列占比較高,標準化程度低,通用性差,導致建設擴容成本難以控制,給系統統一維護帶來困難。
擴展能力有限:系統的Scale-Up能力和Scale-out能力不足,難以應對越來越大的系統處理和存儲壓力。
那么針對以上的現狀,如何去通過云計算來改變呢?首先我們需要的是:
A、動態部署架構:構建基于標準化硬件設備和虛擬化架構之上的云計算基礎設施資源池可對上層應用按需提供彈性資源,實現多系統有效共享,有效提高IT系統資源利用率和能耗效率。
B、標準硬件單元:云計算采用標準的運算和存儲處理單元,有效降低系統建設和擴容成本。
C、高可擴展性:云計算硬件集群技術和軟件并行處理能力能夠提供出色的Scale-out能力,幾乎無限擴展IT系統的處理和存儲能力。
通過引入云計算技術,去改變傳統信息系統豎井式的建設模式,通過底層資源的共享與靈活調度提升資源利用率,降低整體信息系統建設成本,縮短信息 系統的建設周期.這些實現都是以資源使用特點為前提的,如果一個信息系統本身無資源調度需求(例如資源使用曲線較為平穩);或計劃由云計算承載的信息系統 整體資源規模較小,資源共享和調度的空間有限;再或特定的應用系統不支持分布式部署,無法進行橫向擴展甚至縱向擴展.對于類似的信息系統建設需求,則無法 充分利用云計算的優勢.因此對本企業的需求和現狀進行合理評估是非常必要的。
2、信息系統的標準化程度
在云計算環境中,信息系統所具有的標準化程度往往是決定私有云形態的重要因素.對信息系統的標準化評估存在多個維度,包括基礎架構環境標準化 (例如所需支撐的硬件是專用硬件還是通用硬件)、平臺環境標準化(例如對于開發環境、中間件環境以及數據庫環境的通用需求和租戶限制)、以及應用系統的標準化(例如應用系統的運行環境、封閉系統亦或是開發系統、商用套裝軟件或是自開發系統、是否支持分布式等).不同維度的標準化實現決定了企業私有云應該建 設為IaaS云、PaaS云亦或是SaaS云。
3、云化建設/遷移的難度
將新的應用系統直接部署在云計算環境中或將原有系統遷移到云計算環境中是兩種主要信息系統的云化改造路徑,對其實現難度的評估是對應用系統進行 云化改造風險與收益評估的重要手段.整個業務系統的云化分析過程需要從包括硬件支撐環境改造、操作系統平臺變更、平臺軟件綁定分析、IP地址依賴性消除、 API重構、模塊化改造、標準化改造、外部依賴條件等在內的多個層面和維度進行,準確評估業務信息系統云化改造的相關難點與痛點,才能對信息系統云化改造有充分的認識和準備。
4、關于成本的評估與考慮
大型企業建設私有云往往會考慮定制化和一些業務特定的需求,其標準化程度往往低于公有云,由此所帶來的自動化、運維、管理開銷會更高;最后,培養大量開發人才在傳統企業環境要求則更高,工作技能、職能的轉變同樣需要成本的投入。
二、企業私有云技術路線選擇
在大型企業建設私有云時,一個重要的問題就是技術路線的選擇和成本價值產出. 一般在進行私有云技術路線選擇時,大型企業往往會把穩定性、成熟度、服務滿意達成度放在首位,那么成熟的穩定的商業解決方案就會被優先考慮,而開源的往往技術不夠成熟和穩定,因此不被優先考慮。下面拿VMWARE和OPENSTACK來做比較。
1、 從產品設計上看。VMware軟件套件是自底向上的架構,下端邊界為虛擬機管理器。VMware的vSphere和vCloud director產品都是依賴于ESX(i) 虛擬機管理器。VMware的產品由于其架構的健壯性,很多高規格用戶在多數據中心規模的環境中都有使用。但是VMware的軟件系統是封閉的,并且軟件 的發展路線是完全遵循VMware自己的發展目標,用戶或消費者在此方面沒有任何控制權。而OpenStack作為一個開源系統,沒有任何一家單獨的公司 在控制OpenStack的發展路線。另外很多大公司都在支持OpenStack發展,有了如此多公司的資源投入,OpenStack的發展是多元化的。然而這也帶來了問題,就是OpenStack部署和架構的實施和維護成本較比VMware有了陡然提高,與此同時,由于相對快速的版本更新速度,技術支持文檔不能跟上產品的腳步。
2、 從高可用和容錯、資源平衡功能上看。在vSphere中,虛擬機級別的高可用性是允許在虛擬機或者ESX(i)主機出錯時,在不同宿主機部署相同的虛擬 機。高可用是在硬件出問題的時候保證虛擬機的正常工作,當然如果真的出錯了,那么只能在不同的ESX(i)主機上啟動虛擬機,這也可能造成服務的中斷。 FT的容錯其主要功能就是保證出現故障時用戶的應用不會出現中斷。其原理就是在兩臺主機上創建一模一樣兩臺虛擬機vm(主)與vm(輔助),vm(輔助) 完全同步vm(主)的操作,當vm(主)故障時,vm(輔助)自動切換變為vm(主)。FT可使應用程序實現零停機、零數據丟失,同時消除了傳統硬件或軟件集群解決方案的成本和復雜性。另外還有VMware vSphere 的分布式資源調度(DRS)可以聚合群集中ESXi主機資源,通過監控利用率,自動分配這些資源給虛擬機,并能夠跨ESXi主機不斷進行虛擬機資源優化和 平衡。
我們再看一下OpenStack 的高可用。目前并沒有官方聲明OpenStack支持虛擬機級別的高可用性,這個特性在Folsom版本被提出,但是后續又被放棄了。目前 OpenStack有一個孵化項目Evacuate, 其作用是為OpenStack提供虛擬機級別高可用支持。再看OpenStack 的容錯,在OpenStack中沒有針對于容錯的功能,并且截至目前也沒有計劃去完成這些功能。OPENSTACK也還沒有良好的資源自動平衡機制,截止 到目前openstack并未提供DRS、的功能,這屬于openstack功能缺失的一部分。我們可以看到,在功能的支持方面和功能細節,OpenStack與VMware還是有差距的,仍然需要不斷進步才能做的更好。
3、 從成本和價值來看。VMWARE是商業軟件,其成熟度和穩定性經受了大量實際環境的考驗,但使用成本高,體現在其授權費用和服務費用上。相對VMware 的昂貴價格,OpenStack免費、開放的優勢還是很明顯的。VMware高投入帶來的功能,OpenStack大部分可以免費提供給客戶。那么是 OpenStack還是VMware更有價值,這個問題并沒有很清晰的答案,并且答案也取決于企業實際部署的規模。雖然OpenStack是免費使用的, 但是它需要有專業的開發人員和此領域的專家才行,并且需要很多架構和搭建方面的工作,因為它支持很多部署場景,并且安裝過程都不盡相同。VMware則需 要花費一些經費購買授權和服務,并且相對來說更加容易安裝和運行,另外Vmware的學習成本更低一些。
總得來說,基于以上的分析,大型企業使用VMWARE則更穩定和可靠。而OpenStack則入門門檻較高,如果企業沒有足夠的技術能力儲備則無法解決大面積部署OPENSTACK所遇到的問題和坑。
三、企業私有云建設要點分析
構建私有云始于企業對自身信息系統建設需求的解析與明確,企業之所以選擇私有云的初衷大多基于自身信息化建設的考慮,主要驅動力包括降低軟硬件 成本、實現應用系統快速部署、應對業務負載突發性增長需求、構建安全可靠自主可控的基礎架構環境等.而私有云對以上需求的支持并非是天然的,在架構設計需 要明確設計要點和建設思路,一般說來,在設計企業私有云過程中需要對以下重點關注。
1、資源池
云計算要進行軟硬件資源的統一管控和靈活調度,首先需要做到的就是對資源的納管,即構建資源池.而需要注意的是資源池的意義并非僅僅是通過平臺使軟硬件資源的可知可控成為可能,更為重要的是明確與之相匹配的管控手段和策略,使其涵蓋資源的全生命周期管理.資源池建設重點可以歸納為資源可達、規模可控與能力可知:
1)資源可達
資源池是在技術層面打破舊有的豎井式信息系統建設模式的關鍵,是軟硬件資源實現統一管控、靈活調度的基礎.在資源池中,需要利用服務器虛擬化、存儲虛擬化和網絡虛擬化技術,使任意資源在技術上都可以通過網絡(IP網絡或存儲網絡)以服務的形式被無障礙、無區別的供給,應用可以以多種方式訪問和使 用既定規則允許范圍內的任意資源.因此,在資源池設計中,對各類型資源的打通和連接是其實現重點。
2)規模可控
我們在談及云計算時,往往會說云計算提供了幾乎無限的可能性,這主要是在指云計算的彈性.云計算由于在架構設計上避免了底層硬件資源孤島,對資源的共享訪問方式將放大資源池的彈性效果.規模可控的實現最為重要的是制定資源池擴展和收縮的規則,通過使用時間、使用量、持續時間、優先級等一系列量化閾值觸發規則在資源池體量不足時可以靈活的向資源池中添加各種資源,在資源池空閑時,也可以釋放部分資源給其他資源池使用。
3)能力可知
在資源池投入使用后,應實時/準實時的對資源池的承載能力進行分析.以監控數據為基礎,通過具備科學完備的統計方法和計算規則,評估可供給的服務能力,對應用需求的滿足度進行分析.要實現資源池的能力可知,必須具備完善的資源監控手段、實時/準實時更新CMDB,采用合理的感知方式并制定合理的 資源能力計算規則,同時,由于應用需求各不相同,要準確評估對應用的滿足度,還需要梳理出典型業務模型,據此評估不同應用模型對資源的需求與消耗。
2、 云管理平臺
云服務設計、發布和管理是云計算的核心,體現了云計算的運營形態,而云管理平臺是實現云服務全生命周期管理的基礎,是實現云計算運營模式的載 體.按照ISO/IEC最新發布的云計算參考架構,其中功能層中的用戶功能層、訪問功能層和服務功能層都應該在云管理平臺中進行實現.對于云管理平臺而 言,其建設重點可以歸納為狀態可視、分配可控和服務可用:
1)狀態可視
對于云平臺而言,可視并不僅僅代表圖形化的訪問和管控,企業建設私有云更為重要的是從云服務供應商的視角通過云管理平臺實現對資源的集中管控。 因此在云計算環境中,監控的重要性將上升到前所未有的高度,同時相比于傳統信息系統架構,監控的含義和涵蓋的范圍也有了很大的變化,一般說來,在企業私有云平臺中,必須具備對包括基礎架構資源、服務、安全審計在內的監控能力:
①對包括物理和虛擬化計算資源、存儲資源、網絡資源等基礎架構資源的資產管理、使用情況和設備狀態的監控,并及時發現、處理和上報問題。
②面向服務的監控主要集中在兩個方面.一方面監控上線服務的運行狀態,確保其運轉正常,及時發現事件與問題;另一方面是對SLA服務等級的達成度監控。
③安全和審計的監控包括根據在云計算環境中依照業務需求制定的安全規范,面向用戶訪問、租戶數據/資源隔離、日志采集和分析等進行安全和合規性檢查和監控.做到風險可識別、問題可發現、訪問可控制、操作可追溯,達成SLA對安全的要求與約定。
2)分配可控
基礎架構資源的管控是云計算運營最重要的基礎和最核心的資源.對基礎架構資源的合理管控是企業建設自己的私有云的重要出發點,而對資源管控的實現需要通過云管理平臺完成.對于云計算環境中的基礎架構資源,從初始建設、分配使用在到回收等一系列動作都應該根據服務設計和相關SLA規定制定詳細、規 范的流程以及科學合理的處理手段,使云管理平臺對資源的管控涵蓋資源的全生命周期,做到初始建設合理、管控過程合規、資源分配合適、管控操作可回溯、已分配資源可回收。
3)服務可用
服務是云計算環境的核心.在構建私有云時企業往往會從自身的應用特點和需求出發進行服務的設計和實現,因此很難針對私有云制定通用的服務模板,依據云計算建設的通用方法,對于云服務的建設,一般說來會關注以下四個方面:
① 云服務的識別:云服務的識別是云服務實現的第一步,決定了在云計算環境中將供給的服務內容.云服務的識別是以需求調研為基礎的,從必要性、可復用性、實現成本等多個角度出發,分析服務實現的難點和收益,制定服務分階段實現的計劃與路線圖。
②云服務的設計:在云計算環境中對云服務的使用模式決定了云服務的設計要點,一般說來,對于云服務的設計內容包括服務的底層架構、服務的運行流程、服務安全與監控、服務的審計與合規性檢查、評價服務能力的關鍵指標(KPI)、服務的高可用、服務的SLA等幾個方面。
③云服務的實現:云服務的實現一般說來有四種方式:一是從業務需求分析出發進行云服務的定制開發;二是利用第三方軟硬件產品進行服務封裝;三是從其他云計算運營商購買,合作實現;四是基于已有服務進行服務組合,形成新的服務。
④云服務的維護:在云服務上線后,對云服務的運維是企業私有云成敗的關鍵.對于云服務的維護包括兩個方面.一是針對云服務自身的維護,包括對服 務能力和狀態的監控、對服務性能和規模的趨勢分析、服務的修正與升級、服務底層架構的維護等;二是服務的SLA達成度保障,包括實時監控服務的KPI并與 SLA所規定的服務目標進行比較,在不符合SLA時及時干預使其符合要求,同時,確保滿足SLA所規定的安全、隔離等相關條款。
3、自動化與標準化
在云計算環境中,自動化對象往往是哪些經常使用、手工發起的復雜操作,這就要求自動化的對象應符合通用設計,遵循相同的技術規范,具備一致的處理流程,動作行為可參數化,即自動化的目標應該是標準化的。
標準化實現的層次決定了可以實現自動化操作的對象,而這往往決定了云計算的建設模式.例如,在基礎架構資源在資源分配方式、資源分配粒度、資源分配方法等符合標準化時,可以考慮構建基于基礎架構資源的IaaS云,在包括開發環境、數據庫、中間件在內的平臺軟件在符合標準架構和流程、具備標準化運行環境等條件時,可以考慮構建基于平臺的PaaS云,而在應用部署模式相類、服務模式統一、支持分布式、基于SOA架構等的應用系統等,可以考慮構建基于 軟件SaaS云.需要注意的是并非所有的基礎架構、平臺軟件和應用軟件都具備標準化的條件,而標準化的代價同樣高昂,包括硬件重構、SOA改造等標準化過 程需要投入大量的資金和人力成本,一般說來,封閉的系統環境和商用套裝軟件的標準化改造難度較大。
另外一點在自動化過程中特別需要考慮的是,自動化在帶來便捷、高效的同時,不合理的自動化流程設計將可能會導致錯誤的蔓延和環境的失控.因此,在進行自動化設計過程中,尤其需要注意規則的設定和異常處理。
4、云安全
企業不使用公有云而選擇自建私有云最大的考慮就在于安全.數據表明,安全已經成為阻礙云計算發展的最主要原因之一.根據CDA數據分析師協會統計,32%已經使用云計算的組織和45%尚未使用云計算的組織將云安全作為進一步部署云的最大障礙。
在云計算體系中,安全涉及到很多層面,一般說來,在云計算環境中應主要考慮網絡安全、存儲安全、物理機安全、虛擬化安全、虛擬化管理安全、交付層安全、數據安全、安全服務和運維安全等9個層面和領域。
同樣需要注意的是,并非所有的應用安全問題都應該依賴云計算環境的安全架構來解決.云計算基礎架構環境支持的系統種類眾多、業務要求和安全基線各有不同,在對用戶進行服務供給時應根據服務種類以及SLA對安全服務內容進行嚴格的規范,劃分清晰的分工和責任界面。
四、企業私有云建設的思考
企業私有云的建設并非只是新技術的變革與引入,而是顛覆傳統信息系統建設模式的系統工程.結合企業的特定需求,企業私有云的建設思路大可不盡相同,建設方法也不會千篇一律。
是選擇商用云平臺還是選擇開源云平臺來創建企業的私有云,這需要企業綜合考慮,權衡利弊,依據企業自身技術能力,資金投入總量,實現業務效果等 等各個方面去考慮云平臺技術選型。所以沒有好與不好,只是能否適用和用的好。建設企業私有云不是一蹴而就的,而且這將是持續不斷的投入過程,需要在實踐中不斷摸索前進。