云計算的體系架構
云計算,至少作為虛擬化的一種延伸,影響范圍已經越來越大。但是,云計算還不能支持復雜的企業環境。因此云計算架構呼之欲出,經驗表明,在云計算走向成熟之前,我們更應該關注系統云計算架構的細節?;趯ΜF有的一些云計算產品的分析和個人一些經驗,總結出一套云計算架構,云計算架構主要可分為四層。
顯示層
多數數據中心云計算架構的這層主要是用于以友好的方式展現用戶所需的內容和服務體驗,并會利用到下面中間件層提供的多種服務,主要有五種技術:
HTML:標準的Web頁面技術,主要以HTML4為主,但是將要推出的HTML5會在很多方面推動Web頁面的發展,比如視頻[和本地存儲等方面。
JavaScript:一種用于Web頁面的動態語言,通過JavaScript,能夠極大地豐富Web頁面的功能,并且用以JavaScript為基礎的AJAX創建更具交互性的動態頁面。
CSS:主要用于控制Web頁面的外觀,而且能使頁面的內容與其表現形式之間進行優雅地分離。
Flash[2]:業界最常用的RIA(Rich Internet Applications)技術,能夠在現階段提供HTML等技術所無法提供的基于Web的富應用,而且在用戶體驗方面,非常不錯。
Silverlight:來自業界巨擎微軟的RIA技術,雖然其市場占有率稍遜于Flash,但由于其可以使用C#[5]來進行編程,所以對開發者非常友好。
中間層
這層是承上啟下的,它在下面的基礎設施層所提供資源的基礎上提供了多種服務,比如緩存服務和REST服務等,而且這些服務即可用于支撐顯示層,也可以直接讓用戶調用,并主要有五種技術:
REST:通過REST技術,能夠非常方便和優雅地將中間件層所支撐的部分服務提供給調用者。
多租戶:就是能讓一個單獨的應用實例可以為多個組織服務,而且保持良好的隔離性和安全性,并且通過這種技術,能有效地降低應用的購置和維護成本。
并行處理:為了處理海量的數據,需要利用龐大的X86集群進行規模巨大的并行處理,Google的MapReduce是這方面的代表之作。
應用服務器:在原有的應用服務器的基礎上為云計算做了一定程度的優化,比如用于Google App Engine的Jetty應用服務器。
分布式緩存:通過分布式緩存技術,不僅能有效地降低對后臺服務器的壓力,而且還能加快相應的反應速度,最著名的分布式緩存例子莫過于Memcached。
基礎設施層
這層作用是為給上面的中間件層或者用戶準備其所需的計算和存儲等資源,主要有四種技術:
虛擬化:也可以理解它為基礎設施層的“多租戶”,因為通過虛擬化技術,能夠在一個物理服務器上生成多個虛擬 機,并且能在這些虛擬機之間能實現全面的隔離,這樣不僅能減低服務器的購置成本,而且還能同時降低服務器的運維成本,成熟的X86虛擬化技術有 VMware的ESX和開源的Xen。
分布式存儲:為了承載海量的數據,同時也要保證這些數據的可管理性,所以需要一整套分布式的存儲系統。
關系型數據庫:基本是在原有的關系型數據庫的基礎上做了擴展和管理等方面的優化,使其在云中更適應。
NoSQL:為了滿足一些關系數據庫所無法滿足的目標,比如支撐海量的數據等,一些公司特地設計一批不是基于關系模型的數據庫。
管理層
這層是為橫向的三層服務的,并給這三層提供多種管理和維護等方面的技術,主要有下面這六個方面:
帳號管理:通過良好的帳號管理技術,能夠在安全的條件下方便用戶地登錄,并方便管理員對帳號的管理。
SLA監控:對各個層次運行的虛擬機,服務和應用等進行性能方面的監控,以使它們都能在滿足預先設定的SLA(Service Level Agreement)的情況下運行。
計費管理:也就是對每個用戶所消耗的資源等進行統計,來準確地向用戶索取費用。
安全管理:對數據,應用和帳號等IT資源采取全面地保護,使其免受犯罪分子和惡意程序的侵害。
負載均衡:通過將流量分發給一個應用或者服務的多個實例來應對突發情況。
運維管理:主要是使運維操作盡可能地專業和自動化,從而降低云計算中心的運維成本。
云計算架構其中有三層是橫向的,分別是顯示層、中間件層和基礎設施層,通過這三層技術能夠提供非常豐富的云計算能力和友好的用戶界面,云計算架構還有一層是縱向的,稱為管理層,是為了更好地管理和維護橫向的三層而存在的。
云計算架構分層
一般來說,大家比較公認的云架構是劃分為基礎設施層、平臺層和軟件服務層三個層次的。對應名稱為IaaS,PaaS和SaaS。IaaS, Infrastructure as a Service,中文名為基礎設施即服務,有點拗口,大家習慣了就好。如圖1所示。
圖1 云計算架構示意圖
IaaS主要包括計算機服務器、通信設備、存儲設備等,能夠按需向用戶提供的計算能力、存儲能力或網絡能力等IT基礎設施類服務,也就是能在基礎設施層面提供的服務。IaaS能夠得到成熟應用的核心在于虛擬化技術,通過虛擬化技術可以將形形色色計算設備統一虛擬化為虛擬資源池中的計算資源,將存儲設備統一虛擬化為虛擬資源池中的存儲資源,將網絡設備統一虛擬化為虛擬資源池中的網絡資源。當用戶訂購這些資源時,數據中心管理者直接將訂購的份額打包提供給用戶,從而實現了IaaS。
PaaS, Platform as a Service,中文名為平臺即服務。如果以傳統計算機架構中“硬件+操作系統/開發工具+應用軟件”的觀點來看待,那么云計算的平臺層應該提供類似操作系統和開發工具的功能。實際上也的確如此,PaaS定位于通過互聯網為用戶提供一整套開發、運行和運營應用軟件的支撐平臺。就像在個人計算機軟件開發模式下,程序員可能會在一臺裝有Windows或Linux操作系統的計算機上使用開發工具開發并部署應用軟件一樣。微軟公司的Windows Azure和谷歌公司的GAE,可以算是PaaS平臺中最為知名的兩個產品了。
SaaS,軟件即服務。簡單地說,就是一種通過互聯網提供軟件服務的軟件應用模式。在這種模式下,用戶不需要再花費大量投資用于硬件、軟件和開發團隊的建設,只需要支付一定的租賃費用,就可以通過互聯網享受到相應的服務,而且整個系統的維護也由廠商負責。
云計算的應用領域有哪些
云計算將在IT產業各個方面都有其用武之地,以下是云計算十個比較典型的應用場景!
1. IDC云
IDC云是在IDC原有數據中心的基礎上,加入更多云的基因,比如系統虛擬化技術、自動化管理技術和智慧的能源監控技術等。通過IDC的云平臺,用戶能夠使用到虛擬機和存儲等資源。還有,IDC可通過引入新的云技術來提供許多新的具有一定附加值的服務,比如,PaaS等。現在已成型的IDC云有Linode和Rackspace等。
2. 企業云
企業云對于那些需要提升內部數據中心的運維水平和希望能使整個IT服務更圍繞業務展開的大中型企業非常適合。相關的產品和解決方案有IBM的WebSphere CloudBurst Appliance、Cisco的UCS和VMware的vSphere等。
3. 云存儲系統
云存儲系統可以解決本地存儲在管理上的缺失,降低數據的丟失率,它通過整合網絡中多種存儲設備來對外提供云存儲服務,并能管理數據的存儲、備份、復制和存檔,云存儲系統非常適合那些需要管理和存儲海量數據的企業。
4. 虛擬桌面云
虛擬桌面云可以解決傳統桌面系統高成本的問題,其利用了現在成熟的桌面虛擬化技術,更加穩定和靈活,而且系統管理員可以統一地管理用戶在服務器端的桌面環境,該技術比較適合那些需要使用大量桌面系統的企業。
5. 開發測試云
開發測試云可以解決開發測試過程中的棘手問題,其通過友好的Web界面,可以預約、部署、管理和回收整個開發測試的環境,通過預先配置好(包括操作系統,中間件和開發測試軟件)的虛擬鏡像來快速地構建一個個異構的開發測試環境,通過快速備份/恢復等虛擬化技術來重現問題,并利用云的強大的計算能力來對應用進行壓力測試,比較適合那些需要開發和測試多種應用的組織和企業。
6. 大規模數據處理云
大規模數據處理云能對海量的數據進行大規模的處理,可以幫助企業快速進行數據分析,發現可能存在的商機和存在的問題,從而做出更好、更快和更全面的決策。其工作過程是大規模數據處理云通過將數據處理軟件和服務運行在云計算平臺上,利用云計算的計算能力和存儲能力對海量的數據進行大規模的處理。
7. 協作云
協作云是云供應商在IDC云的基礎上或者直接構建一個專屬的云,并在這個云搭建整套的協作軟件,并將這些軟件共享給用戶,非常適合那些需要一定的協作工具,但不希望維護相關的軟硬件和支付高昂的軟件許可證費用的企業與個人。
8. 游戲云
游戲云是將游戲部署至云中的技術,目前主要有兩種應用模式,一種是基于Web游戲模式,比如使用JavaScript、Flash和Silverlight等技術,并將這些游戲部署到云中,這種解決方案比較適合休閑游戲;另一種是為大容量和高畫質的專業游戲設計的,整個游戲都將在運行云中,但會將最新生成的畫面傳至客戶端,比較適合專業玩家。
9. HPC云
HPC云能夠為用戶提供可以完全定制的高性能計算環境,用戶可以根據自己的需求來改變計算環境的操作系統、軟件版本和節點規模,從而避免與其他用戶的沖突,并可以成為網格計算的支撐平臺,以提升計算的靈活性和便捷性。HPC云特別適合需要使用高性能計算,但缺乏巨資投入的普通企業和學校。
10. 云殺毒
云殺毒技術可以在云中安裝附帶龐大的病毒特征庫的殺毒軟件,當發現有嫌疑的數據時,殺毒軟件可以將有嫌疑的數據上傳至云中,并通過云中龐大的特征庫和強大的處理能力來分析這個數據是否含有病毒,這非常適合那些需要使用殺毒軟件來捍衛其電腦安全的用戶。
小編推薦閱讀:
評論
查看更多