Zynga:從Amazon公共云到zCloud私有云
譯文【51CTO快譯】Facebook平臺(tái)上最大的社交游戲公司之一的Zynga已經(jīng)將大部分自家用戶從Amazon網(wǎng)絡(luò)服務(wù)(AWS)遷移到自主打造的私有云平臺(tái)中,說是為了最大限度提高其社交游戲網(wǎng)絡(luò)的可靠性與性能表現(xiàn)。
Zynga公司基礎(chǔ)設(shè)施CTO Allan Leinwand在一次采訪中表示,截至2011年年末,Zynga公司已經(jīng)將接近80%的日?;钴S用戶交付自有基礎(chǔ)設(shè)施進(jìn)行托管;而就在2011年年初,同樣比例的用戶群體還處于Amazon公共云的支持之下。
他將Amazon服務(wù)視為“一輛四門轎車”,而Zynga公司在對(duì)自身網(wǎng)絡(luò)進(jìn)行精心調(diào)整之后所推出的zCloud則完全可以被比作超級(jí)跑車。
“我們當(dāng)然也很喜愛四門轎車,但必須承認(rèn)這是一種用于應(yīng)對(duì)多種使用需求的車型——購(gòu)物、帶孩子都是這類車需要照顧到的情況。相比之下,我更愿意把zCloud當(dāng)作能在社交游戲賽道上全速馳騁的超跑,這套平臺(tái)完全是為速度而生。”
Leinwand此前曾于周三在加州圣何塞舉辦的CloudConnect大會(huì)上與IDG新聞服務(wù)媒體談及這一話題,當(dāng)時(shí)他描述了“開心農(nóng)場(chǎng)”與“多人填字游戲”項(xiàng)目的開發(fā)者如何在過去一年中重新審視當(dāng)前計(jì)算基礎(chǔ)設(shè)施。他還在自己的 博客 中發(fā)文詳細(xì)進(jìn)行了一番論述。
Amazon公共云+zCloud私有云的混合云時(shí)代
根據(jù)他的爆料,Zynga公司現(xiàn)在擁有1000臺(tái)全天候運(yùn)轉(zhuǎn)的服務(wù)器,業(yè)務(wù)內(nèi)容涵蓋了從數(shù)據(jù)傳輸?shù)骄唧w執(zhí)行的諸多方面;而且在將業(yè)務(wù)從Amazon遷移到自家私有云平臺(tái)之后,該公司所使用的物理服務(wù)器已經(jīng)減少了三分之一。
Zynga公司將繼續(xù)以混合云的方式使用Amazon服務(wù),而Leinwand也坦言在未來相當(dāng)長(zhǎng)的一段時(shí)間內(nèi),Zynga尚無意降低對(duì)Amazon的依賴程度。不過目前該公司正嘗試將Amazon服務(wù)當(dāng)成處理突發(fā)情況的后備方案,而非支持日常業(yè)務(wù)的主要處理平臺(tái)。
“我們非常贊賞Amazon服務(wù)所帶來的業(yè)務(wù)靈活性;能有這樣的方案可用令人十分安心,”他表示。
Zynga的這一舉動(dòng)可能標(biāo)志著該公司有志于進(jìn)一步提升性能,在未來采用這套新的云平臺(tái),并有針對(duì)性地進(jìn)行云服務(wù)開發(fā)。
“當(dāng)前我們所使用的云平臺(tái)存在弊端,它不具備對(duì)基礎(chǔ)設(shè)施即服務(wù)體系進(jìn)行定制及調(diào)整的能力,所以我們很難針對(duì)自身業(yè)務(wù)對(duì)其做出適當(dāng)改動(dòng),”Leinwand指出。
“對(duì)于廣大真正希望采用云計(jì)算并將數(shù)據(jù)中心業(yè)務(wù)外包出去的IT人士而言,必須提前為之準(zhǔn)備充分的控制措施。這絕不是危言聳聽,而是我們?cè)跇I(yè)務(wù)實(shí)踐中的經(jīng)驗(yàn)之談。”
Zynga公司已經(jīng)開始嘗試把游戲交付自有服務(wù)器進(jìn)行托管,不過一旦這套搭配設(shè)施無法滿足需求,處理工作將馬上被轉(zhuǎn)移到Amazon云平臺(tái)中。公司業(yè)務(wù)發(fā)展的拐點(diǎn)出現(xiàn)在2009年“開心農(nóng)場(chǎng)”項(xiàng)目啟動(dòng)之時(shí),用戶數(shù)量在六周之內(nèi)就從零激增至千萬級(jí)別。
從那時(shí)起直到去年年初,Zynga公司一直在將新游戲部署至云端;只有在性能需求量盡在掌握之后,他們才嘗試?yán)米杂蟹?wù)器加以運(yùn)行。
但這種安逸的現(xiàn)狀并未阻礙他們繼續(xù)打造自己的zCloud平臺(tái),創(chuàng)建過程使用到了來自Cloud.com的軟件以及來自RightScale的各類管理工具。
zCloud的成長(zhǎng)
在過去的一年中,Zynga公司的自有數(shù)據(jù)中心在處理能力方面有了顯著提升。Leinwand并未給出詳細(xì)數(shù)據(jù),但他坦言為了打造冗余系統(tǒng),公司已經(jīng)分別在東、西海岸的多個(gè)地點(diǎn)部署了設(shè)施。
到2011年下半年,zCloud設(shè)施的電力供給徹底落實(shí)到位,根據(jù)Leinwand的說法,目前他們的供電系統(tǒng)能夠支持“166個(gè)國(guó)際空間站”。
為了提高系統(tǒng)可靠性,Zynga公司將自己的網(wǎng)絡(luò)與Amazon及Facebook設(shè)置為光纖直連。Amazon去年遭受的大規(guī)模停機(jī)故障給Zynga敲響了警鐘。
“盡管游戲服務(wù)沒有因?yàn)橥C(jī)的發(fā)生而受到嚴(yán)重影響,但這樣的事件讓一直比較依賴云平臺(tái)的我們開始嘗試改變建立基礎(chǔ)設(shè)施的方式,”Leinwand指出。
如今Zynga公司著手打造自己的專用工具,幫助相關(guān)部門了解CPU、內(nèi)存以及I/O使用率與游戲程序的配合狀態(tài),又是哪些因素給Web服務(wù)器、內(nèi)存緩存以及存儲(chǔ)系統(tǒng)帶來最大的工作壓力。
經(jīng)過不懈努力,Zynga公司在優(yōu)化工作取得了驕人的成果——原本要靠租用三臺(tái)Amazon物理服務(wù)器達(dá)成的任務(wù),在zCloud中只需一臺(tái)設(shè)備即可完成。
“這并不是說Amazon網(wǎng)絡(luò)服務(wù)的品質(zhì)有問題或者他們使用的服務(wù)器性能低下,真正的原因在于我們對(duì)zCloud平臺(tái)進(jìn)行了合理化、性能優(yōu)化方面的諸多調(diào)整,使其能夠完全適應(yīng)社交游戲的實(shí)際需求。”
系統(tǒng)架構(gòu)
Zynga公司使用的是一套三層系統(tǒng)。舉例來說,當(dāng)某位用戶進(jìn)行“多人填字游戲”時(shí),他實(shí)際上是通過Web服務(wù)器進(jìn)入游戲、游戲版面上的變動(dòng)保留在內(nèi)存緩存中,而游戲狀態(tài)則由多塊硬盤組成的冗余存儲(chǔ)機(jī)制進(jìn)行保存。
由于應(yīng)用程序大多是以PHP編寫,因此Zynga公司目前使用的是一套名為Membase的開源平臺(tái)。該平臺(tái)前端使用memcache,后端則采用No-SQL數(shù)據(jù)庫。
過去他們?cè)褂肕ySQL負(fù)責(zé)存儲(chǔ)工作,但并沒有用到那些復(fù)雜的查詢功能;而Membase在內(nèi)存與存儲(chǔ)體系中的全面應(yīng)用使系統(tǒng)層數(shù)有所減少,這讓系統(tǒng)管理員的工作變得更為輕松。
Leinwand的團(tuán)隊(duì)編寫了一系列自動(dòng)化工具,使得Zynga公司能夠在短時(shí)間內(nèi)安裝上千臺(tái)服務(wù)器。他們并沒有像微軟及其它一些大型在線廠商那樣使用容器機(jī)制,而是依靠由積分器供應(yīng)商提供的機(jī)柜式服務(wù)器構(gòu)成設(shè)施儲(chǔ)備,并在需要時(shí)迅速補(bǔ)充到基礎(chǔ)設(shè)施中來。
Zynga公司還與合作伙伴一道設(shè)計(jì)出一款專為特定應(yīng)用程序打造的服務(wù)器——Leinwand并沒有透露具體細(xì)節(jié)——不過總體來說它可能使用的是標(biāo)準(zhǔn)x86硬件。
“我們的合作伙伴是一家臺(tái)灣公司,理念上的契合使雙方的配合相當(dāng)令人滿意,”他如是說。
原文:Zynga makes dramatic shift from public cloud
更新:根據(jù)另一篇報(bào)道,目前Zynga大約是80%在其zCloud上,20%在Amazon平臺(tái)上。