今天,計(jì)算資源在人們的日常生活中逐漸變得不可或缺,于是如何以更好地方式給公眾提供計(jì)算資源受到很多研究人員和 實(shí)踐者的關(guān)注。
隨著多核處理器、虛擬化、分布式存儲(chǔ)、寬帶互聯(lián)網(wǎng)和自動(dòng)化管理等技術(shù)的發(fā)展,產(chǎn)生了一種新型的計(jì)算模式——云計(jì)算 ,它能夠按需部署計(jì)算資源,用戶只需要為所使用的資源付費(fèi)。從本質(zhì)上來講,云計(jì)算是指用戶終端通過遠(yuǎn)程連接,獲取 存儲(chǔ)、計(jì)算、數(shù)據(jù)庫(kù)等計(jì)算資源。云計(jì)算在資源分布上包括“云”和“云終端”。“云”是列互聯(lián)網(wǎng)或大型服務(wù)器集群的 一種比喻,由分布的互聯(lián)網(wǎng)基礎(chǔ)設(shè)施(網(wǎng)絡(luò)設(shè)備、服務(wù)器、存儲(chǔ)設(shè)備、安全設(shè)備等)等構(gòu)成,幾乎所有的數(shù)據(jù)和應(yīng)用軟件, 都可存儲(chǔ)在“云”里,“云終端”,例如PC、手機(jī)、車載電子設(shè)備等,只需要擁有一個(gè)功能完備的瀏覽器,并安裝一個(gè)簡(jiǎn) 單的操作系統(tǒng),通過網(wǎng)絡(luò)接入“云”,就可以輕松地使用云中的計(jì)算資源。
本文旨在探討云計(jì)算的概念、現(xiàn)狀及其關(guān)鍵技術(shù),組織如下:第一節(jié)討論云計(jì)算的產(chǎn)生、定義及其特點(diǎn);第二節(jié)研究云計(jì) 算的發(fā)展現(xiàn)狀,分析比較幾個(gè)典型的云計(jì)算平臺(tái);第三節(jié)探討云計(jì)算的體系結(jié)構(gòu)和部分關(guān)鍵技術(shù)。
2云計(jì)算概念
2.1 云計(jì)算的產(chǎn)生背景
21世紀(jì)初期,崛起的Web2.0讓網(wǎng)絡(luò)迎來了新的發(fā)展高峰。網(wǎng)站或者業(yè)務(wù)系統(tǒng)所需要處理的業(yè)務(wù)量快速增長(zhǎng),例如視頻在線 或者照片共享,這樣的網(wǎng)站需要為用戶儲(chǔ)存和處理大量的數(shù)據(jù)。這類系統(tǒng)所面臨的重要問題是如何在用戶數(shù)量快速增長(zhǎng)的 情況下快速擴(kuò)展原有系統(tǒng),隨著移動(dòng)終端的智能化、移動(dòng)寬帶網(wǎng)絡(luò)的普及,將有越來越多的移動(dòng)設(shè)備進(jìn)入互聯(lián)網(wǎng),意味著 與移動(dòng)終端相關(guān)的IT系統(tǒng)會(huì)承受更多的負(fù)載,而列于提供數(shù)據(jù)服務(wù)的企業(yè)來講,IT系統(tǒng)需要處理更多的業(yè)務(wù)量。由于資源 的有限性,電力成本、空間成本、各種設(shè)施的維護(hù)成本快速上升,直接導(dǎo)致數(shù)據(jù)中心的成本上升,這就面臨著怎樣有效地 利用這些資源,以及如何利用更少的資源解決更多的問題。
同時(shí),隨著高速網(wǎng)絡(luò)連接的衍生,芯片和磁盤驅(qū)動(dòng)器產(chǎn)品在功能增強(qiáng)的同時(shí),價(jià)格也在變得甘益低廉,擁有成百上千臺(tái)計(jì) 算機(jī)的數(shù)掂中心也具備了快速為大量用戶處理復(fù)雜問題的能力。技術(shù)上,分布式計(jì)算的日益成熟和應(yīng)用,特別是網(wǎng)格計(jì)算 的發(fā)展通過Internet把分散在各處的硬件、軟件、信息資源連接成為一個(gè)巨大的整體,從而使得人們能夠利用地理上分散 于各處的資源,完成大規(guī)模的、復(fù)雜的計(jì)算和數(shù)據(jù)處理的任務(wù)oJ。數(shù)據(jù)存儲(chǔ)的快速增長(zhǎng)產(chǎn)生了以GFS(Google File System) 、SAN(Storage Area Network)為代表的高性能存儲(chǔ)技術(shù)。服務(wù)器整合需求的不斷升溫推動(dòng)了Xen等虛擬化技術(shù)的進(jìn)步還有 Web2 0的實(shí)現(xiàn),SaaS(Software as a Service)觀念方興未艾,多核技術(shù)的普及等,所有這些技術(shù)為產(chǎn)生更強(qiáng)大的計(jì)算能力和服務(wù)提供了可能。
計(jì)算能力和資源利用效率的迫切需求,資源的集中化和技術(shù)的進(jìn)步,推動(dòng)云計(jì)算應(yīng)運(yùn)而生。
2 2云計(jì)算的定義
為了更好地理解云計(jì)算,先讓我們舉個(gè)生活中的例子、這就好比是從古老的單臺(tái)發(fā)電機(jī)模式轉(zhuǎn)向了電廠集中供電的模式。 它意味著計(jì)算能力也可以作為一種商品進(jìn)行流通,就像煤氣、水電一樣,取用方便,費(fèi)用低廉,最大的不同在于,它是通 過互聯(lián)網(wǎng)進(jìn)行傳輸?shù)?。讓用戶通過高速互聯(lián)網(wǎng)租用計(jì)算資源,而不冉需要自己進(jìn)行大量的軟硬件投資。
許多計(jì)算技術(shù)研究人員和實(shí)踐者已經(jīng)嘗試著以各種各樣的方式定義云計(jì)算。
基于云計(jì)算的發(fā)展和我們對(duì)云計(jì)算的理解,我們給出如下定義:
云計(jì)算是一種新興的共享基礎(chǔ)架構(gòu)的方法。它統(tǒng)一管理大量的物理資源,并將這些資源虛擬化,形成一個(gè)巨大的虛擬化資 源池。云是一類并行和分布式的系統(tǒng),這些系統(tǒng)由一系列互聯(lián)的虛擬計(jì)算機(jī)組成。這些虛擬計(jì)算機(jī)是基于服務(wù)級(jí)別協(xié)議(供 應(yīng)者和消費(fèi)者之問協(xié)商確定)被動(dòng)態(tài)部署的,并且作為一個(gè)或多個(gè)統(tǒng)一的計(jì)算資源而存在。
云計(jì)算可以按照用戶對(duì)資源和計(jì)算能力的需求動(dòng)態(tài)部署虛擬資源,而不受物理資源的限制。用戶所有基于云的計(jì)算和應(yīng)用 工作在虛擬化的資源上,不需要關(guān)心這些資源部署在哪些物理資源上,用戶可以方便地變更對(duì)計(jì)算資源的需求。
2.3云計(jì)算的特點(diǎn)
從現(xiàn)有的云計(jì)算半臺(tái)來看,它與傳統(tǒng)的單機(jī)和網(wǎng)絡(luò)應(yīng)用模式相比,具有如下特點(diǎn):
1)虛擬化技術(shù):這是云計(jì)算最強(qiáng)調(diào)的特點(diǎn),包括資源虛擬化和應(yīng)用虛擬化。每一個(gè)應(yīng)用部署的環(huán)境和物理平臺(tái)是沒有關(guān)系 的。通過虛擬半臺(tái)進(jìn)行管理達(dá)到對(duì)應(yīng)用進(jìn)行擴(kuò)展、遷移、備份,操作均通過虛擬化層次完成。
2)動(dòng)態(tài)可擴(kuò)展:通過動(dòng)態(tài)擴(kuò)展虛擬化的層次達(dá)到對(duì)應(yīng)用進(jìn)行擴(kuò)展的目的。:可以實(shí)時(shí)將服務(wù)器加入到現(xiàn)有的服務(wù)器機(jī)群中 ,增加“云”的計(jì)算能力。
3)按需部署:用戶運(yùn)行不同的應(yīng)用需要不同的資源和計(jì)算能力。云計(jì)算平臺(tái)可以按照用戶的需求部署資源和計(jì)算能力。
4)高靈活性:現(xiàn)在大部分的軟件和硬件都對(duì)虛擬化有一定支持,各種IT資源,例如,軟件、
硬件、操作系統(tǒng)、存儲(chǔ)網(wǎng)絡(luò)等所有要素通過虛擬化,放在云計(jì)算虛擬資源池中進(jìn)行統(tǒng)一管理。同時(shí),能夠兼容不同硬件廠 商的產(chǎn)品,兼容低配置機(jī)器和外設(shè)而獲得高性能計(jì)算。
5)高可靠性:虛擬化技術(shù)使得用戶的應(yīng)用和計(jì)算分布在不同的物理服務(wù)器上面,即使單點(diǎn)服務(wù)器崩潰,仍然可以通過動(dòng)態(tài) 擴(kuò)展功能部署新的服務(wù)器作為資源和計(jì)算能力添加進(jìn)來,保證應(yīng)用和計(jì)算的正常運(yùn)轉(zhuǎn)。
3.1 發(fā)展中的云計(jì)算服務(wù)
目前,已經(jīng)涌現(xiàn)的云計(jì)算服務(wù)形態(tài)包括從技術(shù)、半臺(tái)供應(yīng)商到軟件服務(wù)提供商,從成熟的應(yīng)用
根據(jù)不同服務(wù)的特性可以將云計(jì)算分為以下幾種類型:
3 1 1云計(jì)算基礎(chǔ)架構(gòu)
這類云計(jì)算提供底層的技術(shù)平臺(tái)以及核心的云服務(wù),是最為全面的云計(jì)算服務(wù)。Amazon、Google等推出的云計(jì)算服務(wù)可以 歸于這類。這種云計(jì)算服務(wù)形態(tài)將支撐起整個(gè)互聯(lián)網(wǎng)的虛擬中心,使其能夠?qū)?nèi)存、I/O設(shè)備、存儲(chǔ)和計(jì)算能力集中起來成為一個(gè)虛擬的資源池為整個(gè)網(wǎng)絡(luò)提供服務(wù)。
3 1 2云計(jì)算半臺(tái)服務(wù)
這種形式的云計(jì)算也被稱為半臺(tái)即服務(wù)PaaS(Platfbrm as a Service),它將開發(fā)環(huán)境作為服務(wù)來提供。:這種形式的云計(jì) 算可以使用供應(yīng)商的基礎(chǔ)架構(gòu)來開發(fā)自己的程序,然后通過網(wǎng)絡(luò)從供應(yīng)商的服務(wù)器上傳遞給用戶。典型的實(shí)例比如 Salesforce com的Force tom開發(fā)半臺(tái)。
3 1 3云計(jì)算軟件服務(wù)
這種類型的云計(jì)算稱之為軟件即服務(wù)SaaS,它通過瀏覽器把程序傳給用戶。.從用戶的角度,這樣會(huì)省去在服務(wù)器和軟件 授干義上的開支;從供應(yīng)商的角度看,這樣只需要維持一個(gè)程序就夠了,減少了維護(hù)成本。Salesforce com是迄今為止這 類服務(wù)最為有名的公司。SaaS在CRM、ERP中比較常用,Google Apps和Zoho Office也提供類似的服務(wù)。
3. 1.4云計(jì)算API
這類服務(wù)供應(yīng)商提供API(Application Programming Interface)讓開發(fā)者能夠開發(fā)更多基于互聯(lián)網(wǎng)的應(yīng)用,幫助開發(fā)商拓 展功能和服務(wù),而不是只提供成熟的應(yīng)用軟件他們的服務(wù)范圍從提供分散的商業(yè)服務(wù)到Google Maps等的全套API服務(wù)。這 與軟件即服務(wù)有著密切的關(guān)系。
3. 1. 5云計(jì)算互動(dòng)半臺(tái)
該類云計(jì)算為用戶和提供商之問的互動(dòng)提供了一個(gè)半臺(tái)。例如,RightScale利用Amazon EC2網(wǎng)絡(luò)計(jì)算服務(wù)和s3網(wǎng)絡(luò)存儲(chǔ)服 務(wù)的API提供一個(gè)操作面板和AWS(Amazon’s Web Services)前端托管服務(wù)。
3.2幾個(gè)典型的云計(jì)算平臺(tái)
Morgan Stanley的研究表明云計(jì)算已經(jīng)成為突出的技術(shù)趨勢(shì)之一。隨著計(jì)算技術(shù)行業(yè)不斷出現(xiàn)的為個(gè)人和企業(yè)提供隨時(shí)隨 地按需方問的PaaS和SaaS,可利用的云計(jì)算平臺(tái)將不斷增加,很多研究單位和工業(yè)組織已經(jīng)開始研究開發(fā)云計(jì)算的相關(guān)技 術(shù)和基礎(chǔ)架構(gòu)。本節(jié)我們將比較幾個(gè)典型的云計(jì)算半臺(tái),如表l,并列部分云計(jì)算半臺(tái)進(jìn)行探討。
亞馬遜(Amazon tom)的云計(jì)算稱之為亞馬遜網(wǎng)絡(luò)服務(wù)(AWS),它主要由四塊核心服務(wù)組成:Simple Storage Service(簡(jiǎn)單 存儲(chǔ)服務(wù))、ElasticCompute Cloud(彈性計(jì)算云EC2)、Simple QueuingServices(簡(jiǎn)單排列服務(wù))以及SimpleDB(簡(jiǎn)單數(shù)據(jù)庫(kù)。換句話說,目前亞馬遜所提供的是可以通過網(wǎng)絡(luò)訪問的存儲(chǔ),計(jì)算機(jī)處理,信息排隊(duì)和數(shù)據(jù)庫(kù)管理系統(tǒng)接入式服務(wù) 。無論是個(gè)人還是大型企業(yè),只要是使用AWS的研發(fā)人員都可以在亞馬遜的基礎(chǔ)架構(gòu)上進(jìn)行應(yīng)用軟件的研發(fā)和交付,而無需實(shí)現(xiàn)配置軟件和服務(wù)器。
Google比一般網(wǎng)站更甲遭遇分布才能存儲(chǔ)的數(shù)據(jù)。凼此Google開發(fā)了特有的GFS(分布式文件系統(tǒng))、MapReduce(分布式計(jì)算 模型)和BigTable(分布式存儲(chǔ)系統(tǒng)),這正是Google“云”的基礎(chǔ)架構(gòu)。Google“云”是幾萬甚至大約100萬臺(tái)廉價(jià)的服務(wù)器所組成的網(wǎng)絡(luò)。Google的Google AppEngine允許用戶運(yùn)行使用Pythontn言編寫的席用程序。同時(shí),GoogleAppEngine 支持多種API,并為用戶提供基于Web的管理控制臺(tái),方便用戶管理他們的Web應(yīng)用程序。
IBM的“藍(lán)云(Blue Cloud)”基于Almaden研究中心的云基礎(chǔ)架構(gòu),包括虛擬化Linux服務(wù)器、并行一作負(fù)載安排(Hadoop)和 Tivoli管理軟件。“藍(lán)云”由IBM Tivoli軟件支持,通過管理服務(wù)器來確保基于需求的最佳性能。這包括能夠跨越多服務(wù) 器實(shí)時(shí)分配資源的軟件,為客戶帶來一種無縫體驗(yàn),加速性能并確保在最苛刻環(huán)境下的穩(wěn)定性。
此外,Sun公司推出“黑盒子”計(jì)劃,還有Salesforce、Oracle、EMC等公司加入進(jìn)來。但是每種半臺(tái)都有其優(yōu)點(diǎn)和局限性 。目前,云計(jì)算還沒有一個(gè)統(tǒng)一的標(biāo)準(zhǔn),雖然一些半臺(tái)已經(jīng)為很多用戶所使用,但是云計(jì)算在私有權(quán)、數(shù)據(jù)安全、IT業(yè)標(biāo)準(zhǔn)、廠商鎖定和高性能應(yīng)用軟件方面也面臨著各種問題,這些問題的解決需要技術(shù)的進(jìn)一步發(fā)展。
4云計(jì)算關(guān)鍵技術(shù)
按需部署是云計(jì)算的核心。要解決好按需部署,必須解決好資源的動(dòng)態(tài)可重構(gòu)、監(jiān)控和自動(dòng)化部署等、而這些又需要以虛 擬化技術(shù)、高性能存儲(chǔ)技術(shù)、處理器技術(shù)、高速互聯(lián)網(wǎng)技術(shù)為基礎(chǔ)。所以云計(jì)算除了需要仔細(xì)研究其體系結(jié)構(gòu)外,還要特 別注意研究資源的動(dòng)態(tài)可重構(gòu)、自動(dòng)化部署、資源監(jiān)控、虛擬化技術(shù)、高性能存儲(chǔ)技術(shù)、處理器技術(shù)等、本節(jié)將探討云計(jì) 算的體系結(jié)構(gòu)和部分關(guān)鍵技術(shù)。
4.1體系結(jié)構(gòu)
為了有效支持云計(jì)算,半臺(tái)的體系結(jié)構(gòu)必須支持幾個(gè)關(guān)鍵特征。首先,這些系統(tǒng)必須是自治的,也就是說,它們需要內(nèi)嵌 有自動(dòng)化技術(shù),減輕或消除人工部署和管理任務(wù),而允許平臺(tái)自己智能地響應(yīng)應(yīng)用的要求其次,云計(jì)算架構(gòu)必須是敏捷的,能夠?qū)π枨笮盘?hào)或變化的一作負(fù)載做出迅疾的反應(yīng)。換句話說,內(nèi)嵌的虛擬化技術(shù)和集群化技術(shù),能應(yīng)付增長(zhǎng)或服務(wù)級(jí) 要求的快速變化。
云計(jì)算平臺(tái)的體系結(jié)構(gòu)如圖1,是一個(gè)云服務(wù)器的互連網(wǎng)絡(luò)圖:
·服務(wù)目錄:用戶可選擇的服務(wù)列表。
·部署工具:自治的,根據(jù)用戶請(qǐng)求智能地部署資源和應(yīng)用,動(dòng)態(tài)地部署、配置和回收資源。
·監(jiān)控:監(jiān)控云系統(tǒng)資源的使用情況,以便做出迅疾的反應(yīng)。
·服務(wù)器集群:虛擬的或者物理的服務(wù)器,由管理系統(tǒng)管理。
4.2自動(dòng)化部署
自動(dòng)化部署,是指通過自動(dòng)安裝和部署,將計(jì)算資源從原始狀態(tài)變?yōu)榭捎脿顟B(tài)。在云計(jì)算中體現(xiàn)為將虛擬資源池中的資源 進(jìn)行劃分、安裝和部署成可以為用戶提供各種服務(wù)和應(yīng)用的過程。這里的資源包括硬件資源(服務(wù)器)、軟件資源(用戶需要的軟件和配置),還有網(wǎng)絡(luò)資源和存儲(chǔ)資源。
系統(tǒng)資源的部署需要多個(gè)步驟,自動(dòng)化部署通過凋用腳本,實(shí)現(xiàn)不同廠商設(shè)備管理工具的自動(dòng)配置、應(yīng)用軟件的部署和配 置,確保這些調(diào)用過程可以以靜默的方式實(shí)現(xiàn),免除了大量的人機(jī)交互,使得部署過程不再依賴于現(xiàn)場(chǎng)人工操作。整個(gè)部 署過程基于工作流來實(shí)現(xiàn),如圖2所示:
其中,工作流引擎和數(shù)據(jù)模型是我們?cè)谧詣?dòng)化部署管理工具中涉及的功能模塊,通過將具體的軟硬件甚至邏輯概念定義在 數(shù)據(jù)模型中,管理工具可以標(biāo)識(shí)并在工作流中調(diào)度這些資源,實(shí)現(xiàn)分類管理。工作流引擎是調(diào)用和觸發(fā)工作流,實(shí)現(xiàn)部署 自動(dòng)化的核心機(jī)制,自動(dòng)將不同種類的腳本流程整合在一個(gè)集中、可重復(fù)使用的工作流數(shù)據(jù)庫(kù)中。這些工作流可以自動(dòng)完 成原來需要手工完成的服務(wù)器、操作系統(tǒng)、中問件、應(yīng)用程序、存儲(chǔ)器和網(wǎng)絡(luò)設(shè)備的供廊和配置任務(wù)。
4 3資源監(jiān)控
“云”通常具有大量服務(wù)器,并且資源是動(dòng)態(tài)變化的,需要文時(shí)、準(zhǔn)確、動(dòng)態(tài)的資源信息。資源監(jiān)控可以為“云”對(duì)資源 的動(dòng)態(tài)部署提供依據(jù),并有效地監(jiān)控資源的使用情況和負(fù)載情況。
資源監(jiān)控是實(shí)現(xiàn)“云”資源管理的一個(gè)重要環(huán)節(jié)。它可提供對(duì)系統(tǒng)資源的實(shí)時(shí)監(jiān)控,并為其它子系統(tǒng)提供系統(tǒng)性能信息, 以便更好地完成系統(tǒng)資源的分配。
云計(jì)算通過一個(gè)監(jiān)視服務(wù)器監(jiān)控和管理計(jì)算資源池中的所有資源通過在云中的各個(gè)服務(wù)器上部署Agent代理程序,配置并監(jiān) 視各資源服務(wù)器,并定期將資源使用信息數(shù)據(jù)傳送至數(shù)掂倉(cāng)庫(kù)。監(jiān)視服務(wù)器列數(shù)據(jù)倉(cāng)庫(kù)中的“云”資源使用數(shù)據(jù)進(jìn)行分析 ,跟蹤資源的可用性和性能,并為問題故障的排除和資源的均衡提供信息。
5結(jié)束語
目前,云計(jì)算還處于起步階段,毫無疑問云計(jì)算前景光明。它可能徹底改變用戶對(duì)計(jì)算資源的使用方式,使得用戶從以桌 面為核心轉(zhuǎn)向以Web為核心。在本文中,我們已經(jīng)討論了云計(jì)算的現(xiàn)有服務(wù),對(duì)比分析了現(xiàn)有的云計(jì)算平臺(tái)、隨著云計(jì)算的發(fā)展,將會(huì)有更多的平臺(tái)和服務(wù)類型不斷涌現(xiàn)。
云計(jì)算不僅僅是一個(gè)計(jì)算問題,它需要融合許多技術(shù)和成果。本文探討了云計(jì)算的部分關(guān)鍵技術(shù),還有更多的技術(shù)需要繼 續(xù)研究。在Google與IBM的支持下,美國(guó)的多所大學(xué)參與到云計(jì)算的研究及教學(xué)中,包括卡內(nèi)基梅隆大學(xué)、麻省理工學(xué)院、 斯坦福大學(xué)、加州大學(xué)伯克利分校、馬克蘭大學(xué)和華盛頓大學(xué)等。國(guó)內(nèi)也有學(xué)校加入到這個(gè)研究計(jì)劃中。
我們相信,隨著越來越多的參與者加入到云計(jì)算的研究與發(fā)展中,云計(jì)算會(huì)出現(xiàn)一些新的結(jié)構(gòu)模式、開發(fā)平臺(tái)和應(yīng)用軟件 ,推動(dòng)云計(jì)算及其應(yīng)用日益走向成熟。
聯(lián)系客服