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