運(yùn)維案例:Puppet如何成為數(shù)據(jù)中心擴(kuò)張的關(guān)鍵
電子郵件營(yíng)銷(xiāo)公司Constant Contact表示,它選擇使用Puppet實(shí)驗(yàn)室的Puppet配置管理和自動(dòng)化框架,以助其在兩年內(nèi)將服務(wù)器數(shù)量由數(shù)百臺(tái)提升至數(shù)千臺(tái)的規(guī)模。
如果一切按計(jì)劃進(jìn)行,這種趨勢(shì)將繼續(xù)下去,因?yàn)楣驹诓粩喑砷L(zhǎng),還會(huì)不斷添加卡桑德拉(Cassandra)分布式數(shù)據(jù)庫(kù)集群等新的應(yīng)用。
“我們預(yù)計(jì)我們的服務(wù)器容量每六個(gè)月會(huì)增長(zhǎng)三分之一,”Mark Schena說(shuō)到。他是Constant Contact公司系統(tǒng)自動(dòng)化部門(mén)的經(jīng)理。“這不只是我們的樂(lè)觀估計(jì)(而是將要實(shí)際發(fā)生的事)。”
該公司兩年前開(kāi)始研究開(kāi)放源代碼的配置管理工具,當(dāng)時(shí)他們已經(jīng)意識(shí)到手動(dòng)過(guò)程無(wú)法跟上公司的增長(zhǎng)步伐。除Puppet外,它還考慮了較為古老的Cfengine 和Capistrano,以及較新的Opscode Chef。Schena說(shuō),當(dāng)時(shí)的Opscode Chef尚不成熟。
Schena說(shuō),除了Chef尚不成熟之外,Constant Contact公司傾向于Puppet語(yǔ)言的原因還在于它的簡(jiǎn)單。Puppet支持更多平臺(tái),包括傳統(tǒng)的Unix簇系統(tǒng)如Solaris;而當(dāng)時(shí)的Chef只能在有限的幾個(gè)Linux發(fā)現(xiàn)版上運(yùn)行。此外,Schena說(shuō),他感覺(jué)使用Puppet創(chuàng)建依賴(lài)映射圖更加容易,更能保證程序以正確的順序運(yùn)行。
完全地“puppet化”
Schena表示,如今,Constant Contact所有的產(chǎn)品服務(wù)器都已經(jīng)“Puppet化”了,這意味著所有的改變都是通過(guò)客戶端運(yùn)行的代理程序生效。Puppet“配置單(Manifest)”由中央Puppet“主服務(wù)器(Master)”維護(hù),可通過(guò)客戶端的代理程序修改。
同時(shí),Puppet的使用也幫助Constant Contact公司建立了DevOps式的開(kāi)發(fā)環(huán)境——這是一種敏捷開(kāi)發(fā)(Agile Development)方法的演變,強(qiáng)調(diào)快速地代碼發(fā)布、配置管理、自動(dòng)化和版本控制,加強(qiáng)了開(kāi)發(fā)者和項(xiàng)目組之間的交流。
傳統(tǒng)的概念如“開(kāi)發(fā)”、“進(jìn)度”、“質(zhì)量保證(QA)”和“產(chǎn)品”等“對(duì)我從不適用”,Schena如此說(shuō)到。在傳統(tǒng)模型下,開(kāi)發(fā)者獨(dú)立于項(xiàng)目組,艱苦開(kāi)發(fā)數(shù)月,再將成果送往質(zhì)量保證和產(chǎn)品部門(mén)。然后就是,“祈禱好運(yùn),希望代碼能正常工作。”
在DevOps式的工作環(huán)境中,“我們所有人最開(kāi)始都會(huì)參與其中,所有的工作都通過(guò)Puppet進(jìn)行”,最后完成版本控制,以便于一旦發(fā)生問(wèn)題,還有可能恢復(fù)到出問(wèn)題之前的狀態(tài)。
最后,Schena報(bào)告說(shuō),使用Puppet并遵守DevOps原則,能幫助減少員工人數(shù)、新產(chǎn)品交付時(shí)間,并能使開(kāi)發(fā)工作更加順利。
配置管理與云計(jì)算
一般來(lái)說(shuō),配置管理工具會(huì)受到熱烈的歡迎。
Bob Plankers是中西部規(guī)模較大的一所大學(xué)的系統(tǒng)管理員。他說(shuō),在改用紅帽企業(yè)版Linux系統(tǒng)第六版(RHEL 6)時(shí),他采用了Cfengine-3軟件。他的許多同行業(yè)也都這么做。
“我們之前就一直想這么做,(改用RHEL6)正好是一個(gè)這么做的好時(shí)機(jī),因?yàn)槟憧梢詮念^開(kāi)始,而不用對(duì)已有系統(tǒng)進(jìn)行轉(zhuǎn)換,”Plankers說(shuō)。
Plankers說(shuō),在他的工作中,Cfengine和配置管理軟件所要面對(duì)的問(wèn)題在很大程度上就是一份文件。因?yàn)樗械男薷亩际峭ㄟ^(guò)配置管理工具完成的,所以要捕捉到配置的改動(dòng)很容易。
“管理層多年來(lái)一直試圖解決這個(gè)文件問(wèn)題,要求我們將所做的一切都記錄到文檔中,”他說(shuō)。“于是我們的所有服務(wù)器都有了wiki,而且我們也喜愛(ài)我們的wiki,但問(wèn)題是這些wiki就是權(quán)威的了嗎?不是。”
此外,隨著IT產(chǎn)業(yè)向云計(jì)算邁進(jìn),Plankers預(yù)測(cè)配置管理工具將會(huì)更加流行。
“使用虛擬化技術(shù)后,剩下的就是硬件和整合問(wèn)題,但是對(duì)于云計(jì)算,關(guān)鍵問(wèn)題在于數(shù)據(jù)處理(process),”他說(shuō)。結(jié)合了云計(jì)算技術(shù)后,配置管理系統(tǒng)成為“節(jié)省時(shí)間的利器,和一種更有效地使用云計(jì)算的方式。”
原文:http://www.searchsv.com.cn/showcontent_46675.htm
【編輯推薦】