主打女性手機遊戲的遊戲開發商CrowdStar成立於2008年,當時臉書正是當紅的遊戲平臺,靠著臉書,CrowdStar也累積了3億使用者。在2013年時,此家公司決定開發更多鎖定女性使用者的手機遊戲,因此推出了Covet Fashion,使用者可以在此平臺中,購買真實品牌的虛擬物件,如衣服、項鍊等服飾來創造各式各樣的服飾搭配方式,還會設計了票選競賽,來吸引使用者創造更多服裝搭配方式來吸引大家投票。
CrowdStar工程部門副總裁Jose Avila表示,Covet Fashion遊戲玩家每個月上傳的新搭配超過了1.5億種,每天投票次數更超過了5,000萬次。為了應付這樣的使用規模,Covet Fashion在美國境內4個不同的資料中心部署了超過200臺伺服器,並且混合使用者KVM、裸機作為基礎建設,「一天更要處理超過1億個API呼叫。」
Jose Avila表示,起初,CrowdStar在實體伺服器上建置虛擬化平臺,以提供VM來部署後端服務系統,他說,虛擬化後提供的水平擴充速度,雖然可以滿足Covet Fashion的成長速度,但是用量達一定規模之後,營運成本反而相當可觀,Jose Avila更表示,尤其隨著開發團隊推出更多功能,系統變得愈來愈複雜,系統開機時間很長,部署程式也需要建立很多例外規則,導致系統變得脆弱。
再加上「我們是小團隊,必須提升工作效率。」Jose Avila表示,裸機部署方式是一個大變革。一般來說,部署在實體機器的好處是效能快、成本也不貴,但得面臨長期維護合約和耗時很久的實機調度或建置時間。
不過,CrowdStar利用OpenStack的裸機部署套件Ironic,在實體機器上裸機部署了一套IaaS,「我們團隊原本就使用了很多OpenStack API,只要修改幾行程式碼,幾分鐘就可以部署一臺裸機伺服器。」Jose Avila更表示,靠著Ironic套件,系統初次部署成本下降了60%,也因為使用裸機,讓服務系統的延遲減低了40ms。
除了OpenStack,CrowdStar也導入了Container,一舉降低內部服務的數量,「過去服務對於作業系統、函式庫的依賴性很強。」Jose Avila也舉例,過去開發團隊經常向維運團隊提出修改運行中服務、安裝新函式庫等要求,使得維運團隊受到干擾。在導入容器後,開發者就可以自行修改系統元件、映像檔,維運團隊也不需要花費太多心力檢查,「將控制權還給開發者。」