一款游戲產(chǎn)品上線,僅僅從技術(shù)角度來講,分為軟件層次的游戲代碼研發(fā),及硬件層次的代碼部署上線。劈開代碼研發(fā)方面不講,游戲的部署上線,成為我們一個很頭疼的問題。為什么頭疼?從一些報告顯示,大部分的游戲生命周期僅有3個月。按照正規(guī)的上線流程,從買服務器,裝環(huán)境,進IDC機房這么下來,剛把游戲上線,可是游戲卻不給力。這樣折騰下來,浪費了多少我們的青春?浪費了多少我們的血汗錢?
一般游戲的部署有以下幾種方式:
1、托管IDC機房部署。
2、代理商部署。
3、租用vps環(huán)境部署。
4、租用云主機環(huán)境部署。
對于第一種,IDC機房部署,我覺得是最勞民傷財?shù)摹?/strong>如果是自己購買服務器(也可以是租用),公司的一些采購審批流程、服務器運輸過來、裝系統(tǒng)環(huán)境測試、IDC服務器上架等等,這是一個很繁瑣的過程。特別在后期的運維管理的時候,當服務器異常,想要重啟一下服務器,這種簡單的要求都變成一種奢侈。
對于第二種,把代碼交給代理商部署,我覺得是最沒安全性的。你不用關(guān)心自己買什么樣的服務器,怎么樣配置環(huán)境等,你只需要把游戲代碼給代理商,后期的部署上線、運維管理都不用你操心??此七€蠻省心的,但數(shù)據(jù)庫之類的,都是別人幫你運維管理。你的代碼、數(shù)據(jù)都給別人了,何談安全性呢?
對于第三種,租用vps環(huán)境部署,我覺得是性能及可用性最差的。vps,大家都很熟悉。就是在一臺服務器上虛擬化很多系統(tǒng),然后分給多個用戶使用。雖然理論上,每個vps都可分配獨立公網(wǎng)IP地址、獨立操作系統(tǒng)、實現(xiàn)不同vps間磁盤空間、內(nèi)存、CPU資源、進程和系統(tǒng)配置的隔離。比如常見的虛擬化技術(shù)有:vmware、xen、kvm等。但實際情況是,當某一個vps的資源情況使用過高,這會影響其他vps的性能。最終導致多個vps搶資源的現(xiàn)象,比如分配一個4核4G的vps空間,到最后,你可能連2核2G的資源都搶不到。
對于第四種,可能很多人覺得vps跟云主機之間沒啥區(qū)別。其實有很大區(qū)別的,關(guān)于這塊的對比,在此不做過多的介紹,有空的話,再詳細聊聊這塊內(nèi)容。最大的區(qū)別,現(xiàn)在可以簡單理解于在于資源的隔離這塊吧,就是云主機與云主機間的資源使用,不敢說百分百的隔離了,但至少在底層的隔離這塊,做的還是比較好的。
所以云主機相比其他的幾種部署方式,在運維這塊有以下幾個優(yōu)點:
1、成本考慮
之所以考慮云服務,成本因素是大家最先要考慮的因素了。如果誰說,錢都不是問題了,那估計就沒什么問題了,呵呵。相比傳統(tǒng)的IDC,云服務可以有效節(jié)省在物理硬件的投入成本,以及在運維方面的人力成本。為什么能節(jié)省在運維方面的人力成本?比如,我們把應用部署到云上了,我們就不用關(guān)心后面云服務器的監(jiān)控、安全及運維管理,這一切都由云來幫我們搞定。
而且對于很多游戲的上線,前期并不知道上線后,用戶量會是多少。如果盲目的在這塊投入成本,很可能造成虧損。很多公司的游戲上線,都是選擇云服務來部署游戲上線,進行前期的“摸底”。后面如果用戶量大,只需要簡單的增加云主機。如果用戶量少,我們減少部署的資源。這樣可以有效控制成本,靈活性非常高。
2、網(wǎng)絡(luò)穩(wěn)定性
為了保障游戲的流暢性,強大的網(wǎng)絡(luò)保障必不可少。相比傳統(tǒng)的雙線機房,云服務采用BGP網(wǎng)絡(luò),給我們的網(wǎng)絡(luò)添加了有力的保障。成為我們網(wǎng)絡(luò)堅實有力的后盾。
3、快速部署
快速部署,表現(xiàn)在幾個方面。第一個,在硬件層次。我們不用買服務器,不用裝系統(tǒng),云主機拿來就用,快速部署。
第二個快速部署,在系統(tǒng)層次。一般在云服務層面,都有鏡像及api功能。兩者結(jié)合起來,就算創(chuàng)建一千臺、一萬臺服務器,也是瞬間的事情。何為鏡像功能?比如,我現(xiàn)在有個新區(qū)上線,我把環(huán)境都裝在云主機中。我把現(xiàn)在這個系統(tǒng)環(huán)境打包成鏡像(這個有點類似ISO鏡像),然后我創(chuàng)建云主機的時候,可以用這個鏡像創(chuàng)建出一臺環(huán)境及數(shù)據(jù)一模一樣的系統(tǒng)。通過我們開通一臺云主機,我們一般都是在web控制臺點擊操作的。當然我們也可以通過api接口,用代碼來創(chuàng)建云主機,真真意義上的快速部署。
4、災備、數(shù)據(jù)備份
一般云主機采用同時寫多份數(shù)據(jù)來保障數(shù)據(jù)的安全性。我們的云主機的系統(tǒng)環(huán)境可能存在某臺物理機上,但是同時這個環(huán)境的數(shù)據(jù),冗余在其他物理機器上。當這臺云主機所在的物理機宕機時,會自動遷移到其他物理機上的冗余數(shù)據(jù)上,保障服務器的可靠性。
5、運維監(jiān)控
傳統(tǒng)的運維監(jiān)控模式,在應用層的監(jiān)控,比如采用監(jiān)控寶來監(jiān)控一個url,監(jiān)控一個頁面的服務是否可用。在服務器層次,通常安裝一些監(jiān)控軟件,比如cacti、nagios、zabbix,然后自己搭建運維監(jiān)控中心,監(jiān)控服務器及應用的可用性。而云服務中,都自帶這些監(jiān)控功能,我們只需要傻瓜式的在web頁面設(shè)置一下監(jiān)控的屬性,省去了復雜的搭建監(jiān)控的環(huán)境,便捷高效。
6、防攻擊
在防攻擊方面,也是給你驚喜不斷。底層采用硬件防火墻來防攻擊,在web控制臺中,我們還可以自己設(shè)置攻擊的一些閥值和參數(shù)。
隨便聊聊,有不足的地方,歡迎拍磚!
我為自己帶鹽,原創(chuàng)作者:喬銳杰