樊峰鑫 牛曉博
(海軍士官學(xué)校信息通信系,安徽蚌埠 233012)
云計(jì)算是當(dāng)前互聯(lián)網(wǎng)技術(shù)領(lǐng)域的一個(gè)熱點(diǎn),它的出現(xiàn)宣告了低成本提供超級(jí)計(jì)算時(shí)代的到來(lái),作為新一代互聯(lián)網(wǎng)計(jì)算資源的基石,云計(jì)算支撐著互聯(lián)網(wǎng)幾乎所有的上層數(shù)據(jù)處理系統(tǒng),無(wú)論是大數(shù)據(jù)還是人工智能以及其它各類(lèi)應(yīng)用場(chǎng)景,都需要依托去云計(jì)算提供的基礎(chǔ)設(shè)施來(lái)運(yùn)行,了解云計(jì)算技術(shù)已是專(zhuān)業(yè)人士必須了解的技術(shù),本文以通俗易懂的語(yǔ)言對(duì)云計(jì)算技術(shù)及其服務(wù)形式進(jìn)行分析,并對(duì)云計(jì)算和大數(shù)據(jù)、人工智能之間的關(guān)系進(jìn)行了簡(jiǎn)單闡述,以期加深讀者對(duì)于互聯(lián)網(wǎng)領(lǐng)域幾個(gè)熱點(diǎn)技術(shù)的了解。
云計(jì)算最初的目標(biāo)是對(duì)資源的管理,包括計(jì)算資源、網(wǎng)絡(luò)資源以及存儲(chǔ)資源。
計(jì)算資源一般指程序運(yùn)行時(shí)所需的CPU資源、內(nèi)存資源。
網(wǎng)絡(luò)資源主要指各種設(shè)備接入網(wǎng)絡(luò)所通過(guò)的媒介,例如線路、帶寬等。
存儲(chǔ)資源指存儲(chǔ)設(shè)備的空間,例如100G、1T、10T等。
對(duì)于一臺(tái)電腦是這個(gè)樣子,對(duì)于一個(gè)數(shù)據(jù)中心也是同樣的,可以想象一個(gè)企業(yè)有一個(gè)很大的機(jī)房,里面堆了很多服務(wù)器,可以為各種業(yè)務(wù)提供服務(wù),數(shù)據(jù)中心的管理人員是怎么把這些設(shè)備統(tǒng)一管理起來(lái)呢?管理的目標(biāo)就是要達(dá)到資源配置的靈活性,包括時(shí)間的靈活性和空間的靈活性。
時(shí)間的靈活性:想什么時(shí)候用就什么時(shí)候用,需要用的時(shí)候隨時(shí)一點(diǎn)便可實(shí)現(xiàn)。
空間的靈活性:想要多少就有多少,例如云盤(pán),可以滿(mǎn)足隨時(shí)上傳隨時(shí)有空間可以用。
時(shí)間和空間的靈活性即我們常說(shuō)的云計(jì)算的彈性,然而一開(kāi)始物理設(shè)備并不能做到很好的靈活性,比如買(mǎi)臺(tái)服務(wù)器或計(jì)算機(jī)都需要采購(gòu)的時(shí)間,如果用戶(hù)告訴某個(gè)云廠商需要開(kāi)臺(tái)電腦使用某種配置的物理服務(wù)器,那么當(dāng)時(shí)去采購(gòu)就很難,時(shí)間靈活性非常差。另外空間靈活性也不夠,比如用戶(hù)需要一個(gè)市場(chǎng)上已經(jīng)找不到的配置較低的電腦,此時(shí)為了滿(mǎn)足用戶(hù)去買(mǎi)一個(gè)市場(chǎng)上有的配置較高的,便會(huì)造成資源和金錢(qián)的雙重浪費(fèi)。那么如何解決靈活性的問(wèn)題呢?
虛擬化技術(shù)[1]通俗點(diǎn)說(shuō)就是使得不同客戶(hù)的電腦看起來(lái)是隔離的,但實(shí)際是落在一臺(tái)設(shè)備上,比如一個(gè)用戶(hù)看起來(lái)有一個(gè)10G的硬盤(pán),另一個(gè)用戶(hù)也看著自己有一個(gè)10G的硬盤(pán),但實(shí)際這兩個(gè)10G是落在同一個(gè)很大的存儲(chǔ)上的。實(shí)現(xiàn)虛擬化比較早的一家公司就是VMware,它可以實(shí)現(xiàn)計(jì)算、網(wǎng)絡(luò)、存儲(chǔ)的虛擬化。虛擬化軟件并沒(méi)有完全解決靈活性的問(wèn)題,因?yàn)樗话銊?chuàng)建一臺(tái)虛擬的電腦,是需要人工指定這臺(tái)虛擬電腦放在哪臺(tái)物理機(jī)上的,這一過(guò)程還需要比較復(fù)雜的人工配置,所以虛擬化軟件所能管理的物理機(jī)的集群規(guī)模并不大,一般在十幾臺(tái)、幾十臺(tái)。當(dāng)用戶(hù)數(shù)量越來(lái)越多時(shí),這樣集群的規(guī)模便遠(yuǎn)遠(yuǎn)達(dá)不到想要多少有多少的需求,所以隨著集群規(guī)模的不斷增大,甚至達(dá)到幾十上百萬(wàn)臺(tái)時(shí),這么多機(jī)器如果靠人工去進(jìn)行虛擬化電腦的配置,便幾乎是不可能的事了,于是人們發(fā)明了各種各樣的算法來(lái)做這個(gè)事。這類(lèi)算法叫做調(diào)度(Scheduler)。
調(diào)度[2]是指在特定的資源環(huán)境下,根據(jù)一定的資源使用規(guī)則,在不同的資源使用者之間進(jìn)行資源調(diào)整的過(guò)程。通俗一點(diǎn)說(shuō),調(diào)度就是指幾千臺(tái)機(jī)器都在一個(gè)池子里,根據(jù)用戶(hù)對(duì)虛擬機(jī)配置的具體需求,調(diào)度中心會(huì)自動(dòng)在大池子里找一個(gè)能夠滿(mǎn)足用戶(hù)需求的地方,用戶(hù)就直接可以用了,我們稱(chēng)之為池化或者云化,虛擬化和云化技術(shù)的結(jié)合才可稱(chēng)為云計(jì)算。此前階段都只能稱(chēng)為虛擬化。
根據(jù)云計(jì)算服務(wù)對(duì)象范圍的不同,云計(jì)算主要有兩種部署模式[3],一種是私有云,一種是公有云。
私有云:私有云指為一個(gè)企業(yè)或組織提供專(zhuān)用的云環(huán)境,通俗點(diǎn)說(shuō)就是云廠商根據(jù)用戶(hù)需求將虛擬化和云化技術(shù)部署在用戶(hù)自己數(shù)據(jù)中心里面,私有云的使用對(duì)象通常為政府機(jī)構(gòu)、金融機(jī)構(gòu)以及其他希望對(duì)環(huán)境擁有控制權(quán)的中大型組織。
公有云:云供應(yīng)商將虛擬化及云化技術(shù)部署在自己的數(shù)據(jù)中心里為用戶(hù)提供服務(wù),用戶(hù)可以付費(fèi)進(jìn)行“租用”,公有云中,所有的“租戶(hù)”共享相同的硬件、網(wǎng)絡(luò)和存儲(chǔ)資源。常見(jiàn)的公有云供應(yīng)商有阿里云、騰訊云等。
云計(jì)算服務(wù)是分層的,大概分為:基礎(chǔ)設(shè)施層、平臺(tái)層、軟件層,即我們通常聽(tīng)到的IaaS、PaaS、SaaS,這個(gè)三層的分法主要是從用戶(hù)體檢的角度出發(fā)的。
Infrastructure-as-a-Service(基礎(chǔ)設(shè)施即服務(wù)),用戶(hù)無(wú)需花費(fèi)高額成本購(gòu)買(mǎi)基礎(chǔ)設(shè)施,可通過(guò)租用方式使用云服務(wù)商提供的基礎(chǔ)設(shè)施,如服務(wù)器、存儲(chǔ)資源、網(wǎng)絡(luò)資源,后期自己安裝操作系統(tǒng)、管理應(yīng)用程序。這種模式下用戶(hù)節(jié)省了對(duì)基礎(chǔ)設(shè)施的高成本投入。以解決住房需求為例,IaaS就相當(dāng)于直接購(gòu)買(mǎi)毛坯房,節(jié)省了蓋房子的過(guò)程。IaaS主要的用戶(hù)是系統(tǒng)管理員。
IaaS云有以下七個(gè)基本功能[4]:
(1)資源抽象:使用資源抽象的方法(如資源池)更好地調(diào)度和管理物理資源。
(2)資源監(jiān)控:通過(guò)對(duì)資源的監(jiān)控,能夠保證基礎(chǔ)設(shè)施高效率的運(yùn)行。
(3)負(fù)載管理:通過(guò)負(fù)載管理,不僅能使部署在基礎(chǔ)設(shè)施上的應(yīng)用更好地應(yīng)對(duì)突發(fā)情況,而且還能更好地利用系統(tǒng)資源。
(4)數(shù)據(jù)管理:對(duì)于云計(jì)算而言,數(shù)據(jù)的完整性、可靠性和可管理性是對(duì)IaaS的基本要求。
(5)資源部署:也就是將整個(gè)資源從創(chuàng)建到使用的流程自動(dòng)化。
(6)安全管理:IaaS的安全管理的主要目標(biāo)是保證基礎(chǔ)設(shè)施和其提供的資源能被合法地訪問(wèn)和使用。
(7)計(jì)費(fèi)管理:通過(guò)細(xì)致的計(jì)費(fèi)管理能使用戶(hù)更靈活地使用資源。
Platform-as-a-Service(平臺(tái)即服務(wù)),云服務(wù)商提供基礎(chǔ)設(shè)施服務(wù)的同時(shí)也提供平臺(tái)軟件層,包括操作系統(tǒng)、數(shù)據(jù)庫(kù)、中間件和運(yùn)行庫(kù),這種模式下用戶(hù)只需負(fù)責(zé)管理應(yīng)用軟件即可,而且不論是在部署或者在運(yùn)行的時(shí)候,用戶(hù)都無(wú)需為服務(wù)器、操作系統(tǒng)、網(wǎng)絡(luò)和存儲(chǔ)等資源的管理操心,這些繁瑣的工作都由PaaS供應(yīng)商負(fù)責(zé)處理。這就好比直接購(gòu)買(mǎi)了簡(jiǎn)裝房,只需在此基礎(chǔ)上完善房子的功能即可。PaaS主要的用戶(hù)是開(kāi)發(fā)人員。
為了支撐整個(gè)PaaS平臺(tái)的運(yùn)行,供應(yīng)商需要提供以下四大功能:
(1)友好的開(kāi)發(fā)環(huán)境:通過(guò)提供SDK和IDE等工具讓用戶(hù)能在本地進(jìn)行應(yīng)用的開(kāi)發(fā)和測(cè)試。
(2)豐富的服務(wù):PaaS平臺(tái)會(huì)以API的形式將各種各樣的服務(wù)提供給上層的應(yīng)用。
(3)自動(dòng)的資源調(diào)度:也就是可伸縮性,不僅能優(yōu)化系統(tǒng)資源,而且能自動(dòng)調(diào)整資源來(lái)幫助運(yùn)行于其上的應(yīng)用更好地應(yīng)對(duì)突發(fā)流量。
(4)精細(xì)的管理和監(jiān)控:通過(guò)PaaS能夠提供應(yīng)用層的管理和監(jiān)控,比如,能夠觀察應(yīng)用運(yùn)行的情況和具體數(shù)值(如吞吐量、反映時(shí)間)來(lái)更好地衡量應(yīng)用的運(yùn)行狀態(tài),還有能夠通過(guò)精確計(jì)量應(yīng)用使用所消耗的資源來(lái)更好地計(jì)費(fèi)。
Software-as-a-Service(軟件即服務(wù)),云服務(wù)商將應(yīng)用軟件統(tǒng)一部署在自己的服務(wù)器上,用戶(hù)只要接上網(wǎng)絡(luò)通過(guò)瀏覽器就能直接使用在云端上運(yùn)行的應(yīng)用,而不需要顧慮類(lèi)似安裝等瑣事,并且免去初期高昂的軟硬件投入。就像購(gòu)買(mǎi)了精裝房一樣,直接拎包入住即可。SaaS主要面對(duì)的是普通的用戶(hù)。
要實(shí)現(xiàn)SaaS服務(wù),供應(yīng)商需完成以下四個(gè)方面的功能:
(1)隨時(shí)隨地訪問(wèn):在任何時(shí)候或者任何地點(diǎn),只要接上網(wǎng)絡(luò),用戶(hù)就能訪問(wèn)SaaS服務(wù)。
(2)支持公開(kāi)協(xié)議:通過(guò)支持公開(kāi)協(xié)議(如HTML等),能夠方便用戶(hù)使用。
(3)安全保障:SaaS服務(wù)商需要提供一定的安全機(jī)制,不僅要使存儲(chǔ)在云端的用戶(hù)數(shù)據(jù)絕對(duì)安全,而且也要在客戶(hù)端實(shí)施一定的安全機(jī)制來(lái)保護(hù)用戶(hù)。
(4)多住戶(hù)機(jī)制:通過(guò)多住戶(hù)機(jī)制,不僅能更經(jīng)濟(jì)地支撐龐大的用戶(hù)規(guī)模,而且能提供一定的可定制性以滿(mǎn)足用戶(hù)的特殊需求。
說(shuō)起云計(jì)算,總是不可避免地聯(lián)想到大數(shù)據(jù)與人工智能,它們是當(dāng)下互聯(lián)網(wǎng)技術(shù)領(lǐng)域最熱門(mén)的幾個(gè)技術(shù),它們之間相互促進(jìn)相互發(fā)展,這里用比較淺顯的語(yǔ)言描述三者間的關(guān)系方便大家的理解。
云計(jì)算是將服務(wù)器、存儲(chǔ)器、存儲(chǔ)設(shè)備以及網(wǎng)絡(luò)資源等打包成云端,為客戶(hù)提供相關(guān)的按使用量付費(fèi)的模式。
大數(shù)據(jù)則是將結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)形成的所有數(shù)據(jù)整合起來(lái),用以發(fā)現(xiàn)數(shù)據(jù)背后相關(guān)關(guān)系的信息資產(chǎn)。
人工智能(AI)概念比較廣泛,一言蔽之就是讓計(jì)算機(jī)或機(jī)器能夠模擬人類(lèi)思考和智能行為的一種理論方法和技術(shù)。
這三個(gè)概念中最早提出的應(yīng)該是人工智能的概念,這一詞最早是在1956年的一次國(guó)際會(huì)議上提出。但在往后的40年里,人工智能的研究一直沒(méi)有很大的突破,其原因是當(dāng)時(shí)的硬件和數(shù)據(jù)量的限制。在這里就要引入一個(gè)新的名詞,叫做機(jī)器學(xué)習(xí)。機(jī)器學(xué)習(xí)是人工智能的核心,使計(jì)算機(jī)具有智能的根本途徑,它主要使用歸納的方法。所謂歸納,可以理解為不斷輸入數(shù)據(jù),然后從輸入的大量數(shù)據(jù)中學(xué)習(xí)出規(guī)矩,最終得到一個(gè)輸出。
實(shí)現(xiàn)人工智能需要大量的數(shù)據(jù),上世紀(jì)90年代隨著個(gè)人計(jì)算機(jī)的普及,數(shù)據(jù)的收集和存儲(chǔ)變得越來(lái)越容易,直到如今,人類(lèi)已經(jīng)進(jìn)入大數(shù)據(jù)時(shí)代。在大數(shù)據(jù)時(shí)代如果只靠自己的個(gè)人計(jì)算機(jī)去計(jì)算這個(gè)龐大的數(shù)據(jù),根本無(wú)法實(shí)現(xiàn),這時(shí)云計(jì)算做為一種基礎(chǔ)設(shè)施,全面支撐大數(shù)據(jù)技術(shù),通過(guò)服務(wù)商提供的大量服務(wù)器進(jìn)行“核爆炸”式的計(jì)算并將結(jié)果返回。
用層次結(jié)構(gòu)來(lái)描述三者間關(guān)系,云計(jì)算為底層,為產(chǎn)品提供硬件服務(wù)的支撐;大數(shù)據(jù)位于第二層,對(duì)數(shù)據(jù)進(jìn)行分析,讓數(shù)據(jù)產(chǎn)生價(jià)值;最頂層是人工智能,根據(jù)大批量的數(shù)據(jù),實(shí)現(xiàn)機(jī)器的智能化決策。三者之間相輔相成,互相促進(jìn),并將深刻改變我們的世界。
如今我們正處于信息科技和信息化井噴式發(fā)展的時(shí)代,云計(jì)算、大數(shù)據(jù)、人工智能作為時(shí)代熱門(mén)話題,它們之間不是獨(dú)立存在的,隨著技術(shù)的不斷延伸發(fā)展,三者之間的邊界越來(lái)越模糊,這是發(fā)展與需求產(chǎn)生的自然趨勢(shì),對(duì)于我們來(lái)說(shuō),只有弄清楚它們的本質(zhì),抓住機(jī)遇,跟上趨勢(shì),創(chuàng)新發(fā)展,才能在高科技的發(fā)展大潮中立于不敗之地。