云計(jì)算定義
一種計(jì)算模式:把IT資源钓试、數(shù)據(jù)造垛、應(yīng)用作為服務(wù)通過(guò)網(wǎng)絡(luò)提供給用戶(hù)(IBM)
一種基礎(chǔ)架構(gòu)管理方法論:把大量的高度虛擬化的資源管理起來(lái)顺囊,組成一個(gè)大的資源池斯入,用來(lái)統(tǒng)一提供服務(wù)(IBM)
以公開(kāi)的標(biāo)準(zhǔn)和服務(wù)為基礎(chǔ)砂碉,以互聯(lián)網(wǎng)為中心,提供安全 刻两、快速增蹭、便捷的數(shù)據(jù)存儲(chǔ)和網(wǎng)絡(luò)計(jì)算服務(wù)(Google)
云計(jì)算架構(gòu)分層
一般來(lái)說(shuō),目前大家比較公認(rèn)的云架構(gòu)是劃分為基礎(chǔ)設(shè)施層磅摹、平臺(tái)層和軟件服務(wù)層三個(gè)層次的滋迈。對(duì)應(yīng)名稱(chēng)為IaaS,PaaS和SaaS户誓。
IaaS, Infrastructure as a Service饼灿,中文名為基礎(chǔ)設(shè)施即服務(wù),有點(diǎn)拗口帝美,大家習(xí)慣了就好碍彭。如圖1所示。
圖1 云計(jì)算架構(gòu)示意圖
IaaS主要包括計(jì)算機(jī)服務(wù)器悼潭、通信設(shè)備庇忌、存儲(chǔ)設(shè)備等,能夠按需向用戶(hù)提供的計(jì)算能力舰褪、存儲(chǔ)能力或網(wǎng)絡(luò)能力等IT基礎(chǔ)設(shè)施類(lèi)服務(wù)皆疹,也就是能在基礎(chǔ)設(shè)施層面提供的服務(wù)。今天IaaS能夠得到成熟應(yīng)用的核心在于虛擬化技術(shù)抵知,通過(guò)虛擬化技術(shù)可以將形形色色計(jì)算設(shè)備統(tǒng)一虛擬化為虛擬資源池中的計(jì)算資源墙基,將存儲(chǔ)設(shè)備統(tǒng)一虛擬化為虛擬資源池中的存儲(chǔ)資源,將網(wǎng)絡(luò)設(shè)備統(tǒng)一虛擬化為虛擬資源池中的網(wǎng)絡(luò)資源刷喜。當(dāng)用戶(hù)訂購(gòu)這些資源時(shí)残制,數(shù)據(jù)中心管理者直接將訂購(gòu)的份額打包提供給用戶(hù),從而實(shí)現(xiàn)了IaaS掖疮。
PaaS, Platform as a Service初茶,中文名為平臺(tái)即服務(wù)。如果以傳統(tǒng)計(jì)算機(jī)架構(gòu)中“硬件+操作系統(tǒng)/開(kāi)發(fā)工具+應(yīng)用軟件”的觀點(diǎn)來(lái)看待浊闪,那么云計(jì)算的平臺(tái)層應(yīng)該提供類(lèi)似操作系統(tǒng)和開(kāi)發(fā)工具的功能恼布。實(shí)際上也的確如此,PaaS定位于通過(guò)互聯(lián)網(wǎng)為用戶(hù)提供一整套開(kāi)發(fā)搁宾、運(yùn)行和運(yùn)營(yíng)應(yīng)用軟件的支撐平臺(tái)折汞。就像在個(gè)人計(jì)算機(jī)軟件開(kāi)發(fā)模式下,程序員可能會(huì)在一臺(tái)裝有Windows或Linux操作系統(tǒng)的計(jì)算機(jī)上使用開(kāi)發(fā)工具開(kāi)發(fā)并部署應(yīng)用軟件一樣盖腿。微軟公司的Windows Azure和谷歌公司的GAE爽待,可以算是目前PaaS平臺(tái)中最為知名的兩個(gè)產(chǎn)品了损同。
SaaS,軟件即服務(wù)鸟款。簡(jiǎn)單地說(shuō)膏燃,就是一種通過(guò)互聯(lián)網(wǎng)提供軟件服務(wù)的軟件應(yīng)用模式。在這種模式下何什,用戶(hù)不需要再花費(fèi)大量投資用于硬件组哩、軟件和開(kāi)發(fā)團(tuán)隊(duì)的建設(shè),只需要支付一定的租賃費(fèi)用处渣,就可以通過(guò)互聯(lián)網(wǎng)享受到相應(yīng)的服務(wù)伶贰,而且整個(gè)系統(tǒng)的維護(hù)也由廠商負(fù)責(zé)。
云計(jì)算的架構(gòu)層
顯示層
多數(shù)數(shù)據(jù)中心云計(jì)算架構(gòu)的這層主要是用于以友好的方式展現(xiàn)用戶(hù)所需的內(nèi)容和服務(wù)體驗(yàn)罐栈,并會(huì)利用到下面中間件層提供的多種服務(wù)幕袱,主要有五種技術(shù):
HTML:標(biāo)準(zhǔn)的Web頁(yè)面技術(shù),現(xiàn)在主要以HTML4為主悠瞬,但是將要推出的HTML5會(huì)在很多方面推動(dòng)Web頁(yè)面的發(fā)展,比如視頻[1]和本地存儲(chǔ)等方面涯捻。
JavaScript:一種用于Web頁(yè)面的動(dòng)態(tài)語(yǔ)言浅妆,通過(guò)JavaScript,能夠極大地豐富Web頁(yè)面的功能障癌,并且用以JavaScript為基礎(chǔ)的AJAX創(chuàng)建更具交互性的動(dòng)態(tài)頁(yè)面凌外。
CSS:主要用于控制Web頁(yè)面的外觀,而且能使頁(yè)面的內(nèi)容與其表現(xiàn)形式之間進(jìn)行優(yōu)雅地分離涛浙。
Flash[2]:業(yè)界最常用的RIA(Rich Internet Applications)技術(shù)康辑,能夠在現(xiàn)階段提供HTML等技術(shù)所無(wú)法提供的基于Web的富應(yīng)用,而且在用戶(hù)體驗(yàn)[3]方面轿亮,非常不錯(cuò)疮薇。
Silverlight:來(lái)自業(yè)界巨擎微軟[4]的RIA技術(shù),雖然其現(xiàn)在市場(chǎng)占有率稍遜于Flash我注,但由于其可以使用C#[5]來(lái)進(jìn)行編程按咒,所以對(duì)開(kāi)發(fā)者非常友好。
中間層
這層是承上啟下的但骨,它在下面的基礎(chǔ)設(shè)施層所提供資源的基礎(chǔ)上提供了多種服務(wù)励七,比如緩存服務(wù)和REST服務(wù)等,而且這些服務(wù)即可用于支撐顯示層奔缠,也可以直接讓用戶(hù)調(diào)用掠抬,并主要有五種技術(shù):
REST:通過(guò)REST技術(shù),能夠非常方便和優(yōu)雅地將中間件層所支撐的部分服務(wù)提供給調(diào)用者校哎。
多租戶(hù):就是能讓一個(gè)單獨(dú)的應(yīng)用實(shí)例可以為多個(gè)組織服務(wù)两波,而且保持良好的隔離性和安全性,并且通過(guò)這種技術(shù),能有效地降低應(yīng)用的購(gòu)置和維護(hù)成本雨女。
并行處理:為了處理海量的數(shù)據(jù)谚攒,需要利用龐大的X86集群進(jìn)行規(guī)模巨大的并行處理,Google的MapReduce是這方面的代表之作氛堕。
應(yīng)用服務(wù)器:在原有的應(yīng)用服務(wù)器的基礎(chǔ)上為云計(jì)算做了一定程度的優(yōu)化馏臭,比如用于Google App Engine的Jetty應(yīng)用服務(wù)器。
分布式緩存:通過(guò)分布式緩存技術(shù)讼稚,不僅能有效地降低對(duì)后臺(tái)服務(wù)器的壓力括儒,而且還能加快相應(yīng)的反應(yīng)速度,最著名的分布式緩存例子莫過(guò)于Memcached锐想。
基礎(chǔ)設(shè)施層
這層作用是為給上面的中間件層或者用戶(hù)準(zhǔn)備其所需的計(jì)算和存儲(chǔ)等資源帮寻,主要有四種技術(shù):
虛擬化:也可以理解它為基礎(chǔ)設(shè)施層的“多租戶(hù)”,因?yàn)橥ㄟ^(guò)虛擬化技術(shù)赠摇,能夠在一個(gè)物理服務(wù)器上生成多個(gè)虛擬 機(jī)固逗,并且能在這些虛擬機(jī)之間能實(shí)現(xiàn)全面的隔離,這樣不僅能減低服務(wù)器的購(gòu)置成本藕帜,而且還能同時(shí)降低服務(wù)器的運(yùn)維成本烫罩,成熟的X86虛擬化技術(shù)有 VMware的ESX和開(kāi)源的Xen。
分布式存儲(chǔ):為了承載海量的數(shù)據(jù)洽故,同時(shí)也要保證這些數(shù)據(jù)的可管理性贝攒,所以需要一整套分布式的存儲(chǔ)系統(tǒng)。
關(guān)系型數(shù)據(jù)庫(kù):基本是在原有的關(guān)系型數(shù)據(jù)庫(kù)的基礎(chǔ)上做了擴(kuò)展和管理等方面的優(yōu)化时甚,使其在云中更適應(yīng)隘弊。
NoSQL:為了滿(mǎn)足一些關(guān)系數(shù)據(jù)庫(kù)所無(wú)法滿(mǎn)足的目標(biāo),比如支撐海量的數(shù)據(jù)等荒适,一些公司特地設(shè)計(jì)一批不是基于關(guān)系模型的數(shù)據(jù)庫(kù)梨熙。
管理層
這層是為橫向的三層服務(wù)的,并給這三層提供多種管理和維護(hù)等方面的技術(shù)吻贿,主要有下面這六個(gè)方面:
帳號(hào)管理:通過(guò)良好的帳號(hào)管理技術(shù)串结,能夠在安全的條件下方便用戶(hù)地登錄,并方便管理員對(duì)帳號(hào)的管理舅列。
SLA監(jiān)控:對(duì)各個(gè)層次運(yùn)行的虛擬機(jī)肌割,服務(wù)和應(yīng)用等進(jìn)行性能方面的監(jiān)控,以使它們都能在滿(mǎn)足預(yù)先設(shè)定的SLA(Service Level Agreement)的情況下運(yùn)行帐要。
計(jì)費(fèi)管理:也就是對(duì)每個(gè)用戶(hù)所消耗的資源等進(jìn)行統(tǒng)計(jì)把敞,來(lái)準(zhǔn)確地向用戶(hù)索取費(fèi)用。
安全管理:對(duì)數(shù)據(jù)榨惠,應(yīng)用和帳號(hào)等IT[6]資源采取全面地保護(hù)奋早,使其免受犯罪分子和惡意程序的侵害盛霎。
負(fù)載均衡:通過(guò)將流量分發(fā)給一個(gè)應(yīng)用或者服務(wù)的多個(gè)實(shí)例來(lái)應(yīng)對(duì)突發(fā)情況。
運(yùn)維管理:主要是使運(yùn)維操作盡可能地專(zhuān)業(yè)和自動(dòng)化耽装,從而降低云計(jì)算中心的運(yùn)維成本愤炸。
云計(jì)算架構(gòu)其中有三層是橫向的,分別是顯示層掉奄、中間件層和基礎(chǔ)設(shè)施層规个,通過(guò)這三層技術(shù)能夠提供非常豐富的云計(jì)算能力和友好的用戶(hù)界面,云計(jì)算架構(gòu)還有一層是縱向的姓建,稱(chēng)為管理層诞仓,是為了更好地管理和維護(hù)橫向的三層而存在的。