云計(jì)算的發(fā)展讓我們認(rèn)識(shí)到,看似功能不夠強(qiáng)大的小型服務(wù)器處理大多數(shù)開發(fā)任務(wù)其實(shí)綽綽有余。購買這樣一臺(tái)低成本低功耗的服務(wù)器清楚地表明了這點(diǎn):與數(shù)據(jù)中心的服務(wù)器相比,這種服務(wù)器對(duì)開發(fā)人員來說要合理得多。
就在幾年前,開發(fā)人員還在使用臺(tái)式機(jī)和筆記本電腦作為他們主要的工作平臺(tái)。配備雙DVI顯示器端口和多個(gè)USB端口(用于連接鼠標(biāo)、鍵盤及其他外設(shè))的塢站提供了人機(jī)接口。因而,一切工作得以順利地開展下去。盡管這是默認(rèn)的編程環(huán)境,但是對(duì)兩類計(jì)算用戶來說存在例外情況。一類是處在高端的開發(fā)人員,他們有著的獨(dú)特要求,通常需要內(nèi)存中有大量的數(shù)據(jù),通過高級(jí)圖形功能迅速呈現(xiàn)到屏幕上。這些用戶一邊倒地來自石油天然氣勘探、金融服務(wù)和安全等行業(yè)領(lǐng)域。他們使用工作站作為主要設(shè)備,運(yùn)行時(shí)的內(nèi)部內(nèi)存容量超過96GB,因而推動(dòng)了多塊GB級(jí)視頻卡的發(fā)展。
另一類是處理的問題可以在小型低功耗服務(wù)器上運(yùn)行的開發(fā)人員。我清楚地認(rèn)識(shí)到,最先采用這種服務(wù)器的是擁有小規(guī)模開發(fā)團(tuán)隊(duì)的新興公司,這些開發(fā)人員發(fā)布代碼后,在大量的蘋果Mac Mini臺(tái)式機(jī)上測(cè)試代碼。Mini臺(tái)式機(jī)有時(shí)配置成成本低廉的集群。而另外一些時(shí)候,它們作為軟件構(gòu)建周期的單個(gè)部件來運(yùn)行。一臺(tái)托管運(yùn)行源碼管理(SCM)軟件,另一臺(tái)負(fù)責(zé)構(gòu)建,第三臺(tái)運(yùn)行測(cè)試和生成報(bào)告。擴(kuò)增容量或提升性能的費(fèi)用是每個(gè)實(shí)例750美元;由于每個(gè)系統(tǒng)運(yùn)行Mac OS X操作系統(tǒng),所以安裝和配置都是即插即用的。
除了成本低廉外,Mac Mini還有這些優(yōu)點(diǎn):它們的能耗非常小,運(yùn)行起來完全悄無聲息,而且從來沒有出過故障。這些優(yōu)點(diǎn)實(shí)在太誘人了。
而如今,Mac Mini正在與功能非常強(qiáng)的競(jìng)爭對(duì)手爭奪市場(chǎng)的低端部分。在本周的特寫文章中,你可以找到Mike Riley對(duì)于他用作開發(fā)后端系統(tǒng)的低成本低功耗服務(wù)器所作的描述和評(píng)論(http://drdobbs.com/tools/232400398)。他的系統(tǒng)搭配來自英偉達(dá)的雙核1GHz ARM圖睿芯片,配備了強(qiáng)大的英偉達(dá)圖形芯片(HDMI)、1GB內(nèi)存、32GB固態(tài)硬盤或容量更大的標(biāo)準(zhǔn)硬盤,以及你可能需要的所有USB端口及其他端口。它的成本總共不到200美元,還運(yùn)行Ubuntu Linux。不賴吧?
Mike用它作為后端系統(tǒng),用來在后PC時(shí)代嘗試編寫代碼;也就是說,這個(gè)后端系統(tǒng)存放著他編寫的代碼,并且用來構(gòu)建代碼、測(cè)試代碼和報(bào)告代碼,然后保存代碼。因此,這是一臺(tái)理想的單人項(xiàng)目服務(wù)器。
我一直在使用宏碁Aspire Revo開展類似的試驗(yàn)工作,我從亞馬遜網(wǎng)站掏300美元買來了這臺(tái)機(jī)器。這臺(tái)機(jī)器的功能要強(qiáng)大一點(diǎn),配備了1.8GHz雙核英特爾凌動(dòng)芯片、2GB內(nèi)存、250 GB SATA硬盤、HDMI、6個(gè)USB端口、無線連接和千兆以太網(wǎng)端口。它運(yùn)行未經(jīng)改動(dòng)的Windows 7操作系統(tǒng)。這種低功耗設(shè)備原本是用作家庭媒體服務(wù)器的,但是它們用作代碼構(gòu)建服務(wù)器同樣很出色,對(duì)中小型項(xiàng)目而言更是如此。將代碼登記入庫,它們就能沒有任何困難地構(gòu)建、測(cè)試和運(yùn)行報(bào)告——實(shí)際上這是你完整的持續(xù)集成(CI)周期。如果升級(jí)到可用的4GB內(nèi)存,甚至還能進(jìn)一步提升性能:你只要將相關(guān)工具和代碼庫放到內(nèi)存磁盤上。
你無法得到的是立即給予的持續(xù)集成反饋。盡管敏捷開放方法的擁護(hù)者建議盡可能縮短缺陷報(bào)告方面的反饋回路,但是我發(fā)現(xiàn),在構(gòu)建和測(cè)試5分鐘而不是2分鐘之后發(fā)現(xiàn)錯(cuò)誤對(duì)于我回過頭去分析問題并解決問題的能力沒有重大的影響,或者說根本就沒有影響。
而如果設(shè)備的功能不夠強(qiáng)大,添加第二個(gè)設(shè)備不用花多少錢,肯定能提供我所需要的功能。
這種使用低成本低功耗設(shè)備的模式恰恰是未來的出路。我在這里描述的與你使用成本低廉的機(jī)器搭建自己的個(gè)人云并非大不相同。如果你決定費(fèi)用不得超過300美元,那么使用云服務(wù)提供商Rackspace的云服務(wù)器基本上就能滿足你的要求:512MB內(nèi)存和運(yùn)行Linux的20GB標(biāo)準(zhǔn)硬盤。其功能不如我的機(jī)器所提供的功能來得強(qiáng)大。不過,它為你提供了兩個(gè)優(yōu)點(diǎn):你不用另外支付日常費(fèi)用(電費(fèi)和更換零部件的費(fèi)用);又因?yàn)樵撛品?wù)器在異地,你立馬就能實(shí)現(xiàn)代碼庫的異地備份。IntoVPS.com等其他公司以同樣的費(fèi)用為你提供兩倍于Rackspace的資源。我估計(jì),最終,云服務(wù)器的價(jià)格會(huì)跌到接近現(xiàn)場(chǎng)低功耗設(shè)備的水平。
我認(rèn)為,低功耗低成本的小機(jī)器會(huì)開始流行起來。許多站點(diǎn)會(huì)發(fā)覺它們運(yùn)行起來成本更低,功能對(duì)非數(shù)據(jù)庫活動(dòng)來說綽綽有余,又易于管理。英特爾的集成眾核(MIC)架構(gòu)在今年交付后(由眾多精簡版的核心組成),這些機(jī)器甚至更有能力處理更高的吞吐率,所以會(huì)備受矚目,成為比薩盒服務(wù)器(pizza box server)的主要替代者——那歸功于它們的價(jià)格更合理,功耗更低。要不要購買這樣一臺(tái)小型系統(tǒng)、實(shí)際試用一下,就看你自己了。正如Mike和我的感受那樣,我預(yù)計(jì)你會(huì)喜歡的。