像谷歌一樣打理IT:新一代云計(jì)算PaaS平臺(tái)管理體系詳解
2017-01-13 10:17:34 來(lái)源:云頭條 熱度:
近年來(lái),隨著企業(yè)的業(yè)務(wù)形態(tài)從線下走到線上,企業(yè)的傳統(tǒng)業(yè)務(wù)逐漸向互聯(lián)網(wǎng)方向轉(zhuǎn)型,對(duì)IT系統(tǒng)提出了新的要求,企業(yè)級(jí)客戶紛紛采用云計(jì)算作為新一代的IT架構(gòu)?;ヂ?lián)網(wǎng)公司的飛速發(fā)展,已經(jīng)印證了云計(jì)算可以對(duì)互聯(lián)網(wǎng)業(yè)務(wù)提供有力支撐。因此,企業(yè)級(jí)客戶借鑒互聯(lián)網(wǎng)公司的經(jīng)驗(yàn),逐步建立新一代云計(jì)算IT架構(gòu),以更好地支撐互聯(lián)網(wǎng)相關(guān)新業(yè)務(wù)。
Google作為IT行業(yè)的標(biāo)桿,是云計(jì)算領(lǐng)域公認(rèn)的領(lǐng)頭羊之一。Google打造了一套高效的云計(jì)算IT架構(gòu)體系,有力地支撐了Google的互聯(lián)網(wǎng)業(yè)務(wù),使得其搜索、廣告、視頻、郵箱等業(yè)務(wù)都極具競(jìng)爭(zhēng)力。
在Google的云計(jì)算IT架構(gòu)體系中,PaaS平臺(tái)最為強(qiáng)大,Google的PaaS平臺(tái)管理了內(nèi)部數(shù)十億應(yīng)用程序,并運(yùn)行在上百萬(wàn)臺(tái)服務(wù)器上。具體來(lái)說(shuō),Google的PaaS平臺(tái)相關(guān)的IT架構(gòu)體系包含兩個(gè)部分:一部分是工具層,即數(shù)據(jù)中心操作系統(tǒng),包括應(yīng)用調(diào)度、日志檢索、監(jiān)控報(bào)警、測(cè)試打包、應(yīng)用發(fā)布、鏡像倉(cāng)庫(kù)等等。Google數(shù)據(jù)中心操作系統(tǒng)的核心是調(diào)度器Borg,Google內(nèi)部所有的業(yè)務(wù)應(yīng)用程序都被Borg統(tǒng)一調(diào)度統(tǒng)一運(yùn)行在Google所有的數(shù)據(jù)中心里,并實(shí)現(xiàn)應(yīng)用的全生命周期管理。另一部分是管理運(yùn)維層,即Site Reliability Engineering (SRE)體系,SRE體系強(qiáng)調(diào)開(kāi)發(fā)和運(yùn)維的有機(jī)結(jié)合,是Google對(duì)DevOps的一種實(shí)踐。SRE體系最大的特點(diǎn)是對(duì)IT人員(包括開(kāi)發(fā)和運(yùn)維)的管理,諸如各種制度、規(guī)范等,最終都落實(shí)到了工具的層面,而不只是紙面,切實(shí)加強(qiáng)了對(duì)IT人員的規(guī)約,保證了業(yè)務(wù)應(yīng)用的快速交付和穩(wěn)定運(yùn)維。

Google SRE體系的本質(zhì)是提升IT效率
IT行業(yè)雖然發(fā)展多年,各種高新技術(shù)層出不窮,但是IT行業(yè)自身的效率仍然不高。從面向?qū)ο缶幊?、UML、SOA、瀑布式開(kāi)發(fā)到近些年流行的DevOps、微服務(wù)、敏捷開(kāi)發(fā)等等,這些軟件工程方法都是為了提升IT行業(yè)軟件開(kāi)發(fā)的效率。跟制造業(yè)的工業(yè)化程度相比,IT行業(yè)的工業(yè)化程度還非常弱。但是IT行業(yè)的軟件開(kāi)發(fā)、交付、運(yùn)維,無(wú)不需要大量的人力工作,因此,IT公司的技術(shù)水平嚴(yán)重依賴軟件工程師的水平。
SRE體系跟制造業(yè)的工業(yè)化程度有異曲同工之處,它們的目的都在于提升效率。一般來(lái)說(shuō),工業(yè)化程度有四層:工業(yè)化1.0是機(jī)械化和動(dòng)力化;工業(yè)化2.0是自動(dòng)化和流程化(過(guò)程中伴隨著標(biāo)準(zhǔn)化);工業(yè)化3.0是信息化;工業(yè)化4.0是智能化。由于IT行業(yè)特殊性,軟件開(kāi)發(fā)需要腦力勞動(dòng),不存在機(jī)械化這一維度。Google的SRE體系分為三個(gè)層面,分別對(duì)應(yīng)工業(yè)化2.0、3.0和4.0:
自動(dòng)化、服務(wù)化、標(biāo)準(zhǔn)化,這個(gè)層面注重提升IT效率,尤其是業(yè)務(wù)應(yīng)用的交付、運(yùn)維效率,對(duì)應(yīng)工業(yè)化2.0;
信息化,這個(gè)層面強(qiáng)調(diào)數(shù)據(jù)化的IT管理,對(duì)業(yè)務(wù)決策提供數(shù)據(jù)支持,對(duì)應(yīng)工業(yè)化3.0;
智能化,這個(gè)層面是IT行業(yè)的革命性改變,對(duì)IT管理的方方面面都要智能化管理,對(duì)應(yīng)工業(yè)化4.0。
下面以Google的SRE為例,著重介紹如何有序分步建立高效的PaaS平臺(tái)管理體系,從而有效提升IT效率,更好地支撐業(yè)務(wù)需求。
第一步,應(yīng)用管理
SRE體系第一步是實(shí)現(xiàn)應(yīng)用管理,把應(yīng)用全生命周期涉及的各個(gè)環(huán)節(jié)都盡量做到自動(dòng)化、服務(wù)化、標(biāo)準(zhǔn)化,進(jìn)而提升開(kāi)發(fā)效率、縮短交付周期、加速業(yè)務(wù)應(yīng)用迭代,這一步跟工業(yè)化2.0相對(duì)應(yīng)。應(yīng)用的全生命周期包括開(kāi)發(fā)、測(cè)試、發(fā)布以及線上運(yùn)維管理等環(huán)節(jié),SRE在應(yīng)用管理方面分別有相應(yīng)的方法和工具提升這幾個(gè)環(huán)節(jié)的效率。
首先,微服務(wù)是SRE采用的一種有利于分工協(xié)作的敏捷開(kāi)發(fā)方式。微服務(wù),可以類比工業(yè)化大生產(chǎn)提倡的分工協(xié)作,它提升了團(tuán)隊(duì)協(xié)作效率。每個(gè)微服務(wù)由一個(gè)小團(tuán)隊(duì)負(fù)責(zé)開(kāi)發(fā)實(shí)現(xiàn),小團(tuán)隊(duì)的人數(shù)不多,降低了團(tuán)隊(duì)內(nèi)的溝通成本。微服務(wù)之間用開(kāi)放的API進(jìn)行互聯(lián),通過(guò)API來(lái)封裝每個(gè)微服務(wù)的內(nèi)部系統(tǒng)復(fù)雜性。更進(jìn)一步,API采用RESTful風(fēng)格,使得API的操作符合HTTP標(biāo)準(zhǔn),更方便理解API操作的語(yǔ)義,便于團(tuán)隊(duì)合作。
其次,容器是SRE采用的標(biāo)準(zhǔn)化應(yīng)用封裝、分發(fā)的方式。容器,可以類比集裝箱,它提供了標(biāo)準(zhǔn)化的應(yīng)用交付方式,有效降低了環(huán)境異構(gòu)帶來(lái)的應(yīng)用交付復(fù)雜度,極大地提升了應(yīng)用交付的效率。Google采用的容器技術(shù),雖然不是流行的Docker技術(shù),但是理念完全類似。通過(guò)把應(yīng)用程序和所依賴的各種library都打包在一起,形成一個(gè)二進(jìn)制文件,使得該二進(jìn)制文件在運(yùn)行時(shí)對(duì)外部的依賴降到最低,僅依賴Linux內(nèi)核。這樣一來(lái),Google內(nèi)部的所有二進(jìn)制可執(zhí)行文件(不管程序是用C++寫(xiě)的還是用Java寫(xiě)的)都能夠在任何一臺(tái)Google的數(shù)據(jù)中心服務(wù)器上運(yùn)行,進(jìn)而極大地方便了Google的數(shù)據(jù)中心操作系統(tǒng)來(lái)調(diào)度運(yùn)行各種內(nèi)部應(yīng)用程序。當(dāng)Google的數(shù)據(jù)中心操作系統(tǒng)調(diào)度運(yùn)行內(nèi)部應(yīng)用時(shí),從調(diào)度器Borg的角度看,所有的應(yīng)用都是標(biāo)準(zhǔn)化的容器應(yīng)用,容器應(yīng)用需要的資源都是標(biāo)準(zhǔn)的CPU、內(nèi)存、網(wǎng)絡(luò)、硬盤(pán)等資源。當(dāng)應(yīng)用都變成標(biāo)準(zhǔn)化的容器應(yīng)用時(shí),PaaS平臺(tái)管理的不再是形形色色的應(yīng)用程序,也不再考慮應(yīng)用程序?qū)\(yùn)行環(huán)境的各種不同依賴,只需要處理應(yīng)用的標(biāo)準(zhǔn)化需求,這使得數(shù)據(jù)中心的管理復(fù)雜度大為降低。
DevOps是SRE采用的變更發(fā)布、運(yùn)維管理的方式。DevOps,可以類比供應(yīng)鏈管理,它提升了應(yīng)用交付效率、縮短了更新迭代周期。Google內(nèi)部采用數(shù)據(jù)中心操作系統(tǒng)來(lái)落地DevOps,把很多IT能力變得自動(dòng)化或是自助服務(wù)化。在自動(dòng)化方面,數(shù)據(jù)中心操作系統(tǒng)提供了自動(dòng)化的構(gòu)建、測(cè)試、運(yùn)維能力。特別的在自動(dòng)化運(yùn)維方面,數(shù)據(jù)中心操作系統(tǒng)可以實(shí)現(xiàn)故障自愈、彈性伸縮、流量遷移等自動(dòng)化運(yùn)維功能,有效地降低運(yùn)維復(fù)雜度,提升運(yùn)維效率。在自助服務(wù)化方面,數(shù)據(jù)中心操作系統(tǒng)提供了應(yīng)用一鍵部署、滾動(dòng)更新、灰度發(fā)布能力,并提供自助的監(jiān)控、報(bào)警、日志服務(wù)。有了這些自助服務(wù)能力,Google開(kāi)發(fā)人員可以自行發(fā)布應(yīng)用并管理運(yùn)行中的應(yīng)用,無(wú)須依賴運(yùn)維,有效地提升了交付效率。
Google內(nèi)部已經(jīng)落地了應(yīng)用全生命周期管理,并完全實(shí)現(xiàn)了IT管理自動(dòng)化、標(biāo)準(zhǔn)化、服務(wù)化。
第二步,數(shù)據(jù)管理
SRE體系第二步是要實(shí)現(xiàn)數(shù)據(jù)管理,把業(yè)務(wù)應(yīng)用在運(yùn)行時(shí)產(chǎn)生的各種數(shù)據(jù)進(jìn)行采集并提供大數(shù)據(jù)處理能力,用于后續(xù)對(duì)業(yè)務(wù)進(jìn)行分析,這一步跟工業(yè)化3.0相對(duì)應(yīng)。
Google的數(shù)據(jù)中心操作系統(tǒng)會(huì)采集各個(gè)IT環(huán)節(jié)的數(shù)據(jù),不僅包括監(jiān)控?cái)?shù)據(jù)、報(bào)警數(shù)據(jù)、日志數(shù)據(jù)等應(yīng)用運(yùn)行時(shí)產(chǎn)生的數(shù)據(jù),還包括開(kāi)發(fā)測(cè)試階段的數(shù)據(jù)。Google利用各環(huán)節(jié)產(chǎn)生的數(shù)據(jù)進(jìn)行各種分析:SRE部門(mén)利用監(jiān)控?cái)?shù)據(jù)分析應(yīng)用的資源使用情況,Google的監(jiān)控系統(tǒng)可以很方便地查詢線上應(yīng)用系統(tǒng)過(guò)去一兩年的監(jiān)控?cái)?shù)據(jù),很容易看出業(yè)務(wù)對(duì)資源消耗的需求,進(jìn)而有效地進(jìn)行資源規(guī)劃,防止資源浪費(fèi)提升資源利用率;Google利用日志數(shù)據(jù)分析業(yè)務(wù)的運(yùn)行情況,比如Google的廣告系統(tǒng)利用日志數(shù)據(jù)分析廣告點(diǎn)擊情況,進(jìn)而提升廣告點(diǎn)擊率;SRE部門(mén)利用報(bào)警數(shù)據(jù)來(lái)評(píng)估業(yè)務(wù)系統(tǒng)的穩(wěn)定性,Google的SRE部門(mén)對(duì)重要業(yè)務(wù)系統(tǒng)每個(gè)季度的報(bào)警次數(shù)有嚴(yán)格要求,不滿足穩(wěn)定性要求的業(yè)務(wù)系統(tǒng)則不允許上線;Google利用測(cè)試數(shù)據(jù)來(lái)評(píng)估測(cè)試用例的質(zhì)量,如果某個(gè)單元測(cè)試用例失敗次數(shù)過(guò)多,該測(cè)試用例會(huì)被標(biāo)記為不穩(wěn)定,并要求編寫(xiě)該用例的工程師進(jìn)行改進(jìn);Google會(huì)采集代碼提交、代碼審查數(shù)據(jù),工程師在升職報(bào)告里可以附上自己的代碼提交和代碼審查數(shù)據(jù),用于側(cè)面印證自己的工作量。
Google內(nèi)部已經(jīng)落地了數(shù)據(jù)管理,并基本實(shí)現(xiàn)了IT管理信息化。
第三步,智能管理
SRE體系第三步是要實(shí)現(xiàn)智能管理,利用上一步采集的各種數(shù)據(jù)進(jìn)行分析,然后智能地管理各個(gè)IT環(huán)節(jié),這一步跟工業(yè)化4.0相對(duì)應(yīng)。Google已經(jīng)實(shí)現(xiàn)了部分IT環(huán)節(jié)的智能管理。Google的數(shù)據(jù)中心操作系統(tǒng)在運(yùn)行某些應(yīng)用時(shí),可以不用人為指定應(yīng)用運(yùn)行時(shí)需要的資源使用量,調(diào)度器Borg自動(dòng)按需給應(yīng)用分配資源。Google數(shù)據(jù)中心冷卻系統(tǒng)的功率會(huì)自動(dòng)根據(jù)數(shù)據(jù)中心的負(fù)載情況進(jìn)行調(diào)節(jié),數(shù)據(jù)中心部門(mén)會(huì)依據(jù)歷史數(shù)據(jù)對(duì)數(shù)據(jù)中心的負(fù)載進(jìn)行預(yù)測(cè),當(dāng)負(fù)載高峰時(shí)增大數(shù)據(jù)中心冷卻系統(tǒng)的功率,當(dāng)負(fù)載低谷時(shí)減小數(shù)據(jù)中心冷卻系統(tǒng)的功率,從而節(jié)省數(shù)據(jù)中心電力開(kāi)銷。Google的負(fù)載均衡系統(tǒng)會(huì)根據(jù)業(yè)務(wù)系統(tǒng)的負(fù)載變化,自動(dòng)進(jìn)行流量調(diào)節(jié),防止業(yè)務(wù)系統(tǒng)過(guò)載,保證業(yè)務(wù)穩(wěn)定性。
Google內(nèi)部正逐步實(shí)現(xiàn)各IT環(huán)節(jié)的智能管理。
云計(jì)算已經(jīng)成為下一代企業(yè)級(jí)IT的事實(shí)標(biāo)準(zhǔn)。現(xiàn)階段,IaaS平臺(tái)相對(duì)成熟,而PaaS平臺(tái)還相對(duì)早期,企業(yè)級(jí)客戶對(duì)如何搭建、使用、管理PaaS平臺(tái)尚有很多困惑。SRE是Google采用的一套行之有效的云計(jì)算IT管理體系,我們相信SRE的理念可以被企業(yè)級(jí)客戶借鑒并應(yīng)用于PaaS平臺(tái)的管理,進(jìn)而有力地支撐企業(yè)級(jí)客戶的互聯(lián)網(wǎng)新業(yè)務(wù)。
下一篇:谷歌不打算親自在地球上建網(wǎng)絡(luò)了,有意賣掉衛(wèi)星業(yè)務(wù)子公司上一篇:開(kāi)源云計(jì)算企業(yè)EasyStack獲5000萬(wàn)美元C輪融資
責(zé)任編輯:zhuchangxi
相關(guān)推薦
邁入云時(shí)代 運(yùn)營(yíng)商IT服務(wù)商角色轉(zhuǎn)換
2013年是云計(jì)算產(chǎn)業(yè)落地的關(guān)鍵一年,國(guó)內(nèi)外電子信息通信廠商紛紛積極布局和實(shí)施云戰(zhàn)略。對(duì)于電信運(yùn)營(yíng)商而言,云計(jì)算的發(fā)展既是挑戰(zhàn)也是機(jī)遇。挑戰(zhàn)源于,包括云計(jì)算在內(nèi)的其他技術(shù)迅速的發(fā)展,已經(jīng)開(kāi)始動(dòng)搖運(yùn)營(yíng)商在市場(chǎng)的壟斷地位,造成其業(yè)務(wù)正在被其他產(chǎn)業(yè)侵蝕。而機(jī)遇在于,運(yùn)營(yíng)商在云計(jì)算領(lǐng)域已經(jīng)具有一定的資源和品牌優(yōu)勢(shì)。為了提高市場(chǎng)競(jìng)爭(zhēng)力,避免落