開(kāi)源云先鋒OpenStack
在我剛開(kāi)始接觸OpenStack這個(gè)開(kāi)源項(xiàng)目時(shí),就被它開(kāi)放的口號(hào)吸引了,該項(xiàng)目確實(shí)能對(duì)構(gòu)建開(kāi)放云基礎(chǔ)架構(gòu)產(chǎn)生深遠(yuǎn)影響。在此之前,云基礎(chǔ)架構(gòu)的主要兩大陣營(yíng)是Amazon API及其兼容架構(gòu)和VMware的vCloud。作為第三種選擇,OpenStack為服務(wù)提供商和電信運(yùn)營(yíng)商提供了一個(gè)開(kāi)放的平臺(tái),至少在這一領(lǐng)域我們需要打破雙寡頭的壟斷,引入具有競(jìng)爭(zhēng)力的參與者。
開(kāi)放為何如此重要?
大多數(shù)人認(rèn)為云基礎(chǔ)架構(gòu)互操作性的問(wèn)題在于磁盤鏡像格式(例如VMDK、VHD和qcow)或者是 hypervisor。而實(shí)際上,很多磁盤鏡像格式是塊存儲(chǔ),在VMDK和VHD之間轉(zhuǎn)換并非技術(shù)難題,特別是大多數(shù)hypervisor都依賴于硬件虛擬化(HVM)的情況下效率不是問(wèn)題。那究竟是什么阻礙了不同云之間的數(shù)據(jù)遷移呢?簡(jiǎn)言之,是架構(gòu)不同。如果每個(gè)云都有自己的存儲(chǔ)和網(wǎng)絡(luò)架構(gòu),就會(huì)造成人為的困難。
一直以來(lái),對(duì)于亞馬遜網(wǎng)絡(luò)服務(wù)及其他云服務(wù)抱怨最多的就是“導(dǎo)致用戶被綁架,無(wú)法輕易轉(zhuǎn)移數(shù)據(jù)”。在云計(jì)算社區(qū),有一個(gè)流行的概念,即數(shù)據(jù)是有重量的,一旦你將數(shù)據(jù)存在某個(gè)云計(jì)算提供商那里,它就變得繁重而難以遷移。OpenStack構(gòu)建了一個(gè)強(qiáng)大的社區(qū)并足以推動(dòng)實(shí)現(xiàn)一個(gè)標(biāo)準(zhǔn)化的可互操作的參考架構(gòu)。
總之,OpenStack為希望像AWS和Google一樣提供開(kāi)放云基礎(chǔ)設(shè)施的企業(yè)提供了一個(gè)可行路徑。
與Amazon相比,OpenStack要開(kāi)放很多
世界變了嗎?
2010年,OpenStack項(xiàng)目剛剛啟動(dòng)時(shí)就已經(jīng)有人在說(shuō):
“OpenStack, with a strong community behind it, should be an important tool for service providers and large telcos to compete at scale with the Amazon and Googles of this world.”兩年的時(shí)間過(guò)去了,現(xiàn)在這個(gè)“strong communtiy ”
在全球已經(jīng)有20多個(gè)用戶組,近3000名成員,以及165多家企業(yè),其中既有初創(chuàng)公司也有跨國(guó)企業(yè),并且有55家以上的企業(yè)大約200名開(kāi)發(fā)者貢獻(xiàn)了代碼,包括來(lái)自中國(guó)的新浪。
但它是否已經(jīng)成為“an important tool for service providers and large telcos to compete at scale”了呢?目前來(lái)看毫無(wú)疑問(wèn)的是,像KT、Internap和HP等都已經(jīng)部署了OpenStack平臺(tái),而所發(fā)生的這一切只有不到兩年的時(shí)間。
現(xiàn)在,OpenStack社區(qū)正在朝著成為自Linux以來(lái)下一個(gè)最有影響力的開(kāi)源項(xiàng)目而邁進(jìn)。由19家公司組成的OpenStack基金會(huì)已經(jīng)成立,標(biāo)志著OpenStack社區(qū)將會(huì)有長(zhǎng)期的財(cái)政支持,并開(kāi)始獨(dú)立運(yùn)營(yíng)。
還是“那個(gè)”OpenStack嗎?
OpenStack社區(qū)于2012年4月5日順利發(fā)布Essex版,該版本最大的特色就是“production-ready”,主要包括以下五個(gè)組件:
Nova:對(duì)應(yīng)于Amazon EC2,控制IaaS;
Swift:對(duì)應(yīng)于Amazon S3存儲(chǔ),對(duì)象存儲(chǔ);
Glance:處理虛擬磁盤鏡像,支持qcow2(KVM)、AMI、VMDK(VMWare)和VHD(Hyper-V)等格式;
KeyStone:提供通用的身份管理服務(wù);
Horizon:提供基于Web的管理服務(wù)。
Essex的主要新特性有以下幾個(gè)方面。
Swift的改進(jìn)
支持對(duì)象過(guò)期時(shí)間,例如可以設(shè)置文件在某個(gè)時(shí)間點(diǎn)過(guò)期,可用于文檔管理系統(tǒng)根據(jù)策略保留文檔。還增加了中間件模塊允許開(kāi)發(fā)者創(chuàng)建控制面板直接上傳文件到Swift。
Nova的改進(jìn)
增加了基于角色的訪問(wèn)控制(RBAC),Nova目前可以支持對(duì)動(dòng)作和擴(kuò)展的可配置的權(quán)限控制,改善了orchestration特性,同時(shí)也提高了安全性。
集成Keystone
Keystone是OpenStack的通用身份管理系統(tǒng),有兩大功能:基于token的認(rèn)證(authentication,即authN)和基于用戶-服務(wù)的授權(quán)(authorization,即authZ),可以連接外部認(rèn)證系統(tǒng),如 LDAP。
Volume的改進(jìn)
支持從Volume啟動(dòng),虛擬機(jī)根分區(qū)不需要本地存儲(chǔ),為以后的虛擬機(jī)遷移提供了方便。
支持Volume的快照備份API。
Glance的改進(jìn)
同樣,Glance也支持RBAC,保護(hù)鏡像文件,以防止意外刪除虛擬機(jī)鏡像文件。并且采用可配置的進(jìn)程數(shù)以避免之前受限于單一CPU而帶來(lái)的性能問(wèn)題。
其他改進(jìn)
API默認(rèn)支持https。
對(duì)OpenStack中組件之間的消息通信加密。
數(shù)據(jù)庫(kù)權(quán)限分離,每個(gè)API Server使用自己的數(shù)據(jù)庫(kù)賬號(hào),并且只能管理自己API所關(guān)心的數(shù)據(jù)表。
更加友好的Dashboard。
小結(jié)
從Essex版本的這些組件和特性看出,隨著OpenStack的不斷完善和發(fā)展,必將成為開(kāi)源云計(jì)算的一大先鋒。