隨著云計算的普及,越來越多的企業(yè)開始在云端部署自己的應(yīng)用,如何對這些應(yīng)用進行管理、調(diào)度、優(yōu)化、運維等,以實現(xiàn)應(yīng)用的快速部署、快速迭代和實時監(jiān)控,已然成為云計算服務(wù)的一大難題。

從2012年正式上線私有云平臺到2015年推出網(wǎng)易蜂巢容器云平臺,再到2016年上線DevOps和微服務(wù)。作為網(wǎng)易云的基礎(chǔ)設(shè)施云服務(wù),網(wǎng)易蜂巢一直走在行業(yè)前列,并形成了新一代云計算的雛形。

截止到目前,采用業(yè)界最先進的容器編排技術(shù)Kubernetes,網(wǎng)易蜂巢支撐了網(wǎng)易內(nèi)部95%以上的互聯(lián)網(wǎng)業(yè)務(wù),包括擁有億級用戶的網(wǎng)易考拉海購和網(wǎng)易云音樂。在提供高可用和高性能服務(wù)的同時,網(wǎng)易蜂巢在認證鑒權(quán)、網(wǎng)絡(luò)隔離、容器安全、任務(wù)調(diào)度、集群擴容、監(jiān)控告警等方面積累了豐富的運維經(jīng)驗。

劉超在Velocity大會介紹說,網(wǎng)易蜂巢的運維實踐可以追溯到IaaS層、PaaS層和CaaS層。

 

 

在硬件層面,網(wǎng)易蜂巢采用了五星級機房標準,實現(xiàn)多線BGP網(wǎng)絡(luò)接入、萬兆網(wǎng)絡(luò)互聯(lián)和全SSD存儲。

基于硬件,網(wǎng)易蜂巢基于OpenStack自主研發(fā)了IaaS服務(wù),實現(xiàn)了高性能的計算虛擬化,網(wǎng)絡(luò)虛擬化和存儲虛擬化。對于計算虛擬化方面,網(wǎng)易蜂巢定制KVM系統(tǒng)鏡像,對原有厚重的虛擬機鏡像進行了內(nèi)核裁剪,并通過實現(xiàn)云主機IP靜態(tài)化,優(yōu)化OpenStack創(chuàng)建云主機流程,從而使得本來分鐘級別的虛擬機創(chuàng)建過程縮減為秒級別。對于網(wǎng)絡(luò)存儲化方面,基于Openvswitch和SDN技術(shù),實現(xiàn)了虛擬機主機的高速互聯(lián),另外針對網(wǎng)絡(luò)安全和網(wǎng)絡(luò)攻擊,通過DPDK技術(shù),在用戶態(tài)可以實現(xiàn)網(wǎng)絡(luò)包從二層到四層的過濾,防止MAC和IP網(wǎng)絡(luò)欺騙,對于網(wǎng)絡(luò)性能,通過linux的tc技術(shù)結(jié)合Openvswitch,實現(xiàn)基于租戶的網(wǎng)絡(luò)性能隔離和QoS。

基于IaaS層,在數(shù)據(jù)庫、緩存服務(wù)、對象存儲等方面,網(wǎng)易蜂巢也通過自研的方式實現(xiàn)了高可用、高性能的PaaS。

網(wǎng)易蜂巢作為容器云平臺,相比于虛擬機實現(xiàn)了以資源為核心到以應(yīng)用為核心的轉(zhuǎn)變,用戶可以通過去狀態(tài)化,容器化,和DevOps,實現(xiàn)應(yīng)用的動態(tài)擴展,負載均衡,快速迭代。以DevOps為例,網(wǎng)易蜂巢提供了豐富的運維工具,不僅解決了線上線下環(huán)境一致性的問題,還打通了研發(fā)和運維部門,使得研發(fā)能夠通過蜂巢自動完成運維工作,而運維部門也可以更加聚焦于服務(wù)的連續(xù)性、用戶的體驗以及可靠性,使得整個組織協(xié)作更加高效。

從虛擬機過度到容器,對于一些傳統(tǒng)企業(yè)來講,一步實現(xiàn)微服務(wù)化和DevOps還是比較困難的,需要長時間的應(yīng)用改造和開發(fā)流程的完善,為了幫助客戶盡快的實現(xiàn)應(yīng)用的容器化,網(wǎng)易蜂巢推出了有狀態(tài)容器。一個容器啟動的時候,會將容器的配置和容器的鏡像放在一個本地文件夾里面,Docker Daemon通過讀取這個文件夾,來維護當(dāng)前主機上的所有的容器列表。網(wǎng)易蜂巢通過定制化Docker,在容器啟動的時候,將容器的配置和鏡像保存在外部的統(tǒng)一存儲上面,從而使得到容器所在主機宕機的時候,在另外的主機上,可以掛載外部的統(tǒng)一存儲,從而保證保存在硬盤上面的數(shù)據(jù)在容器跨主機遷移的時候,不丟失。

 

 

此外,網(wǎng)易蜂巢的技術(shù)團隊還進行了一系列的容器層面的優(yōu)化和編排層面優(yōu)化,比如說網(wǎng)易蜂巢在容器方面提供了虛擬化扁平二層網(wǎng)絡(luò),基于VXLAN實現(xiàn)租戶隔離,可以使得用戶不通過NAT,而是通過傳統(tǒng)虛擬機的網(wǎng)絡(luò)互聯(lián)模式來進行容器間的互聯(lián),從而使得容器化對于用戶應(yīng)用的侵入性很少。

服務(wù)微服務(wù)化之后,容器數(shù)量會比較多,如果查找問題需要對于每個容器的日志進行查看,會比較難定位問題,網(wǎng)易蜂巢平臺提供統(tǒng)一的日志收集,分析,搜索服務(wù),用戶可以通過關(guān)鍵字進行搜索,將某個訂單號在各個應(yīng)用中的日志全部查詢出來,則問題就一目了然了。

除了問題的定位,性能瓶頸的定位也是一個挑戰(zhàn),網(wǎng)易蜂巢引入服務(wù)端 APM 解決細粒度性能分析,通過不同應(yīng)用之間的調(diào)用鏈,迅速發(fā)掘性能瓶頸。

在服務(wù)編排上, Kubernates默認的namespace只隔離replication controller,pod 等資源,網(wǎng)易蜂巢實現(xiàn)了節(jié)點、存儲、網(wǎng)絡(luò)的租戶隔離,從而實現(xiàn)不同的租戶不共享云主機節(jié)點,使用完全獨立的VXLAN ID,滿足公有云模式下租戶的安全隔離需求。

 

 

同時劉超表示,在這個“唯快不破”的互聯(lián)網(wǎng)時代,網(wǎng)易蜂巢將助力企業(yè)實現(xiàn)微服務(wù)化。

 

 

在如圖中的架構(gòu)里面,用戶僅僅需要關(guān)心自己的應(yīng)用的開發(fā)流程,實現(xiàn)微服務(wù)和DevOps,至于底層的IaaS層的計算,網(wǎng)絡(luò),存儲,中間的PaaS的數(shù)據(jù)庫,緩存,對象存儲,上層的CaaS層的持續(xù)集成、鏡像倉庫、服務(wù)發(fā)現(xiàn)、服務(wù)編排、日志服務(wù)、APM等,以及對外的負載均衡和CDN服務(wù),可以全部交給網(wǎng)易蜂巢平臺來實現(xiàn)。更重要的是,網(wǎng)易蜂巢遵循開放、標準、穩(wěn)定的原則,所有的層面全部使用開源的軟件和開放的接口,使得服務(wù)本身易遷移、無綁定。

Web性能、運維、DevOps、容器、微服務(wù)等成為今年Velocity北京站的核心議題,也預(yù)示了云計算和企業(yè)級服務(wù)發(fā)展的趨勢。網(wǎng)易蜂巢作為新一代云計算平臺在DevOps、微服務(wù)等方面有著出色的表現(xiàn),未來將繼續(xù)為客戶提供穩(wěn)定、可靠、高質(zhì)量的云服務(wù)。

分享到

songjy

相關(guān)推薦