企業IT的價值要讓它的客戶也就是業務部門認同不是一件容易的事情。業務部門對企業IT往往有一些自己的看法,比如:IT提供有限的價值,是企業的成本中心;相對于IT服務的價值,IT的投資成本較高;無論是計算還是存儲,經常遇到容量不足的問題;不能及時響應業務的變化;不能持續提供一致的服務水平,尤其是在可用性和彈性方面;在運行復雜IT環境時缺乏足夠的能力;服務設計單調一致,缺乏個性化能力等。
這些認知中的大部分可以歸結為成本、靈活性或服務水平的問題。當企業把內部傳統IT的運行方式和效率與通過云計算服務提供的方式進行比較時,這些問題顯得更為突出。于是,如何讓企業IT以最少費用并增加服務靈活性和一致性就成為焦點。
從動態數據中心到云計算
公有云服務中的一些特點對企業的確非常具有吸引力,比如只需要根據資源使用量付費,通過快速部署來獲得靈活性,彈性的容量擴展,以及一致的服務水平等。但是在許多企業場景中將應用和數據的控制權完全給第三方服務供應商是不現實的,比如銀行、政府等機構的應用就有數據安全等方面的因素。這就帶來了私有云的概念,企業需要按照類似公有云的一些技術和服務方式來提供企業內部IT服務,也就是說企業需要自己構建和運維數據中心。當然,企業自己的這些IT服務并不影響自身在適當的應用場景采用第三方的云計算服務。企業可以自己運維關鍵業務系統,但是同時也可以把一些標準的IT服務(比如電子郵件)采用第三方的云服務,比如微軟的Exchange Online服務。
剖析傳統數據中心
當前大部分數據中心的IT系統都是采用傳統方式構建的。企業在構建這些數據中心的時候一般都把主要精力放在了保障應用能夠穩定、安全和可靠地運行上,而在資源利用率、綠色環保等方面的要求相對考慮比較少。這類數據中心普遍存在以下情況。
1. 資源利用率低
數據中心中各種資源利用率低是目前普遍存在的一個問題。多家第三方機構的調研表明企業數據中心的服務器平均利用率一般低于15%。造成服務器資源利用率低的主要原因是,各個業務部門在提出業務應用需求時都在單獨規劃、設計其業務應用的運行環境,并且是按照最大業務規模的要求進行系統容量的規劃和設計。比如,一個企業的財務應用一般在月末或季末的時候使用量比較大,而其他時間的使用量則比較小,但是為了保證系統能夠一直穩定運行,這個財務應用的資源配置方式就是按照其最高峰使用量來設計。
2. 資源孤島
根據業務系統的各自要求建設響應的IT設施并進行相應的部署實施。各應用系統建設相對獨立的"孤島",因此很難從IT基礎架構整體的角度來考慮資源分配及使用的合理性。在以前進行SOA建設的時候,我們通過企業服務總線(ESB,Enterprise Service Bus)的方式,在應用層面來避免各個應用系統成為一個個獨立的"煙囪"。但是從基礎設施的角度看這些應用系統,它們還是一個個獨立的"煙囪"。
這些資源一旦分配給某個應用系統,就相對固化了。不論業務系統真正投入生產后的具體使用情況如何,資源都很難再進行調配。因此,從整體上看資源利用率也普遍很低。
3. 自動化程度很低
傳統數據中心資源配置和部署過程多采用人工方式,沒有相應的平臺支持,沒有自服務和自動部署的能力,使大量人力資源耗費在了繁重的重復性工作上。因此,對業務部門的需求往往無法做到即時相應和準確有效。數據中心的自動化發展就像20世紀初福特T型車開創高效的汽車自動化生產線一樣無可避免。傳統數據中心對虛擬化技術的采用比較少,因此計算資源與底層物理設備的綁定使得資源的動態分配非常困難。由于企業中的不同應用系統是在不同時期由不同的項目團隊建設的,因此相互之間的技術架構和平臺差別比較大。數據中心里服務器和各種設備的數量和類型較多,不利于IT部門進行統一管理與維護。由于自動化程度較低,傳統企業數據中心中管理人員與服務器數量的比例一般是一比幾十,而現今的數據中心這個比例可以達到一比幾千。
根據麥肯錫公司的估計,全球數據中心在基礎設施和服務方面的開支每年超過3500億美元,其中一半是在產品上的資本開支,一般是在人工和服務上的運營開銷。目前IT的所有成本中大約有70%或更多是用于維護現有的基礎設施的,只有30%或更少用在新技術和新應用的開發上。因此,數據中心的改造對企業來說意義重大。
[page]
"話說天下大勢,合久必分,分久必合"。我們可以看到一個很有意思的事情是數據中心架構的演變也有著類似的發展規律,如圖4.2所示。在計算機剛出現不久的年代,數據中心最開始采用的是以主機為核心的計算方式。這是一張完全集中的方式。由于計算機的能力和計算需求都相對有限,能夠擁有計算機的企業只需要部署一套主機系統就可以滿足所有業務需要。主機的主要特點就是資源集中在一臺大型計算機系統中,通過硬件的冗余設計提高整個計算機的可靠性。主機操作系統上的不同應用通過分時的方式共享這些計算資源。
隨著計算需求的增加,一臺主機逐漸不能滿足用戶的需求了。雖然主機本身的計算能力和可靠性都比較高,但是價格也非常高。因此,越來越多的企業開始采用一些市場上相對便宜的機遇UNIX的小型服務器。當X86服務器出現之后,企業也更多地采用了這種標準的服務器。這個時期的企業數據中心的不同應用都運行在自己專有的硬件服務器上面,相互之間是完全獨立的。這些硬件和之上運行的軟件一般都來自于不同的第三方供應商。數據中心就這樣從集中演變到了相對分散的階段。
隨著計算需求持續增加,數據中心的規模也在不斷增長。一個數據中心中包含成千上萬臺服務器的情景變得更為常見。當服務器數量持續增加的時候,我們發現數據中心的復雜度和管理成本急劇上升。大型數據中心面臨的另外一個問題是可靠性。當一臺服務器的可靠性達到99.99%,這意味著一年的故障時間約為53分鐘。但是,假設數據中心中有一萬臺這樣的服務器,那么要維護高可靠性就會變得非常有挑戰性。雖然可以通過硬件的冗余設計來提高單臺服務器的可靠性,但是這種方式的成本比較高,而且隨著服務器數量的增加其有效性會隨之降低。因此,大型數據中心采取的是通過軟件的方式來提高系統的可靠性,在硬件服務器上通過一個軟件層來構成一臺邏輯上的計算機。這樣當底層某一臺服務器出現故障時就可以通過軟件的方式進行隔離,由于整個數據中心規模很大,因此對整體計算能力和可靠性不會造成影響。像微軟、Google、Yahoo等公司的數據中心,一般都是通過這種方式構建。由于底層都采用廉價和標準的通用硬件,因此不同公司的數據中心的關鍵競爭力都在于其上運行的軟件系統。
我們可以看到數據中心的計算方式從之前的分散方式又逐漸回歸到了集中方式。雖然這種集中方式是邏輯上的,但是用戶感覺到的卻是一臺巨型計算機。隨著網絡帶寬和軟件技術的提升,在物理上分散在不同數據中心的計算機也可以形成一個統一的計算平臺。
筆者在跟企業的IT管理人員交流的時候,經常跟他們討論一個問題,那就是在做IT系統管理的時候是喜歡集中呢還是分散。絕大多數人的回答喜歡集中的系統,這樣從管理上更為方便,可以采用更自動化的管理和資源分配方式。我們現在可以看到的趨勢是把數據中心當成是一臺巨型計算機。也許,這就是新的主機系統,只不過它更強大、更穩定。
[page]
從動態數據中心到云計算 還有多遠距離
CBSi中國·ZOL作者:中關村在線 涂蘭敬責任編輯:涂蘭敬 【原創】 2012年05月10日 03:23 評論
(共4頁)
動態數據中心的基礎思想
企業IT需要更加有效地利用基礎設施資源,這不但需要高效地利用已有硬件環境,而且需要有一個可預測模型來增加新的設施。IT需要一個實時監控機制來理解系統的健康狀況,并有一個自動修復手段在出錯情況下保證系統的健壯性。動態數據中心可以幫助企業滿足這些目標。動態數據中心通過利用自動化、控制和資源管理軟件,以及虛擬化技術把服務器、存儲和網絡等硬件設施整合成一個能夠共享資源,而且資源能夠動態調節、高自動化和高可用的新一代數據中心。
動態數據中心符合數據中心發展的趨勢,它提高了服務的可測量水平、可信賴水平和性能,同時提高了靈活性以及硬件、軟件和IT員工的效用。從企業IT的發展來看,IT變得更為透明、面向服務并且追求效率和成本的平衡。因此,企業需要構建一個可以很好地調節和動態分配資源以滿足業務需求,并以合理成本實現業務目標的動態數據中心,而且它必須能夠實現工作負載移動性、自動管理以及高可用性。
動態數據中心帶來的變革是它為開發、構建、部署和管理應用和IT基礎設施提供了新的方式。動態數據中心帶來的好處是多方面的。它能按照需要進行擴展,對市場的需求變化更為敏感。它還能讓企業IT的服務更貼近業務的需求。動態數據中心的設計指導思想包括以下方面。
1. 以服務為核心
傳統上企業IT部門都是按照技術來進行組織架構設計和分工。雖然這是一個非常直觀的工作分配方式,但是這種方式增加了業務部門應用IT的復雜度。比如,如果某個部門需要通過公司的網站來發布一個新產品,那么久需要協調各個控制不同IT基礎資源的團隊,包括網絡、應用、網站和存儲等。業務部門需要與各個不同的團隊協作才能保證產品的成功發布。企業IT需要使用ITIL模型,把部門轉型為一個面向服務的組織。這樣可以屏蔽底層IT技術的復雜性,將IT以服務的形式展現給最終用戶。這種方式不僅可以提高效率,還可以增加業務部門用戶的滿意度。企業IT按照服務類別來組織,然后對IT基礎架構進行統一管理。
通過這種面向服務的方式,企業IT可以通過內部費用核算的方式來對IT基礎設施服務進行收費。這種費用核算方式可以幫助業務部門理解產品服務價值鏈中IT的成本,從而更有效、仔細地使用企業IT服務,而不是把IT作為無限的資源利用。同時這也會促使業務部門對IT服務提出更為具體的服務水平要求,使得企業IT也要構建最合適的架構來滿足業務部門的需求。當IT作為一種服務參與企業生產價值鏈中的時候,它也就將順理成章地逐漸演變為企業的戰略業務資產之一,而不再被看成是一個成本中心。動態數據中心作為一個用來托管服務的平臺需要采用服務管理的原則。這樣業務部門可以直接通過服務目錄來請求某種服務,而不用擔心底層的網絡、存儲和服務器等基礎設施細節問題。所有這些具體問題都由平臺來負責,對業務部門的用戶而言這些都是透明的。
2. 提供靈活性
負載的可移動性是動態數據中心的一個重要特征,也是其他一些要求的技術基礎。當基礎設施可以讓負載移動的時候,無論是通過IT管理員或自動化軟件來移動負載,都可以達到資源整合、節能或高可用等IT目標。當負載與物理資源綁定的時候,應用程序也就是業務與物理平臺的性能、可用性和可擴展能力等完全綁定了。這種物理環境下的負載移動非常復雜且代價不菲。在不靈活的IT環境中遷移負載需要雙倍的資源和仔細地計劃,會花費管理員大量的精力。動態數據中心能夠讓用戶快速部署新服務,并且能夠根據需求增加或減少資源的使用量。由于通過虛擬化等方式把資源從物理設備抽象出來了,因此就可以通過共享的方式來優化資源的使用,從而提升基礎設施的利用率。這種方式不僅可降低成本,同時也可提高服務的靈活性。
3. 公共設施化
動態數據中心能夠提供高可靠性的服務,就像日常生活中的自來水、電話、電力等公共設施服務一樣。當越來越多的應用部署在數據中心基礎設施之上的時候,數據中心的可靠性就變得非常關鍵。動態數據中心在構建的時候強調系統的容錯能力,但是在方案設計的時候則假定硬件肯定會出錯,因此一方面要從軟件設計角度保證平臺的可用性,另一方面要能夠盡量減少業務恢復平均時間(MTRS, Mean Time to Restore Service)。
所有動態數據中心的基礎設施資源,包括網絡、存儲和服務器等,都設計成為一個統一的平臺。假設一個數據中心中存儲網絡SAN沒有設計成一個統一的平臺,那么一個需要SAN的虛擬服務器A就不能快速地遷移到另外一個虛擬服務器B 。相反,由于動態數據中心的每臺服務器連接在一個統一的網絡和存儲平臺上,不同的負載可以方便地進行遷移,從而可保障服務的連續性。在一個動態數據中心,業務部門可以不同了解底層的基礎設施組成,就可以得到可靠的、標準的并且可預測的服務。
4. 最小化人工操作
一個設計良好的動態數據中心具有動態執行任務的能力,能夠自動偵測異常并及時響應。另外,數據中心上的應用應該能夠自動根據負載增加或減少資源的使用。假設一個電子商務網站的性能由于過量的客戶訪問某熱門產品而下降,動態數據中心就應該能夠自動偵測到Web服務器性能下降的水平,然后找出一臺有空閑處理能力的服務器,安裝一個帶新Web服務器的虛擬機,生成需要的存儲空間并重新調整負載均衡設置。自動化的操作是動態數據中心的一個重要特點,只有這樣才能大大提高服務效率。
動態數據中心的一個核心原則是在IT服務的生命周期中盡可能少地要求人工操作。一個設計良好的動態數據中心可以動態地執行運營任務,自動偵測和響應故障情況,并根據負載自動增加或減少資源分配。數據中心的管理工作將按照從人工到機械(半自動)再到全自動化的方向演進。
5. 透明的費用明細
動態數據中心提供根據服務的實際消費量計算的計費模型。對于業務部門來說,這可以讓他們有一個非常清晰的并且可以預計的服務成本模型。這樣,業務部門和IT部門可以相對容易權衡各種方案,比如可以方便地比較一些應用是利用第三方的服務還是使用內部數據中心。
所以,我們可以看到數據中心的平臺設計需要從原來的硬件導向轉變為服務導向,這意味著要構建能夠自適應和調整的動態數據中心。如果從數據中心的角度來看云計算,我們可以發現云計算的發展實際上也是數據中心演變的一個趨勢。上面動態數據中心的許多特點和要求與我們前面章節討論的云計算有異曲同工之妙。動態數據中心的資源利用符合云計算的共享理念,傳統數據中心中"煙囪"型的基礎設施要轉變為可以共享的資源池。
一個理想的企業數據中心是完全集成的,不僅底層的基礎設施通過動態數據中心解決方案形成一個統一的支撐平臺,而且之上的應用程序之間也通過面向服務的架構(SOA)方式相互進行整合,如圖4.4所示。下面是筆者認為新型的動態數據中心的一些服務變化。
從機架和服務器部署變成點擊和拖拽部署方式
從低利用率的裸機物理部署變成隨需應變的虛擬資源部署
從專業人員的部署方式轉變成自服務方式
從復雜采購流程轉變為自服務和資源快速部署和釋放
[page]
虛擬化和服務器整合是目前非常流行的項目,但這些都是相對比較小的技術項目而很難對整個企業IT產生深遠和戰略性的改變。與一般只通過虛擬化來解決服務器正惡化問題相比,企業需要從整體上調整IT服務的方式。動態數據中心不僅僅是技術的一個演變,更重要的是它代表了IT服務方式的變化。動態數據中心結合了虛擬化、標準化硬件和自動化管理,再加上一些架構模型上的創新,從而使得面向服務的IT得以實現。IT服務管理上的可靠、靈活、低成本等目標都可以通過動態數據中心而得以實現。
動態數據中心也可以看成是面向云計算服務的數據中心。根據前面討論的云計算內容,我們知道云計算是從服務消費者的角度產生的概念。這也就是為什么云計算有時也被認為是IT作為服務的一種方式。而動態數據中心是云計算服務的基礎,它是從服務提供者角度產生的概念。無論是企業內部IT還是第三方的公共服務提供商,他們作為服務的提供者都需要通過具體的動態數據中心來提供服務。另外一個概念是綠色數據中心,這個概念主要指從建筑、電力、制冷等物理設施角度討論數據中心的建設問題。這幾個概念之間的關系如圖4.5所示。
雖然企業可以通過不同的方式進行云計算的應用,但是對于需要進行私有云建設的企業,筆者認為建設動態數據中心是他們進行云計算實踐的一個核心。
1、基本架構模型
動態數據中心的構建與傳統數據中心相比有比較大的差別。自動化管理和高可用性需要通過一些新的技術手段和模型來實現。在討論微軟動態數據中心方案之前,我們先來看幾個基本模型概念。
(1) 資源池。動態數據中心的資源池是所有經過虛擬化抽象之后的服務器、網絡和存儲等資源的集合。所有這些服務器從技術架構上來看是同構的,它們統一連接到網絡和存儲上去。根據實際需求,這些資源池中可能會分成不同的小組,以更方便地實現類似動態在線遷移這樣的功能。當用戶需要資源時,資源從資源池中分配出去,當資源使用完后被釋放回資源池。動態數據中心通過軟件方式保障平臺的連續服務,因此在實際采取維護工作之前可以允許資源池中有一定比例的壞節點存在。
(2) 物理故障域。物理故障域是當上級硬件設備發生故障時會同時出錯的一個服務器集合。比如位于同一個機架的服務器,當這個機架的電源出現問題時可能造成整個機架上的服務器都無法正常工作。理解物理故障域對于動態數據中心的可靠性設計非常重要,在設計工作負載的時候需要跨越不同的故障域。另外在做物理設備更新和維護的時候也需要根據故障域的劃分來進行。
(3) 升級域。升級域是一個會被同時升級的服務器的邏輯集合。升級域的想法主要是為了劃分資源池,從而使得在升級窗口時間內可以依次輪流升級。這樣在做硬件升級或維護的時候,虛擬機環境可以從升級域中在線遷移到另一個環境,從而保證服務的連續性。
(4) 預留容量。為了保證所有應用在做升級域維護或一個物理故障域出現問題的時候能夠正常運行,數據中心需要在資源池中預留一部分資源。這部分資源的大小就是預留容量,實際上它的目的就是讓數據中心的資源有一個調配和周旋的余地。比如,假設數據中心有10個物理故障域,每個故障域中包含10臺服務器,那么客戶資源總分配就不能超過整個資源池的90%。
(5) 擴展單元。數據中心的容量估算是一個相對困難的問題,因為如果數據中心規模設計太大就會造成資源浪費,如果規模設計太小又會對業務發展造成掣肘。一般來說,隨著業務量的增長數據中心需要進行容量擴充。擴展單元是一個事先定義好的用來擴展數據中心的的單元,其中包含服務器、網絡設備、存儲、電源和制冷設備等。擴展單元簡化了數據中心容量擴充的工作,并能夠在一定程度上降低采購成本。擴展單元是數據中心往模塊化方向發展的一種體現。
上面描述的架構模型都是微軟動態數據中心方案的一些實現要素,本章接下來的內容將主要討論這個方案。
2、動態數據中心方案
動態數據中心解決方案是微軟提供的基于云計算思想的數據中心優化和管理方案,其目標是對傳統數據中心進行虛擬化和云計算架構的轉型,不斷提高IT基礎設施的靈活性、降低硬件、能源和空間等成本,從而讓企業能夠快速響應業務需求,提高業務敏捷性。企業可以基于該方案快速構建面向內部使用的私有云平臺,服務提供商也可以基于該方案在短時間內搭建云計算服務平臺對外提供服務。動態數據中心方案能夠讓用戶自己動態管理數據中心的基礎設施(包括服務器、網絡和存儲等),包括開通、配置和安裝等。其核心價值在于,可以幫助用戶提高IT基礎設施資源的利用效率,提升基礎設施的應用和管理水平,實現計算資源的動態優化。
動態數據中心解決方案能夠幫助企業創建虛擬環境來運行應用,用戶可以按照需要彈性分配適當的應用配置,并且支持動態擴展。這個方案能夠幫助用戶實現數據中心的以下功能。
資源池管理:集中管理中心的硬件資源,包括服務器,存儲和網絡等。
動態分配服務:平臺可以動態分配服務資源。
自助服務門戶:用戶可以根據需求自助申請計算資源,平臺根據SLA和用戶付費情況,決定審批結果。
應用和服務管理:應用管理,服務度量計費和SLA等。
服務的保障:數據存儲和災備服務。
3、動態數據中心的整體架構
動態數據中心解決方案從邏輯架構上來看可以分成下面四層。
(1) 資源層。
資源層是服務器、網絡和存儲等設備的集合,是一個融合了各種物理IT資源的基礎層。這里的網絡設備包括物理網關、路由器和防火墻等。存儲設備是動態數據中心對外提供虛擬磁盤空間的基礎,這些存儲設備都是通過高速以太網或光纖連接在一起,從而保障了虛擬機的可移動性。在傳統的數據中心中,由于建設時間和不同應用的差異等造成硬件平臺差異比較大,而動態數據中心由于采用了虛擬化技術,服務器之間差異的必要性將不存在。因此,企業可以選擇同一技術架構的服務器,從而不再需要管理各種不同的硬件平臺、BIOS版本、備件等。通過標準化開發、測試和生產環境的硬件環境,可以大大降低管理的復雜度和成本,并減少出錯的概率。另外一個附加的好處是,由于采購量的變化,企業還可以通過這種方式降低采購成本。
(2) 虛擬化層
虛擬化層是平臺的核心之一,主要提供對物理設備的抽象以及未來對應用的虛擬化能力。在這一層,動態數據中心能夠集成多種虛擬化技術和來賓操作系統(Guest OS)。動態數據中心的硬件虛擬化主要是基于微軟Hyper-V 的虛擬化技術,同時可以集成第三方的虛擬化環境,比如VMware的ESX等。通過利用像Hyper-V中在線遷移這樣的功能,應用程序虛擬化最開始時針對客戶端計算機應用程序的部署問題,但是隨著數據中心中服務器的增加,這個技術已經逐漸應用到了服務器端應用程序的自動化部署。另外,根據最終用戶的需要,動態數據中心可以同時提供基于Windows的虛擬化環境或者基于Linux的虛擬化環境。
(3) 管理層。
虛擬化技術的出現一方面提升了資源的利用率和部署的靈活性,另一方面也為管理帶來了挑戰。管理層主要是提供對虛擬化資源、物理資源的管理能力以及負載均衡等網絡服務能力,包括對計算資源的自動配置、動態分配、系統的備份和監控等。一般來說,這一層的功能不會直接開放給最終用戶以及系統管理員,而是將能力提供給最上層的服務層,由服務層的相關功能來完成資源管理能力的集成,盡可能屏蔽用戶對不同資源管理能力的要求。
(4) 服務層。
服務層包括兩個方面:核心的系統管理服務和服務層門戶。核心的系統管理服務主要是指將管理平臺的能力通過標準的編程接口對外提供服務。這些標準的編程接口可以給其他應用使用,另外服務層門戶也是通過這些編程接口與管理層進行集成的。服務層門戶主要包括自助服務門戶和管理門戶。前者提供給平臺用戶使用,可以讓用戶完成產品的訂購、資源的調整、提交服務申請等功能;后者提供一個集成的系統管理員功能,用于完成對資源的分配、審核、服務開通和系統安全保障等。