SuperUser采訪了一個騰訊團(tuán)隊(duì),了解更多關(guān)于騰訊私有云、TStack和未來的計劃。
誰在用OpenStack?
2013年,騰訊開始構(gòu)建名為TStack的私有云,為內(nèi)部IT部門提供云計算資源。 TStack向OA系統(tǒng)運(yùn)維人員、平臺應(yīng)用開發(fā)人員、QA開發(fā)人員和騰訊AI研究人員,提供基于OpenStack的基礎(chǔ)設(shè)施即服務(wù)(IaaS)。
騰訊的內(nèi)部IT系統(tǒng)、功能部門業(yè)務(wù)和大部分開發(fā)和質(zhì)量保證體系主要在TStack中構(gòu)建。騰訊還向中國許多政府部門和公共企業(yè),包括警察部門和電力公司提供了TStack和管理經(jīng)驗(yàn)。
騰訊為什么選擇OpenStack?
在早期階段,TStack是基于騰訊設(shè)計的基礎(chǔ)設(shè)施,成功管理6000多臺Xen虛擬機(jī)。然而,最初的TStack并不是支持異構(gòu)虛擬化的云管理平臺。這樣無法管理和充分利用許多資源,包括異構(gòu)虛擬機(jī)、數(shù)千臺物理服務(wù)器和許多第三方存儲設(shè)備。
2014年,OpenStack開始迅速發(fā)展,創(chuàng)造了一個偉大的生態(tài)系統(tǒng)。來自世界各地的數(shù)十家行業(yè)領(lǐng)先企業(yè)都參與了OpenStack,并部署了許多項(xiàng)目。
OpenStack成為云計算的強(qiáng)大力量,也是開源云計算平臺的首選。作為軟件定義基礎(chǔ)設(shè)施最有效的解決方案,OpenStack具有許多優(yōu)點(diǎn),例如開源和具有先進(jìn)的設(shè)計。根據(jù)內(nèi)部IT運(yùn)營團(tuán)隊(duì)的評估和測試結(jié)果,騰訊決定引入OpenStack作為TStack的基礎(chǔ)設(shè)施,并期望提供更好的服務(wù)。
TStack是可擴(kuò)展、高可用性和基于OpenStack的云計算管理解決方案。它提供用于管理計算資源、存儲、網(wǎng)絡(luò)、鏡像、認(rèn)證和測量的服務(wù)接口,并且與異構(gòu)虛擬化、服務(wù)器、存儲設(shè)備和網(wǎng)絡(luò)設(shè)備兼容。它也適用于分布式計算和存儲。
在OpenStack上運(yùn)行的工作負(fù)載以及此工作負(fù)載對騰訊的價值和影響?
TStack是為大規(guī)模的環(huán)境而設(shè)計的。它管理超過10000個操作系統(tǒng),其中40%為超過300個內(nèi)部IT服務(wù)而部署,包括OA認(rèn)證、WeChat網(wǎng)關(guān)、RTX、郵件系統(tǒng)、視頻監(jiān)控、內(nèi)部安全、功能管理和ERP。這些服務(wù)要求24/7的運(yùn)行時間。 TStack還管理騰訊各種產(chǎn)品的開發(fā)和測試服務(wù),例如WeChat、QQ、瀏覽器、游戲等。
同時,騰訊還與中國政府合作建立電子政務(wù)系統(tǒng),管理公共交通,稅收,社會保險、醫(yī)療保健等公共服務(wù)的各個方面。TStack有助于規(guī)范地理上分散的數(shù)據(jù)中心的接口和調(diào)度異構(gòu)資源,可將服務(wù)器成本降低30%,運(yùn)營成本降低55%。
可以給一些關(guān)于部署的細(xì)節(jié)嗎?
現(xiàn)在,TStack使用OpenStack作為IaaS。它基于OpenStack Kilo版本,有三個產(chǎn)品:基礎(chǔ)設(shè)施云、監(jiān)控云和自助服務(wù)云。其主要特點(diǎn)是異構(gòu)云管理和混合云管理;A(chǔ)設(shè)施云管理物理資源;自助服務(wù)云提供資源應(yīng)用管理儀表板、工作流程管理、服務(wù)管理以及PaaS和SaaS等云服務(wù);監(jiān)控云提供對云主機(jī)的監(jiān)控、資源利用,還實(shí)現(xiàn)了ITIL流程。
TStack使用以下OpenStack組件:Keystone、Nova、Neutron、Cinder、Glance、Ironic、Heat、Swift、Manila和Horizon。是否為滿足業(yè)務(wù)需求升級到最新的OpenStack版本正在評估中。截至目前,TStack已在上海、成都、天津、汕尾4個地區(qū)的7個數(shù)據(jù)中心部署了14個集群。它管理10000多個操作系統(tǒng),托管內(nèi)部IT系統(tǒng)、功能部門業(yè)務(wù)系統(tǒng)和騰訊內(nèi)的大部分開發(fā)和測試系統(tǒng)。它已經(jīng)用于生產(chǎn)4年,可用性超過99.99%。
基于應(yīng)用服務(wù)的容災(zāi)要求,TStack采用多區(qū)域、雙位置、三中心部署。自助服務(wù)云用于跨區(qū)域的調(diào)度和管理。在一個區(qū)域內(nèi),使用三個控制節(jié)點(diǎn)來實(shí)現(xiàn)Keepalive + HAProxy的高可用性。MariaDB的Galera Cluster是數(shù)據(jù)庫。由于其簡單性和效率,在大多數(shù)地區(qū)使用VLAN,而VxLAN也在某些地區(qū)使用。使用OpenStack,可以在一個單一區(qū)域內(nèi)管理超過1000個計算節(jié)點(diǎn)。
OpenStack有什么挑戰(zhàn),如何克服的?
騰訊開展OpenStack的旅程并不順利。 TStack團(tuán)隊(duì)在四年前開始使用TStack以來,遇到了許多技術(shù)問題。幸運(yùn)的是,他們一直為用戶提供穩(wěn)定的服務(wù),克服了這些困難。
以下是一些代表性的例子:
- Nova無法將資源配額應(yīng)用于已經(jīng)在運(yùn)行的虛擬機(jī)。因此,TStack團(tuán)隊(duì)開發(fā)了基于Nova開放API的在線資源配額應(yīng)用功能,以便在不重啟虛擬機(jī)的情況下應(yīng)用資源配額,特別是在資源有限的情況下。
- Nova的本機(jī)調(diào)整大小功能將重啟虛擬機(jī)。TStack團(tuán)隊(duì)通過“nova live-resize”擴(kuò)展了此功能,可以在線調(diào)整云實(shí)例的大小。
- 雖然OpenStack基于CPU、內(nèi)存、磁盤和節(jié)點(diǎn)狀態(tài)提供了相當(dāng)多的調(diào)度策略,但仍然無法滿足騰訊的復(fù)雜業(yè)務(wù)需求。因此,TStack針對不同業(yè)務(wù)定制調(diào)度策略,通過在主機(jī)間移動虛擬機(jī)實(shí)現(xiàn)了高可用性。
- Nova塊遷移將復(fù)制磁盤卷。對于具有大卷的虛擬機(jī),遷移頻繁中斷。TStack團(tuán)隊(duì)在遷移期間實(shí)施動態(tài)自適應(yīng)壓縮,大大節(jié)省了帶寬,從而將遷移持續(xù)時間平均減少了50%。
- Heat無法編排在編排之前創(chuàng)建的虛擬機(jī)。TStack團(tuán)隊(duì)將騰訊內(nèi)部的BlueKING平臺與Heat結(jié)合,實(shí)現(xiàn)所有虛擬機(jī)的全生命周期管理。
- TStack團(tuán)隊(duì)開發(fā)了Neutron插件來管理來自不同供應(yīng)商的SDN控制器。
- TStack團(tuán)隊(duì)調(diào)整了RabbitMQ內(nèi)核配置,從而可以處理一個區(qū)域內(nèi)超過1000個計算節(jié)點(diǎn)之間的消息傳遞。
- 物理機(jī)、Xen VM、KVM VM和存儲設(shè)備都由TStack進(jìn)行管理和調(diào)度,以提高服務(wù)器利用率并降低IT成本。
對OpenStack社區(qū)和其他開源社區(qū)的體驗(yàn)是什么?
騰訊積極參與社區(qū)活動,分享經(jīng)驗(yàn),受益匪淺。在中國的全球云計算開源會議上,作為參與者和贊助商,騰訊公司進(jìn)行了一系列技術(shù)演示,參與并通過了OpenStack互操作性測試。騰訊還參加了2017年中國OpenStack Day,分享產(chǎn)品開發(fā)和運(yùn)營經(jīng)驗(yàn)。
TStack團(tuán)隊(duì)正在準(zhǔn)備OpenStack Summit Sydney,分享過去使用OpenStack的經(jīng)驗(yàn),同時,希望向來自世界各地的行業(yè)領(lǐng)導(dǎo)者學(xué)習(xí)。2017年5月,騰訊加入CNCF和Linux基金會,為容器服務(wù)和KVM虛擬化做出貢獻(xiàn)。 6月,騰訊加入了MariaDB基金會,共享數(shù)據(jù)庫CDB的經(jīng)驗(yàn)。
下一步做什么?
OpenStack為騰訊帶來了許多好處,也為騰訊繼續(xù)優(yōu)化OpenStack的應(yīng)用鋪平了道路。
未來,騰訊將在以下幾個方面加強(qiáng)對OpenStack的支持:
- 除了提高處理業(yè)務(wù)增長的能力外,從今年起,TStack也將增加對社區(qū)的投資。騰訊在中國擁有頂級研發(fā)人員和開發(fā)人員,將為OpenStack社區(qū)帶來新鮮血液,提供高品質(zhì)的代碼,共享開發(fā)和優(yōu)化體驗(yàn),并希望引領(lǐng)新項(xiàng)目。騰訊將為社區(qū)提供其業(yè)務(wù)優(yōu)化和內(nèi)部模塊,以幫助改進(jìn)OpenStack。騰訊還將專注于Magnum、Ironic和Kuryr等項(xiàng)目,探索實(shí)用案例并分享意見。該團(tuán)隊(duì)認(rèn)為,這一重要的新能量和知識共享將使OpenStack和云計算行業(yè)有更光明的未來。
- 在企業(yè)中,缺乏OpenStack操作技能是常見問題。強(qiáng)大的技術(shù)需要強(qiáng)大的操作技能。因此,騰訊將更多地投資建設(shè)運(yùn)營管理平臺和工具鏈,分享經(jīng)驗(yàn)教訓(xùn)和最佳實(shí)踐,以便其他人也可以更好地利用OpenStack管理云。
- 騰訊將把各種基礎(chǔ)服務(wù),如CMEM、CDB、CDN、消息隊(duì)列、負(fù)載均衡等整合到TStack中?蛻艨梢酝ㄟ^API或GUI訪問這些基本服務(wù)。
- 騰訊還將與合作伙伴進(jìn)行更密切的合作,建立開放和集成的云計算生態(tài)系統(tǒng),以降低云用戶的成本。
騰訊致力于云計算市場。TStack團(tuán)隊(duì)將使用基于OpenStack的私有云TStack以及專有的公有云來為全球市場建立一個完整的混合云服務(wù)生態(tài)系統(tǒng)。
騰訊希望和OpenStack一起成長,為OpenStack做出貢獻(xiàn),并為OpenStack生態(tài)系統(tǒng)帶來繁榮。