嚴格來說,云服務已經滲透到了我們生活的每一個角落中,比如說,你今天在京東購買的新手機,或是你在淘寶上為新家增添的一些小掛飾,當然,還有你出差、出游經常會用到的去哪兒、攜程等訂票軟件(12306自然也是其中之一),都與云計算有著密切的關系,甚至于說,只要你能看到這篇文章,就說明你是被云服務圍繞著,而不是在遠離云服務的大草原上放牧牦牛,過著田園般的自給自足的生活——你看到這篇文章的途徑很顯然不會是從印刷紙張上。
說回到我所在的公司——完美世界,是中國最早一批網絡游戲開發商和運營商之一,成立于2004年,致力于網絡游戲的研發、運營、銷售和服務,除了北京的總部,在北美、歐洲和日本設有全資子公司自主運營游戲,旗下游戲已授權至亞洲、澳洲、拉丁美洲、俄羅斯及其它俄語地區等多個國家和地區的主要游戲運營商,游戲出口至世界100多個國家和地區,更是不能“幸免”于云計算的大潮,被卷入了這一整個行業的大趨勢內,而且還受益于云計算所帶來的工作便利、成本降低和業務發展。
但是,在大潮波瀾不驚之下,作為云的使用者,我們也不免去想更為深刻的一些問題:我們應當怎么去看待云供應商?我們應當選擇什么樣的云供應商?什么樣的云供應商是“討人喜歡”的?除此以外,云供應商應當為我們提供哪些服務?
這正是本文要討論的事情。
云供應商給的為什么總是“差不離”
在企業IT基礎設施的云化過程中,私有云和混合云仍然是非常重要的一部分,相對于亞馬遜AWS、微軟Azure、阿里云等公有云提供商來說,企業私有云和混合云建設所需要的硬件、軟件、咨詢、服務及解決方案供應商,是一個更為復雜的存在,但這仍然是非常必要的。
過去幾年,完美世界一直在不斷嘗試各種新的硬件基礎設施、軟件及服務產品,可以說一直走在私有云建設的前沿,接觸了很多新鮮的產品,其中也包括很多開源解決方案:比如說,在硬件上,我們一直選擇全球前三的服務器硬件提供商,為我們的數據中心提供服務器硬件,以支撐完美世界設計和代理的各種網絡游戲;與此同時,我們建立了自己的云游戲平臺,是基于KVM和Ceph虛擬化存儲的,當然,我們當時規模還不大,所以沒有采用OpenStack之類的管理調度平臺。
除此以外,Docker我們也有過接觸,嘗試著使用容器化的解決方案支持我們的一些游戲。
與眾多的企業數據中心一樣,我們使用服務器,也基于KVM、Ceph、Docker等軟件產品及解決方案支撐我們的網絡游戲,在這一過程中,有我們自己摸索的過程,也有我們服務器供應商提供的很多幫助,在一開始,很多事情都如所期望的那樣順利運行,而硬件服務商針對一些解決方案所給出的建議,初看起來也都是很好的建議。
但是隨著實踐的深入,我們發現單純出自硬件供應商給出的建議,很難覆蓋我們所有的需求,很大程度上他們一方面對網絡游戲行業的需求并不清晰,另一方面,鑒于他們的主要工作是提供硬件產品,所以他們在整體解決方案上面、在云計算平臺的搭建細節上,總是和我們想要的有所差距。
后來,我們意識到,一個云供應商,不可能了解每一個行業的需求細節,這正是行業細分造成的,如果我們的云供應商比我們還要了解游戲,他們就是游戲行業的頂尖廠商了,這不現實。我們作為游戲開發運營商,也不可能完全了解云計算的所有細節,否則我們就是云供應商了,或者我們自己就成為云服務提供商,我們作為游戲研發運營公司,我們最拿手的東西是游戲,而不是云。
所以,我們覺得云供應商第一戰略就應該是溝通,要和我們這樣的云使用者在技術上進行有效的溝通,了解需求。對于我們這些云使用者來說,節約成本、方便管理、安全可靠、易于擴容……等等這些需要都是很籠統的,我們真正關心的是我們所使用的云是否符合我們的業務,無論我們使用云服務提供商的公有云服務,還是使用云供應商的硬件和軟件搭建我們自己的私有云,符合我們業務的需要才是我們第一要考慮的事情。
云供應商提供的軟硬件如何切合我們的業務需要,這正是云供應商和我們這樣的應用者最應該溝通的事情。
如果沒做好溝通并基于我們的需求設計產品,最終的結果就是前面所說的“差不離”——看起來滿足了客戶的需求,但實際上,卻總是和真正的需求有那么一點兒差距。
比如說,在一些新的項目上線時,我們都需要進行大批量服務器的上線工作,簡單來說,就是上架、接電、開機、配置、部署和業務遷移,但做起來可不是像聽起來那么簡單,這是一個極為復雜的工作,而且,部署時間是有限制的,這意味著你必須要加班,通宵加班。
有沒有快速部署的方法?當然有,幾乎每家服務器供應商都告訴你,使用他們的服務器進行規模化的部署——這在新業務上線或是云平臺建設中是很常見的——可以極大地縮短部署時間,甚至只需要簡單的幾個點擊就可以完成數百臺、上千臺服務器的部署。
但實際上,事情不總是像他們說的那樣美妙。
在批量部署服務器時,最重要的就是確保所有的配置能夠被順利采集,并真正的克隆到每一臺服務器上,確保所有的服務器都得到了正確的、一致的、可以順利接入管理平臺的配置,可惜這不總是那么順利的,這是一個復雜的過程:配置、采集、克隆、重新分配和維護基準——其中有一個地方出了問題,那都是批量部署服務器的噩夢,在很多時候,你只有一次讓事情變得簡單的機會。
為了解決這樣的問題,硬件供應商們總是在尋求更好的解決方案:在戴爾第13代服務器中,IDRAC的版本升級到了IDRAC 8。IDRAC 8卡與生命周期管理控制器Lifecycle Controller 集成在一起,提供簡化服務器生命周期管理,IDRAC 8的自動化服務器配置提供全面的服務器配置文件,包括BIOS、PERC(PowerEdge RAID卡)、網卡/HBA和iDRAC/生命周期控制器的設置。
此外它還有多種使用模式,可以整合到已有的進程中,使用U盤對現場對服務器“應用配置”,或者在網絡設置中應用。使用OpenManage Essentials軟件來采集、設置和檢測配置的一到多漂移。對于一臺尚未配置管理IP和權限的戴爾13G服務器而言,只需要標準的網絡資源——DHCP服務器和標準網絡共享,然后上架、連線即可。
整個過程可以簡單來看,就是這樣:部署并配置好一臺“golden server”(相當于模板)——導出“golden server”狀態到SCP XML文件——針對即將部署的服務器型號編輯SCP XML文件——為自動化配置而設置DHCP服務器——新服務器使用DHCP自動化配置——新服務器使用一致的配置來操作。
如果你的服務器供應商在這件事情上做的不好,你只能去尋求軟件的解決方案或是自己通宵熬夜去完成服務器的配置——前者將會耗費額外的資金,而后者,對任何一個數據中心管理者來說,都會是一個值得紀念的夜晚,或者,很多個值得紀念的夜晚。
所以,如果有服務器供應商來和我溝通,對服務器有哪些需求時,我第一個想到的并不是新的處理器、更大的內存或是更快的閃存,而是“能否為我們提供更好的自動化、智能化的服務器配置工具(就像Lifecycle Controller的IDRAC 8)”,而不是聽他們吹噓新一代的至強處理器,或是新一代的3D NAND Flash——這些東西誰都能裝到服務器里,英特爾和三星總是會提供這些東西,不是嗎?
因此,談到云供應商的戰略,最核心,也是第一件事,就是要記得:一定要與客戶進行充分的溝通,真正提供我們所需要的產品,“溝通—修正—供給”的模式,在任何時候——當然也包括云計算的時代——仍然是供應商戰略中要走的第一步。
“云基礎設施日臻完善”現在要“向上走”
事實上,云基礎設施的建設在很多企業已經越來越成熟了,畢竟云計算的概念已經提了很多年,各種講座、培訓、Workshop做了非常多,企業數據中心的管理者們在硬件基礎設施上,該走的彎路、直路都已經走的差不多了,甚至于,像是阿里巴巴、騰訊、百度等大型數據中心的管理者們,都可以開始進行整機柜定制化服務器了。
但是,構建云計算并不僅僅是硬件基礎設施的事情,特別是像完美世界這樣的游戲廠商,為了能夠更好的為全中國的網絡游戲玩家服務,我們在全國各地都有數據中心,而且規模還在不斷擴張中,是要在萬臺服務器甚至以上的量級上,構建我們的私有云,這其中就涉及到兩個很重要的問題:
第一,原有的服務器、存儲、交換機不可能全部扔掉,“全部以舊換新”是不可能的事情,它們肯定要加入云,這也就意味著任何一家云服務商,都需要考慮構建私有云平臺時的利舊問題。
第二,除了各種硬件產品的組合,還需要合適的軟件,PaaS層是云化過程中非常重要的一部分,只有PaaS層建設好,才能夠更為合理、迅速、按需的調配資源,才能滿足各種應用的要求,僅僅是提供硬件產品,或者搭建硬件解決方案,并不能很好的服務于我們這些云使用者。
這兩件事情是云供應商的戰略中,要做好的第二和第三件事情,而且,也是在硬件基礎設施搭建之外和之上,體現云供應商是否有全面的、具有前瞻性的和豐富擴展性的云戰略最重要的兩步。
就利舊來說,云供應商應當制定兩層的戰略:
第一層,以VMware等虛擬化平臺統一管理整個的服務器群集,這需要將服務器本身的管理軟件和VMware的產品進行深度集成,比如說借助Dell Active System Manager ,統一管理計算、存儲、網絡、虛擬化、操作系統和應用程序層視圖,簡化基礎架構管理,與此同時,通過將ASM集成到VMware提供的vRealize Suite,創建完善的端到端解決方案,以部署和管理私有或混合云環境。
第二層,是將一些使用年限較長或長期閑置的設備,整合管理并交付給測試、研發或是一些二級、三級業務上,這需要云供應商有豐富的業務遷移經驗和充分的業務準備,才能確保平穩的遷移業務。
當然,利舊不是云計算建設最核心的地方,對有一些經濟基礎較好的用戶來說,利舊可能顯得沒有那么重要,不過,是否能夠在PaaS層做好對所有人來說都是最為重要的,而這也是對供應商戰略最嚴苛的考驗之一。
管理能力
首先,我們必須要確定的是,云供應商是否有能力將PaaS乃至IaaS層納入到自己的解決方案中來,這里面包括了Oracle、SAP、微軟等供應商的一系列產品,比如說數據庫、云中間件等等,對了,現在還多了一個OpenStack,作為一個云平臺的資源調度編排平臺,云供應商對OpenStack(也包括Docker)的熟悉程度、管理能力以及服務水平,都是應該關注的地方。
當然,我們不可能要求供應商能夠熟悉每一項技術、每一個產品,這意味著供應商必須要有完善的合作伙伴生態圈,比如說在OpenStack領域,是否與紅帽有很好的合作關系?或是與國內的幾家OpenStack創業公司有所合作?進而把服務器、存儲、網絡、Red Hat Enterprise Linux OpenStack Platform、Red Hat InkTank Ceph,甚至是Docker、Trove等都組合進來。
而且,在PaaS層還有一件事情需要云供應商考慮,那就是提供什么樣的經典配置和經典解決方案,形成定制化、實例化、預集成的解決方案,打個比方來說,對于某些業務應用,在確定了基本的業務負載需求和業務運營要求之后,云供應商是否能夠快速提供“現成”的“經典組合”——不要小看這一點——這意味著這一組合是否經過廣泛的應用驗證和合理的搭配考量,否則,每次都是從0開始,可不是一個好主意。
“開放性”戰略
其次,我們必須要說的是,云供應商的戰略的開放性,也就是“兼容并蓄”的能力,對云計算客戶來說非常的重要,就像我說的,沒有一個云供應商可以通吃一切,現在的云計算是一個復雜的系統工程,不僅總有新鮮的東西出來,更多的情況是,總有人做的會比別人好一些,另一方面,許多本地的供應商也開始嶄露頭角,他們的技術、產品和解決方案我們一樣愿意嘗試,從這個角度來說,云供應商戰略的開放性也是非常重要的。
專業的溝通和培訓
最后,我希望強調的一點是,云供應商的云戰略中,溝通、培訓和Workshop是非常重要的,在幾年前云計算剛剛興起的時候,某家公司的Workshop在業內非常的著名,它從行業趨勢、方法論,到系統性的云計算建設、軟硬件基礎設施、運維和行業討論會等一應俱全,有時候還會安排一些實際的測試和應用搭建活動,雖然后來這家供應商不再舉辦類似的活動,但它確實為行業內的Workshop給出了一個非常好的參照標準。