王曉燕
(陜西工商職業(yè)學(xué)院教務(wù)處,陜西 西安 710119)
隨著互聯(lián)網(wǎng)的發(fā)展,信息化在各個(gè)領(lǐng)域開花結(jié)果,越來越多的人把越來越多的事情交給互聯(lián)網(wǎng)來處理。在不斷提升互聯(lián)網(wǎng)用戶工作效率和生活質(zhì)量的同時(shí),對(duì)于互聯(lián)網(wǎng)應(yīng)用提供商來說,數(shù)據(jù)量和計(jì)算的壓力也越來越大。為了提供更高質(zhì)量的服務(wù),互聯(lián)網(wǎng)提供商的機(jī)房被不斷擴(kuò)建,更多的計(jì)算機(jī)和相關(guān)設(shè)備被生產(chǎn)出來,并部署在這些機(jī)房,隨之而來的自然是避免不了的高額成本。這里的成本不止是維持一個(gè)服務(wù)器集群所需要的電力、冷卻和互聯(lián)網(wǎng)帶寬等維護(hù)成本,還有越來越高的投入門檻——對(duì)于成長(zhǎng)型的網(wǎng)站,建立服務(wù)器集群的初始投資正在困擾著那些心懷創(chuàng)意的網(wǎng)站創(chuàng)業(yè)者。
對(duì)于互聯(lián)網(wǎng)應(yīng)用的代表之一,電子商務(wù)網(wǎng)站即“在線商城”,即便在花費(fèi)巨額資金之后擺脫了上述困擾,又開始遭遇耗費(fèi)不菲的人力物力搭建和維護(hù)的大量計(jì)算資源在很長(zhǎng)的時(shí)間段內(nèi)卻被閑置和浪費(fèi)的困境。在傳統(tǒng)的模式下,為了滿足以國慶,春節(jié)甚至11月11日“光棍節(jié)”為代表的節(jié)假日里,突發(fā)客流高峰下系統(tǒng)仍然可以為客戶提供可接受的用戶體驗(yàn)的要求,在線商城提供商必須部署一個(gè)可以滿足最高峰客流的服務(wù)器集群,而在這些假期結(jié)束之后,這個(gè)集群將會(huì)以很低的資源占用率運(yùn)行,長(zhǎng)期的看,維護(hù)和購置成本存在巨大的浪費(fèi)。如何才能擁有一個(gè)“彈性”——也就是高可用和高擴(kuò)展性——的計(jì)算資源,可以在高峰到來時(shí)增加計(jì)算資源以獲取更好的用戶體驗(yàn),而在低谷時(shí)減少計(jì)算資源以節(jié)約運(yùn)維成本?這是擺在每一個(gè)電子商務(wù)網(wǎng)站甚至每一個(gè)互聯(lián)網(wǎng)應(yīng)用的開發(fā)者和維護(hù)者面前的巨大挑戰(zhàn)。除此之外,現(xiàn)有的電子商務(wù)網(wǎng)站多數(shù)建立于數(shù)年前,已經(jīng)擁有穩(wěn)定的客流,雖然期望通過改造實(shí)現(xiàn)高擴(kuò)展性和可用性來解決目前的危機(jī),但是因?yàn)橐刂仆顿Y規(guī)模和降低風(fēng)險(xiǎn),仍然希望盡可能少的對(duì)現(xiàn)有系統(tǒng)進(jìn)行調(diào)整。
在盡可能少的對(duì)現(xiàn)有系統(tǒng)進(jìn)行修改的前提下,探索一條基于云計(jì)算技術(shù)解決這個(gè)難題的途徑,這就是本文的主要研究目的。
面對(duì)上文談到的挑戰(zhàn),人們嘗試通過使用計(jì)算能力更強(qiáng)大的計(jì)算機(jī),效率更高的基礎(chǔ)軟件,如操作系統(tǒng),服務(wù)器和數(shù)據(jù)庫等來解決問題,但是這些顯然無法從根本上實(shí)現(xiàn)“彈性”。于是,業(yè)內(nèi)人士普遍認(rèn)為,互聯(lián)網(wǎng)提供商需要更加徹底的技術(shù)變革[1]。這種變革主要體現(xiàn)在兩個(gè)方面,云計(jì)算的興起和BASE(基本可用,軟狀態(tài)及最終一致)風(fēng)格[2]的形成。
這場(chǎng)變革是從虛擬化技術(shù)的普及開始的。虛擬化實(shí)現(xiàn)了資源的邏輯抽象和統(tǒng)一表示,大大降低了管理復(fù)雜度,提高了資源利用率和運(yùn)營效率,從而有效地控制了IT的成本。
但是只有這些是不夠的,硬件的虛擬化需要構(gòu)建數(shù)據(jù)中心,所以硬件采購、軟件安裝、系統(tǒng)維護(hù)等環(huán)節(jié)也是避免不了的。于是,租借數(shù)據(jù)中心成為了解決剩余問題的法寶。就像上個(gè)世紀(jì)早期,人們從自備發(fā)電機(jī)發(fā)電轉(zhuǎn)向使用發(fā)電廠提供給公眾的電能,向面向公眾開放的數(shù)據(jù)中心租借抽象后的虛擬化計(jì)算資源來搭建自己的信息化系統(tǒng)開始替代自己建立和維護(hù)數(shù)據(jù)中心。這樣,對(duì)數(shù)據(jù)中心有很大需求的互聯(lián)網(wǎng)提供商,比如電子商務(wù)網(wǎng)站可以擺脫對(duì)數(shù)據(jù)中心的搭建和維護(hù),只需要向計(jì)算資源租賃服務(wù)的提供者 (就是下文談到的云計(jì)算提供商)租借統(tǒng)一的計(jì)算單元就可以承載自己的計(jì)算任務(wù)了。這樣,電子商務(wù)網(wǎng)站在遇到淡季時(shí)少租借一些,而旺季多租借一些計(jì)算單元就可以初步實(shí)現(xiàn)上文提到的彈性計(jì)算。因?yàn)樽鳛橛?jì)算資源的使用者并不了解自己使用的計(jì)算資源來自什么樣的計(jì)算機(jī)和網(wǎng)絡(luò)結(jié)構(gòu),這些信息都被互聯(lián)網(wǎng)隔離而且不需要使用者關(guān)注,人們形象的稱這種提供計(jì)算資源的服務(wù)為“云計(jì)算”。
總之,云計(jì)算是一種采用創(chuàng)新的計(jì)算模式可以使用戶對(duì)計(jì)算和服務(wù)取用自由、按量付費(fèi)。一般的說,云計(jì)算有3個(gè)最基本的特征:第一是基礎(chǔ)設(shè)施架構(gòu)在大規(guī)模的服務(wù)器集群之上;第二是應(yīng)用程序與底層服務(wù)協(xié)作開發(fā),最大限度地利用資源;第三是通過多個(gè)服務(wù)器之間的冗余,通過軟件獲得高可用性。[3]
根據(jù)云計(jì)算提供商提供服務(wù)的層次和對(duì)平臺(tái)架構(gòu)的隔離程度,業(yè)界將云計(jì)算分為以下三個(gè)層次:基礎(chǔ)設(shè)施即服務(wù) (IaaS),平臺(tái)即服務(wù) (PaaS)和軟件即服務(wù) (SaaS)[4],三者的層次如圖1所示。
圖1 :云計(jì)算的分層[5]
基礎(chǔ)設(shè)施即服務(wù) (IaaS):這個(gè)層次的云計(jì)算服務(wù)涵蓋了計(jì)算機(jī)硬件,網(wǎng)絡(luò)設(shè)施,安全保障,備份冗余等基礎(chǔ)設(shè)施。使用IaaS的用戶面對(duì)的是一臺(tái)虛擬化的機(jī)器,只需要自行安裝和管理操作系統(tǒng),服務(wù)器軟件,自身業(yè)務(wù)系統(tǒng)即可。IaaS是云計(jì)算的基礎(chǔ)。直接使用的話,IaaS的主要優(yōu)點(diǎn)是對(duì)現(xiàn)有系統(tǒng)的影響最小;缺點(diǎn)是進(jìn)行計(jì)算量伸縮 (增加或減小計(jì)算能力)有明顯的時(shí)間間隔,沒有實(shí)現(xiàn)無縫伸縮。IaaS的代表有美國亞馬遜公司提供的EC2計(jì)算服務(wù),日本IIJ株式會(huì)社提供的IIJ GIO服務(wù)等。
平臺(tái)即服務(wù) (PaaS):這個(gè)層次的云計(jì)算服務(wù)是在IaaS的基礎(chǔ)上增加了操作系統(tǒng),數(shù)據(jù)庫系統(tǒng),服務(wù)器軟件和一些中間件。使用PaaS的用戶面對(duì)的是一個(gè)運(yùn)行平臺(tái),只需要部署和維護(hù)基于該平臺(tái)開發(fā)的系統(tǒng)即可。PaaS的主要優(yōu)點(diǎn)是可以實(shí)現(xiàn)計(jì)算量隨使用需求自由增大和縮小,并按照使用量進(jìn)行計(jì)費(fèi),真正實(shí)現(xiàn)了無縫伸縮;缺點(diǎn)是使用者需要根據(jù)云計(jì)算提供商的平臺(tái)進(jìn)行系統(tǒng)開發(fā)或改造。PaaS的代表有美國微軟公司提供的Windows Azure平臺(tái),美國谷歌公司提供的AppEngine平臺(tái)等[5]。
軟件即服務(wù) (SaaS):SaaS是云計(jì)算在最終用戶面前的展現(xiàn)形式,最終用戶不需要關(guān)心系統(tǒng)的細(xì)節(jié),只需要通過互聯(lián)網(wǎng)直接使用即可。因?yàn)檫@個(gè)層次的云計(jì)算是直接面對(duì)最終用戶的,在本文中就不進(jìn)行深入探討了。SaaS的代表有美國Salesforce公司提供的在線CRM網(wǎng)站等。
除了以云計(jì)算為代表的計(jì)算和商業(yè)模式的創(chuàng)新,業(yè)務(wù)處理的模型也在發(fā)生著轉(zhuǎn)型。為了應(yīng)對(duì)軟件系統(tǒng)對(duì)擴(kuò)展性等的要求,2000年7月19日,Eric Brewer教授 (現(xiàn)執(zhí)教于加州大學(xué)伯克利分校)在ACM研討會(huì)上提出了著名的CAP理論“任何分布式系統(tǒng)在一致性,可用性和分區(qū)容錯(cuò)性 (可以理解為可擴(kuò)展性)三者中只能滿足兩者”[6],隨后學(xué)術(shù)界對(duì)這個(gè)理論進(jìn)行了證明[7]。后來因?yàn)闃I(yè)務(wù)的快速膨脹,一些成長(zhǎng)型的網(wǎng)站開始陸續(xù)遭遇CAP原則帶來的困境——傳統(tǒng)的設(shè)計(jì)思想中維持強(qiáng)一致性是首要任務(wù),這樣的系統(tǒng)中可用性和分區(qū)容錯(cuò)性很難得到保證。根據(jù)業(yè)務(wù)的需要,多數(shù)網(wǎng)站開始尋求在對(duì)一致性做出一定退讓的前提下,提高可用性和分區(qū)容錯(cuò)性的解決方案。于是以業(yè)務(wù)分區(qū)為代表的一系列反傳統(tǒng)設(shè)計(jì)范式的技術(shù)方案開始被大規(guī)模應(yīng)用。在這個(gè)反傳統(tǒng)的浪潮中,eBay公司的架構(gòu)師Dan Pritchett博士于2008年用BASE風(fēng)格(基本可用、軟連接和最終一致性)這個(gè)概念深入總結(jié)了適度犧牲一致性換取高可用和高擴(kuò)展性的技術(shù)思想[2],BASE風(fēng)格也就成為了解決高可用和高擴(kuò)展性的新選擇。
理論上的進(jìn)步帶來了技術(shù)的進(jìn)一步發(fā)展。早在BASE風(fēng)格被總結(jié)歸納之前,亞馬遜公司就推出了基于BASE風(fēng)格設(shè)計(jì)的Amazon S3數(shù)據(jù)服務(wù),并且引入了對(duì)用戶屏蔽數(shù)據(jù)庫物理結(jié)構(gòu),根據(jù)實(shí)際使用量付費(fèi)的新運(yùn)營模式。后來,這種對(duì)擴(kuò)展性更加友好的技術(shù)思想伴隨著擁有高可用性和擴(kuò)展性的云計(jì)算平臺(tái),讓互聯(lián)網(wǎng)服務(wù)提供商,尤其是成長(zhǎng)型的網(wǎng)站看到了低成本解決可用性和擴(kuò)展性的新思路。
綜上所述,在解決高可用及高擴(kuò)展性計(jì)算方面,國內(nèi)外的專家學(xué)者以及工程師們正在尋找多種解決方案。云計(jì)算平臺(tái)解決了計(jì)算和商業(yè)模式的問題,BASE風(fēng)格解決了業(yè)務(wù)邏輯中常見的與云計(jì)算相沖突的部分。作者認(rèn)為,理論上講,只要按照BASE原則設(shè)計(jì)和實(shí)現(xiàn)網(wǎng)站系統(tǒng),然后在云計(jì)算平臺(tái)——尤其是擴(kuò)展性和可用性更好的PaaS——上部署就能實(shí)現(xiàn)前文所提到的“彈性”計(jì)算。
]
[1]《虛擬化與云計(jì)算》小組.虛擬化與云計(jì)算 [M].北京:電子工業(yè)出版社,2009.
[2]D.Pritchett,“BASE:An Acid Alternative,”ACM Queue,卷 Volumn 6 Issue 3:48 -55,2008.
[3]陳康,鄭緯民.云計(jì)算:系統(tǒng)實(shí)例與研究現(xiàn)狀[J].軟件學(xué)報(bào)2009,(5):1337-1348,2009.
[4]梁爽.基于SOA的云計(jì)算框架模型的研究與實(shí)現(xiàn) [J].計(jì)算機(jī)工程與應(yīng)用,2011,(35):92-94,2011.
[5]BillLiu.解析Windows Azure云計(jì)算操作系統(tǒng)體系結(jié)構(gòu) [J].微軟 TechEd2011,北京:2011.
[6]E.Brewer,“Towards Robust Distributed Systems,”ACM Symposium on Principles of Distributed Computing Keynote 2000-7-19,Portland,Oregon,2000.
[7]N.L.Gilbert,“Brewer's conjecture and the feasibility of consistent,available,partition - tolerant web services,”ACM SIGACT News,卷 Volume 33 Issue 2,pp.51 -59,2002. [8]D.Giuseppe,“Dynamo:amazon's highly available key- value store,”出處 Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles,Skamania Lodge Stevenson,WA,USA,2007.
陜西開放大學(xué)學(xué)報(bào)2012年3期