云計(jì)算(Cloud Computing)是分布式處理(Distributed Computing)、并行處理(Parallel Computing)和網(wǎng)格計(jì)算(Grid Computing)的發(fā)展,或者說(shuō)是這些計(jì)算機(jī)科學(xué)概念的商業(yè)實(shí)現(xiàn)。 它將計(jì)算任務(wù)分布在大量計(jì)算機(jī)構(gòu)成的資源池上,使得用戶能夠按需獲取云計(jì)算力、存儲(chǔ)空間和信息服務(wù)。這些資源池被稱為”云“。它是一些可以自我維護(hù)和管理的虛擬計(jì)算機(jī)資源,通常是一些大型服務(wù)器集群,包括計(jì)算服務(wù)器,存儲(chǔ)服務(wù)器和帶寬資源等。通過(guò)專門軟件實(shí)現(xiàn)自動(dòng)管理,無(wú)需人為參與。 云計(jì)算的幾大形式:IaaS,將基礎(chǔ)設(shè)施作為服務(wù)、PaaS,將平臺(tái)作為服務(wù)、SaaS,軟件作為服務(wù)。 PaaS對(duì)資源的抽象層次更近一步,它供給用戶應(yīng)用程序的運(yùn)行環(huán)境,典型的如Google App Engine。微軟的MS Windows Azure也可以大致歸入這一類。PaaS自身負(fù)責(zé)資源的動(dòng)態(tài)擴(kuò)展和容錯(cuò)管理,用戶應(yīng)用程序不必過(guò)多考慮節(jié)點(diǎn)間的配合問(wèn)題。同時(shí),用戶自主權(quán)降低,必須使用特定的編程環(huán)境并遵守特定的編程模型。這點(diǎn)有點(diǎn)像高性能集群計(jì)算機(jī)里進(jìn)行MPI編程,例如Google App Engine只允許使用Python和Java語(yǔ)言,基于稱為Django的Web框架,調(diào)用Google App Engine SDK來(lái)開發(fā)應(yīng)用服務(wù)。 SaaS的針對(duì)性更強(qiáng),它將某些特定應(yīng)用軟件功能封轉(zhuǎn)成服務(wù),如Salesforce公司提供的CRM服務(wù)。SaaS既不想PaaS那樣提供計(jì)算或者存儲(chǔ)資源類型的服務(wù),也不像IaaS一樣提供運(yùn)行用戶自定義應(yīng)用程序的環(huán)境,它只提供某些專門用途的服務(wù)供應(yīng)用調(diào)用。 當(dāng)然,三者也在深化發(fā)展,比如AWS是以IssA發(fā)展的,但新提供的彈性MapReduce服務(wù)模仿了Google的MapReduce,簡(jiǎn)單數(shù)據(jù)服務(wù)SimpleDB模范了Google的Bigtable,這兩種都屬于PaaS的范疇。而它提供的電子商務(wù)服務(wù)FPS和DevPay以及網(wǎng)站反問(wèn)統(tǒng)計(jì)服務(wù),Alexa Web服務(wù),則屬于SaaS范疇。 云計(jì)算的數(shù)據(jù)儲(chǔ)存技術(shù)主要有谷歌非開源的GFS和Hadoop開發(fā)團(tuán)隊(duì)的GFS的開源實(shí)現(xiàn)HDFS(Hadoop Distributed File System)。大部分IT廠商,包括雅虎和英特爾的“云”計(jì)劃都采用HDFS。 云技術(shù): Google擁有許許多多的業(yè)務(wù),它必須解決海量數(shù)據(jù)存儲(chǔ)和快速處理的問(wèn)題,Google的訣竅在于發(fā)展出簡(jiǎn)單而又高效的技術(shù),讓多大百萬(wàn)臺(tái)廉價(jià)計(jì)算機(jī)協(xié)同工作,共同完成任務(wù)。這些技術(shù)在誕生幾年以后,才被命名為Google云計(jì)算技術(shù)。具體包括:Google文件系統(tǒng)GFS,分布式計(jì)算編程模型MapReduce、分布式鎖服務(wù)Chubby和分布式結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)系統(tǒng)Bigtable等。GFS提供了海量數(shù)據(jù)的存儲(chǔ)和訪問(wèn)能力,MapReduce使得海量信息的并行處理更加容易,ChuRRy保證了分布式環(huán)境下并發(fā)操作的同步問(wèn)題,Bigtable使得海量數(shù)據(jù)的管理和組織十分便利。 亞馬遜:它依靠電子商務(wù)發(fā)展起來(lái),憑借其在電子商務(wù)領(lǐng)域的大量基礎(chǔ)性設(shè)施,先進(jìn)的分布式計(jì)算技術(shù)和巨大的用戶群,它很早就進(jìn)入了云計(jì)算領(lǐng)域。目前,它的云計(jì)算服務(wù)主要包括:彈性云計(jì)算EC2(Amazon Elastic Compute Cloud),簡(jiǎn)單存儲(chǔ)服務(wù)S3(Amazon Simple Storage Service)、簡(jiǎn)單數(shù)據(jù)庫(kù)服務(wù)Simple DB(Amazon SimpleDB)、簡(jiǎn)單隊(duì)列服務(wù)SQS(Amazon Simple Queue Service)、彈性MapReduce服務(wù)(Amazon Elastic MapReduce)、內(nèi)容推送服務(wù)CloundFront(Amazon Elastic MapReduce)、電子商務(wù)服務(wù)(Amazon DevPay)、FPS(Amazon Flexible Payments Service)等。這額服務(wù)涉及云計(jì)算的方方面面,用戶可以根據(jù)自己需要選取一個(gè)或者多個(gè)亞馬孫云計(jì)算服務(wù)。 基礎(chǔ)平臺(tái):Dynamo,一致性哈希算法(從目前主流的分布式哈希表(Distributed Hash Table,DHT)協(xié)議之一,一致性哈希算法通過(guò)修正簡(jiǎn)單哈希算法,解決了網(wǎng)絡(luò)中的熱點(diǎn)問(wèn)題(Hot Pot ),使得DHT可以真正的應(yīng)用于P2P環(huán)境中)。 ECS:亞馬孫的云計(jì)算環(huán)境的基本平臺(tái),通過(guò)它提供的接口,可以按照自己的要求增加、刪除實(shí)例。通過(guò)配置實(shí)例的數(shù)量可以保證計(jì)算能力隨著通信量的變化而變化。 S3:簡(jiǎn)單的存儲(chǔ)服務(wù),可以將文件永久的存儲(chǔ)在亞馬孫的服務(wù)器上,S3的總體設(shè)計(jì)目標(biāo)是可靠、易用以及低使用成本。 SQS:要想構(gòu)建一個(gè)靈活的系統(tǒng),低耦合是必要的,因?yàn)橹挥邢到y(tǒng)各個(gè)組件之間的關(guān)聯(lián)盡可能的低,才可以根據(jù)系統(tǒng)需要隨時(shí)從系統(tǒng)中增加或者刪除某些組件。SQS是亞馬孫為了解決其云計(jì)算平臺(tái),之間不同組件的通信而專門開發(fā)的。 SimpleDB:與S3不同的是,SimpleDB主要用于存儲(chǔ)結(jié)構(gòu)化的數(shù)據(jù),并為了這些數(shù)據(jù)提供查找、刪除等基本功能。 開源云計(jì)算系統(tǒng)
|
|