英文原文:Cloud computing service models, Part 1: Infrastructure as a Service
本文介紹三個雲類別中的第一個:基礎架構即服務(infrastructure as a service,IaaS)。IaaS 的一些關鍵概念包括:
- 雲爆發(cloudbursting)
- 多租戶計算(multi-tenant computing )
- 資源共用(resources pooling)
- 虛擬機器監控程式(hypervisor)
最重要的是瞭解 IaaS 與眾不同的兩個方面:彈性和虛擬化。
IaaS 的價值
對於企業而言,IaaS 的巨大價值通過雲爆發(cloudbursting) 概念實現 — 雲爆發是指當需要的計算資源最多時將任務解除安裝到雲環境的過程。雲爆發促成的資本節約潛力巨大,因為企業無需額外投資利用率很低的伺服器,那些伺服器一年中只有兩三次使用 70% 的容量,其餘時間僅有 7-10% 的負荷。
但是,對於要在這方面利用 IaaS 優勢的企業而言,IT 部門必須能夠構建和實現能夠將一些流程重新分配到一個 IaaS 雲的軟體。要構建和實現能夠管理這種再分配流程的軟體,需要考慮 4 個重要事項:
- 事實證明,如果某個供應商可能會停業,那麼針對該供應商的專有 IaaS 進行開發將是一個代價不菲的錯誤。
- 編寫良好的資源分配軟體通常比較複雜,需要頂尖的開發人員資源,這種資源的成本不會低廉。預先為您能找到的最好資源準備更多預算將為您自己和您的組織節約大量時間、減少挫折並消除預料之外的費用。
- 您需要將什麼傳送到雲並在雲中處理?將個人身份、財務資訊和醫療保健之類的資料傳送到雲將使您面臨違反美國 Sarbanes-Oxley (SOX) Act、Payment Card Industry (PCI) 或 Health Insurance Portability and Accountability Act (HIPAA) 法規的風險。
- 務必理解轉移企業日常運營關鍵流程的危險。一個好主意是事先繪製一張包含三列的表,第一列是涉及合規性關鍵資料的流程,第二列是涉及業務關鍵任務的流程,第三列是涉及非關鍵任務的流程。然後,計劃在第一階段只讓軟體解除安裝第三列中的專案。
另外,組織需要注意雲端計算市場的供應商鎖定(lock-in)狀態。擁有可以從資料中心移動到雲環境和在供應商的雲之間移動的虛擬機器(VM)對於企業而言可能是一種資產,但這需要供應商支援一種標準檔案格式,而供應商通常不願意那樣做。
而實際情況是,目前沒有一種公開規範或位於一個標準組織之下的規範。換句話說,目前沒有一種真正標準化的格式,這種情況的結果至多是使事情變得複雜,原因是沒有人保證您的構建基於的格式將來會受到支援。但是,有一點值得注意,假如這種新格式的規範是公開的,或者您擁有訪問它的許可權,那麼將一種虛擬裝置移植到另一種格式通常是可行的。令人感到欣慰的是,最近在對 Open Virtualization Format (OVF) 的支援方面取得了重大進展,OVF 很有可能成為標準 。另一個有希望的候選項是 Virtual Machine Disk (VMDK) 格式。VMDK 最初是 VMware 的一種專有格式,但現在它公開了,並受到了幾個第三方組織的支援。
基礎架構即資產
為展示雲端計算的演變過程,我們來回顧一下汽車工業在過去 50 年內的發展歷程。在上世紀 60 年代到 70 年代,汽車製造商的相對優勢完全取決於馬力和扭矩。但是,到了 80 年代,事實證明這種模式不利於市場和環境,這迫使模式從基礎架構即資產轉移到基礎架構即服務。
類似地,大量成功的公司在過去 50 年之內花費大量寶貴時間和資源來構建基礎架構,其目標是通過建立一個更大、更快、更強的網路來獲取戰勝其競爭對手的競爭優勢。IT 行業中的 “基礎架構即資產” 正規化擁有上世紀六七十年代的 “暴力跑車(muscle cars )” 所擁有的相同或類似的低效率和不利特徵。對於企業計算,這些低效率包括:
- 大量未使用的計算能力和容量,它們耗費的成本與大型、昂貴的資料中心中的硬體消耗的大量空間相關聯。
- 昂貴的人力資源需求,包括要求基礎架構資產(伺服器、路由器、交換機等)所在的資料中心的網路管理員進行 24 小時監控。
- 旨在應對高水平能源浪費的 Green Computing 計劃的一個巨大障礙。
為幫助您理解雲端計算的這三個類別,我建立了一個跨概念矩陣供您參考(參見表1)。正規化(paradigm)是大多數使用者遵循的模式。如前所述,IaaS 標誌著從 “基礎架構即資產” 到 “基礎架構即服務” 的轉變。雲端計算的其他兩個類別(見表1)也標誌著正規化轉變。對於 Platform as a Service (PaaS),轉變來自 “平臺即資產” 正規化,該正規化的特徵是大量採購許可。同樣的轉變也適用 Software as a Service (SaaS),這種轉變是從 “軟體以許可形式作為組織資產” 到 “軟體以服務形式提供”。本系列第 2 和第 3 部分將分別討論 PaaS 和 SaaS。
正規化轉變 | 特徵 | 關鍵詞 | 優勢 | 劣勢和風險 | 不適用時間 | |
---|---|---|---|---|---|---|
IaaS | Infrastructure as an asset | 通常獨立於平臺;基礎架構成本被共享從而減少;SLAs;根據使用情況付費;自我伸縮 | 網格計算、效用計算、計算例項、虛擬機器監控程式、雲爆發、多租戶計算、資源共用 | 避免硬體和人力資源上的資本投入;ROI 風險減小;准入門檻低;簡化和自動化的伸縮 | 業務效率和生產力極大地依賴供應商的能力;長期成本可能更高;集中化需要新的/不同的安全措施 | 當資本預算大於經營預算時 |
PaaS | 許可採購 | 使用雲基礎架構;服務敏捷專案管理方法 | 解決方案堆疊 | 簡化了的版本部署 | 集中化需要新的/不同的安全措施 | N/A |
SaaS | Software as an asset(企業和消費者) | SLA;瘦客戶機應用程式驅動的 UI;雲元件;通過 API 通訊;無狀態;鬆散耦合;模組化;語義互操作性 | 瘦客戶機;客戶機-伺服器應用程式 | 避免軟體和開發資源上的資本投入;ROI 風險減小;簡化和迭代的更新 | 集中化需要新的/不同的安全措施 | N/A |
IaaS 的主要方面
與其將網際網路想象成一個單一的全球雲,不如將其想象為由許多雲組成的一個系統(比如一個暴風雨雲)可能更準確。通過這種比喻,就可以從邏輯上斷定:閃電是雲際通訊的天氣系統等價物。假設那些雲以一種系統方式相互互動,建立一個單一結果:網際網路,從這個意義上講,上述比喻可能更準確。
但網際網路不太可能只由一個雲組成——至少在不遠的將來不太可能——原因是雲端計算標準缺乏,且企業也沒有進行長期投資以消除供應商鎖定的明顯嘗試。不管怎樣,如果它不是有利於資本主義精神的創新,雲端計算也無法發展到今天的程度。也許有一天,網際網路真的能成為一個單一、互聯的雲,在那個雲中:虛擬機器可以輕鬆轉移到 “那個雲”,而不必擔心檔案格式;互聯的 VM 叢集可以跨服務提供商得到管理——只需通過一個介面即可實現。但在此之前,我們還是認為網際網路由很多雲組成。( 具有諷刺意味的是,我正在使用 Apple MobileMe 雲來儲存這篇文章,這樣我才能跨幾個裝置處理它。)
彈性是 IaaS 的首要關鍵方面。為了闡述彈性的概念,我需要您展開想象。假設雲由一些粘在一起的棉花糖簇組成,這樣人們就可以坐在它們上面。每個棉花糖都能承載一定數量的人,具體取決於組成雲的棉花糖簇的數量和那些簇中包含的棉花糖的數量。隨著越來越多的人登上棉花糖雲,您可以通過貼上更多的棉花糖來擴充套件棉花糖簇,增加表面面積。您可能已經明白,人代表需要計算資源的應用程式,比如承載網站並執行軟體的資源。棉花糖簇代表 VM 叢集,每個棉花糖代表一個 VM。
儘管這聽起來有點像 Seuss 博士的書中可能出現的內容,但它提供了一種方法來理解許多黑魔法(dark art)考慮的一個概念:彈性叢集化(elastic clustering)。叢集化幾個物理伺服器來形成一個虛擬雲稱為雲叢集化(cloud clustering),如果它真是一種黑魔法,則精通程度通過一位藝術家的系統設計的可伸縮性來衡量。
我們來看一個例子。假設您是一位為美國政府工作的統計研究員。政府有點人手不足,您剛剛接受一個任務,需要編輯最近的美國人口統計的所有資料。您負責制定必要的統計資料,以便議會能夠制定關於經濟恢復資金分配和從現在起三天內的稅收金額的重要決策。毋庸諱言,這是一項非常重要的工作,您的時間有點緊張。而且,您必須處理的資料量簡直是個天文數字,您剛剛發現,編輯那些統計資料需要的計算資源需要 IT 部門三週時間才能準備好!
這種問題正是您可以使用 IaaS 輕鬆緩解的。事實上,使用 IaaS,您可以在一小時之內完成全美人口普查資料分析。您首先建立一個伺服器的單個例項,這個伺服器包含在資料上執行查詢需要的資料庫軟體。這個例項稱為一個映像。
當您部署映像並將資料匯入資料庫之後,就可以根據需要複製那個映像任意多次,並開始執行您的資料處理任務。當任務執行時,您可以手動或自動新增和移除資源。例如,如果計算任務的執行速度不夠快,只需將更多機器例項副本新增到叢集。
理解彈性概念之後,現在我們來看看 IaaS 的第二個主要方面:虛擬化。
Sergey Brin 和 Larry Page——Google 的創始人——早在 1995 年就有了正確的想法,當時他們每天晚上都在史丹佛大學的電腦科學大樓後面的廢料箱裡翻檢,找出被人忽略的計算機零件。他們將那些隨意的、基於 x86 的計算機零件帶回宿舍,將它們新增到託管具有傳奇色彩的 “爬網蛛” 的 Frankenstein 機器上,爬網蛛——兩次——記錄下了史丹佛市的整個網路 。
今天,Google 預計在 12 個主要資料中心擁有超過 100 萬臺 x86 伺服器,在各大洲擁有約 20 個小型資料中心。那是一個非常大的雲。兩個系統設計關鍵因素曾在 1995 年允許他們伸縮他們的 “宿舍怪獸”,而它們仍然適用今天的 Google 網路中的一百多萬臺伺服器。直到今天,Google 仍然繼續使用廉價的 x86 零件,而不是許多公司資料中心中昂貴得多的企業伺服器元件。其次,故障轉移、冗餘性、監控、叢集化和其他基礎架構管理任務通過在作業系統層之下執行的一個虛擬系統來處理,而不是使用負載平衡器之類的獨立硬體來處理類似任務。
IaaS 很容易定位,因為它通常是獨立於平臺的。IaaS 有一個硬體和軟體資源組合組成。IaaS 軟體是低階程式碼,獨立於作業系統執行——稱為虛擬機器監控程式——並負責管理硬體資源的庫存並根據需要分配上述資源(見圖1)。這個過程稱為資源共用(resource pooling)。 虛擬機器監控程式實現的資源共用使得虛擬化成為可能,虛擬化使多租戶計算(multi-tenant computing) 成為可能——多租戶計算概念指由幾個組織共享的一個基礎架構,這些組織在安全需求和遵從性問題方面有類似的興趣。
通過 IaaS,您擁有提供處理、儲存、網路和其他計算資源的能力,您可以在那裡部署和執行任意軟體,比如作業系統和應用程式。大多數雲端計算用例遵循您已經習慣的基礎分層結構:一個軟體解決方案堆疊或平臺被部署在一個網路基礎架構上,一些應用程式在那個平臺之上執行。但是,虛擬化使得雲正規化獨一無二。
結束語
在本文中,您瞭解了雲端計算的許多原則,IaaS 的架構,以及雲端計算如何用於一個真實場景。本系列第二篇文章將深入第二個主要的雲端計算類別:PaaS。在此期間,請檢視參考資料部分的連結,瞭解關於 IaaS 的更多資訊。
參考資料
- Grace Walker 的 developerWorks 文章 “雲端計算基礎” 是一個不錯的雲端計算簡介。
- 檢視 Cloudscaling 的 IaaS 購買者指南。
- Wikipedia 詳細提供了 雲端計算背景知識。
- 檢視 Eweek.com 的 使用 IaaS 的公司調查。
- 當今有許多公司正在提供 IaaS。下面是兩個主要的提供商:
- 探索 developerWorks 雲端計算專區,其中包括寶貴的社群討論和關於雲的新技術資源。
- 在 IBM 智慧業務雲端計算 中,獲取寶貴的業務建議,增強雲中的效能和效率。
- 閱讀 Cloud Computing—A Primer,瞭解雲端計算基本知識。
- 觀看 developerWorks 演示中心,包括面向初學者的產品安裝和設定演示,以及為經驗豐富的開發人員提供的高階功能。
關於作者
Dan Orlando 是企業開發社群一位公認的領袖。Dan 長期擔任顧問,他在 Adobe 技術平臺方面的專業技術經常受到工業領袖和 IBM developerWorks、Adobe Developer Connection 和 Amazon Web Services 等出版物的引用。Dan 還定期在 DanOrlando.com 撰寫部落格。