摘要:導(dǎo)讀阿里巴巴轉(zhuǎn)型之后,運(yùn)維平臺(tái)是如何建設(shè)的阿里巴巴高級(jí)技術(shù)專家陳喻結(jié)合運(yùn)維自身的理解,業(yè)務(wù)場(chǎng)景的分析和業(yè)界方法論的一些思考,得出來(lái)一些最佳實(shí)踐分享給大家。實(shí)施效果嘉賓介紹陳喻亞松,阿里巴巴高級(jí)技術(shù)專家。
導(dǎo)讀:阿里巴巴DevOps轉(zhuǎn)型之后,運(yùn)維平臺(tái)是如何建設(shè)的?阿里巴巴高級(jí)技術(shù)專家陳喻結(jié)合運(yùn)維自身的理解,業(yè)務(wù)場(chǎng)景的分析和業(yè)界方法論的一些思考,得出來(lái)一些最佳實(shí)踐分享給大家。
前言
“我是這個(gè)應(yīng)用的 Owner”是阿里巴巴DevOps轉(zhuǎn)型的重要策略,運(yùn)維有了這個(gè)策略以后,PE大量的日常工作就可以釋放出來(lái),會(huì)有更多的時(shí)間去思考沉淀,去做編碼,去做以前不曾做的事情。
運(yùn)維的三個(gè)階段
第一階段:黑屏,三角形是代表整個(gè)運(yùn)維給用戶的一些體感或者給研發(fā)的體感,人工運(yùn)維,目前很多企業(yè)可能還是這樣。
第二階段:白屏,自動(dòng)化運(yùn)維,以前把腳本做成工具去弄,有什么特征,人push機(jī)器去干活,自助運(yùn)維。
第三階段:用戶對(duì)運(yùn)維體感很少,但是運(yùn)維這個(gè)領(lǐng)域是不變的。最重要的是人機(jī)交互變少了,無(wú)屏雖說(shuō)是不可能的,非常極端,但是個(gè)趨勢(shì),少量的人機(jī)交互,它有自決策、自驅(qū)動(dòng)。
自動(dòng)化運(yùn)維基礎(chǔ)做自動(dòng)化運(yùn)維,我認(rèn)為有四大基礎(chǔ)。
第一:運(yùn)維標(biāo)準(zhǔn)與規(guī)范
我們的標(biāo)準(zhǔn)有什么好處,讓研發(fā) follow 這個(gè)標(biāo)準(zhǔn),標(biāo)準(zhǔn)會(huì)在工具里固化。
第二:泛監(jiān)控,運(yùn)行時(shí),靜態(tài),數(shù)據(jù)化,可視化
泛監(jiān)控,不是說(shuō)傳統(tǒng)的監(jiān)控,是把線上想知道的一切都數(shù)據(jù)化,最終數(shù)據(jù)不是給人看的,是給機(jī)器去消費(fèi)的,數(shù)據(jù)是我們的生產(chǎn)資料,不是可視化,那不是我們的目標(biāo)。
第三:CMDB
1.CMDB 應(yīng)該放什么,一般放服務(wù)器相關(guān)的、網(wǎng)絡(luò)相關(guān)的、應(yīng)用相關(guān)的這三個(gè)維度的相關(guān)信息。
2.經(jīng)常有人會(huì)說(shuō) CMDB 不準(zhǔn),數(shù)據(jù)不準(zhǔn)是因?yàn)闆]有把數(shù)據(jù)生產(chǎn)和數(shù)據(jù)消費(fèi)形成閉環(huán),如果形成了閉環(huán)數(shù)據(jù)不準(zhǔn),那是因?yàn)槟悴挥眠@個(gè)數(shù)據(jù),所以不準(zhǔn)。
第四:高效的CI/CD/CD
我們一定要具備快速的交付能力,主要體現(xiàn)這兩個(gè)方面:第一,新開發(fā)的能力能不能快速上線,第二,想擴(kuò)容一臺(tái)機(jī)器能不能快速擴(kuò)出來(lái)。這兩個(gè)能力抽象出來(lái)是三塊。
持續(xù)集成(CI),很多人說(shuō)持續(xù)集成工具不好用,效率低,其實(shí)持續(xù)集成的本質(zhì)是要自動(dòng)化測(cè)試。如果研發(fā)部不具備自動(dòng)化測(cè)試的能力,持續(xù)集成怎么做都是失敗的。
持續(xù)集成里最重要的一點(diǎn)就是要推行單元測(cè)試、集成測(cè)試還有系統(tǒng)測(cè)試,單測(cè)是保證自己沒問題,集成測(cè)試是保證跟上下游沒問題,系統(tǒng)測(cè)試是保證整個(gè)系統(tǒng)沒問題。
持續(xù)交付(CD),有很多人說(shuō)持續(xù)交付本質(zhì)是一個(gè) Pipeline,CI的目標(biāo)是什么?快速正確打一個(gè)包出來(lái)。CD的目標(biāo)是什么?能夠快速把一個(gè)包在不同的環(huán)境驗(yàn)證它是ok的,可以放到線上去,這就是持續(xù)交付要干的事。持續(xù)交付里很關(guān)鍵的一點(diǎn)我們要解決,就是它的環(huán)境一致性、配置一致性。環(huán)境一致性可以用Docker解決,Docker 本身就是一種標(biāo)準(zhǔn)化的東西。所以說(shuō)第一條用 Docker,肯定是標(biāo)準(zhǔn)化的,另外一個(gè)問題,配置是不是一致性,是不是動(dòng)靜分離。
持續(xù)部署(CD),是一種能力,這種能力非常重要,就是把一個(gè)包快速部署在你想要的地方。
PS:持續(xù)部署的幾個(gè)痛點(diǎn)。
1.對(duì)包的文件的分發(fā),阿里有一個(gè)叫蜻蜓的產(chǎn)品,是做了 SP2P,在 P2P 的基礎(chǔ)上加了一個(gè) Super。
2.應(yīng)用啟動(dòng),很多應(yīng)用啟動(dòng)的時(shí)候要兩三分鐘,這是很有問題的。
3.部署起來(lái)以后這個(gè)業(yè)務(wù)是不是正確的,大家一定要做一個(gè) HealthCheck,不是運(yùn)維做,是PE做,一定要把這個(gè)要求說(shuō)出來(lái),執(zhí)行 HealthCheck 這個(gè)腳本。
運(yùn)維系統(tǒng)的重要特性中間件研發(fā)首先關(guān)注穩(wěn)定性,其次是效率,然后是易擴(kuò)展。運(yùn)維研發(fā)里面的六個(gè)重要特征,每一個(gè)都非常重要,以下是我感觸比較深的幾個(gè)。
1.高可用
在做同城容災(zāi)演練的時(shí)候,我把關(guān)一切,結(jié)果發(fā)現(xiàn)運(yùn)維系統(tǒng)掛了,救命的東西沒有了怎么辦?所以說(shuō)運(yùn)維系統(tǒng)一定要是高可用,不一定是高并發(fā)。
2.冪等性
冪等性是分布式系統(tǒng)設(shè)計(jì)中十分重要的概念,這個(gè)也非常重要。
3.可回滾
這個(gè)是做運(yùn)維最基本的一個(gè) sense,你做的任何操作是不是可控的。如果真正做可回滾,其實(shí)事情沒有這么復(fù)雜。
4.高效率
如果你的企業(yè)發(fā)展非??焖?,你的規(guī)模性效應(yīng)已經(jīng)來(lái)了,你的運(yùn)維系統(tǒng)一定要具備很高效率,快速擴(kuò)容、快速部署這個(gè)效率我們要追求極致。
從最下面看,是我們的基礎(chǔ)設(shè)施,提供三種能力,包括集散、存儲(chǔ)、網(wǎng)絡(luò)。從右下角的位置看,畫的是一個(gè)泛監(jiān)控,它會(huì)知道系統(tǒng)、應(yīng)用等,在旁邊標(biāo)了一個(gè)字,現(xiàn)狀,我要通過(guò)這個(gè)現(xiàn)狀把線上的系統(tǒng)全部數(shù)據(jù)化,然后放到?jīng)Q策中心。
左上角有 CMDB,現(xiàn)在很多變更系統(tǒng),很多強(qiáng)調(diào)流程。我本人是做研發(fā)出身,非常抵觸流程,流程不是一個(gè)效率工具,它是阻礙效率的。
比如故障搞完以后就是一堆的流程,非常阻礙效率,是質(zhì)量控制的一個(gè)工具。流程不是不要,是把流程做到系統(tǒng)里面去,讓系統(tǒng)幫人做決策,而不是人在那里點(diǎn)。
CMDB 定義了我剛才說(shuō)的目標(biāo),現(xiàn)狀通過(guò)監(jiān)控拿到了,目標(biāo)也知道了,這個(gè)時(shí)候還覺得這個(gè)事情很復(fù)雜嗎?我認(rèn)為這看你怎么去做。想做成人工還是做成自動(dòng)或者做成智能,都取決于這個(gè)地方。所以智能里一定要有數(shù)據(jù)。
舉個(gè)例子,通過(guò)智能分析出目標(biāo)狀態(tài)是使這個(gè)應(yīng)用有100個(gè)VM,但是現(xiàn)在狀態(tài)只有80個(gè),一看這兩個(gè)不一樣,要擴(kuò)容20臺(tái),如果系統(tǒng)做得更智能一點(diǎn),通過(guò)圖上左邊的事件中心提示我20臺(tái)負(fù)載較輕的放在哪,可以調(diào)度過(guò)去,然后去做執(zhí)行變更。
基于這些東西得出來(lái)兩個(gè)結(jié)論,“研發(fā)定義運(yùn)維”,“配置驅(qū)動(dòng)變更”。
為什么是研發(fā)定義運(yùn)維?研發(fā)定義運(yùn)維(DDO),研發(fā)最貼近業(yè)務(wù),最應(yīng)該清楚這個(gè)業(yè)務(wù)應(yīng)該具備什么樣的能力,只有研發(fā)才知道這個(gè)業(yè)務(wù)KPS是多少。
為什么是配置驅(qū)動(dòng)變更?配置就是把目標(biāo)改變一下,你跟我說(shuō)一個(gè)運(yùn)維場(chǎng)景,我可以在這個(gè)圖里面 run 起來(lái),配置只需要改你的目標(biāo)狀態(tài),比如把你的狀態(tài)10VM 變成15個(gè)VM。
這就是“研發(fā)定義運(yùn)維,配置驅(qū)動(dòng)變更”前因后果的思考。
運(yùn)維工具與方法論
精益發(fā)現(xiàn)價(jià)值
價(jià)值來(lái)源于用戶的需求,而不是自己的YY,我們的價(jià)值來(lái)源于用戶。
精益對(duì)我最大的感觸就是要發(fā)現(xiàn)價(jià)值。精益思想,什么東西是有價(jià)值的,能夠?qū)τ脩魩?lái)物質(zhì)上的或者身體上的愉悅的東西就是有價(jià)值的。
今天也有人問,DevOps 團(tuán)隊(duì)是該拆還是該合,我想他應(yīng)該首先弄清楚面對(duì)的是什么樣的問題,問題的優(yōu)先級(jí)是什么?如果只解決一個(gè)問題,也許并不是DevOps 團(tuán)隊(duì)拆不拆的問題。
敏捷交付價(jià)值
敏捷也是對(duì)我影響很多的。很多人談敏捷,我們團(tuán)隊(duì)里也搞敏捷,敏捷是要快速交付價(jià)值,它是一系列的方法論。但是在引入的時(shí)候千萬(wàn)注意,別人行的東西你不一定行,你需要的東西并不一定是敏捷,要因團(tuán)隊(duì)而異,形成一個(gè)環(huán),持續(xù)反饋。
OODA環(huán)
OODA 環(huán),就是形成閉環(huán),讓價(jià)值快速流動(dòng)。
應(yīng)用運(yùn)維平臺(tái)ATOM
應(yīng)用運(yùn)維平臺(tái)的基礎(chǔ)設(shè)施是一層,二層是運(yùn)維中臺(tái),最上面一塊是要做的 PaaS 平臺(tái),這個(gè)平臺(tái)分幾步。
第一塊,預(yù)算、容量、資源、彈性
這個(gè)是PaaS 平臺(tái)上非常重要的一塊,目的就是讓資源快速流動(dòng)起來(lái),流向正確的方向來(lái)產(chǎn)生價(jià)值。資源如果常年不增不減,是有問題的。
第二塊,應(yīng)用管理
這是日常要做的操作,規(guī)模化,要快速對(duì)一個(gè)單元建站、擴(kuò)容、縮容。
第三塊,數(shù)據(jù)化運(yùn)營(yíng)
一定要講數(shù)據(jù),數(shù)據(jù)不是可視化出來(lái)一些報(bào)表,是要給結(jié)論,告訴用戶這個(gè)數(shù)據(jù)完了以后應(yīng)該是什么,規(guī)則中心是什么,是所有運(yùn)維同學(xué)日常的運(yùn)維經(jīng)驗(yàn)沉淀。
這個(gè)工具不是所有人都需要,可以解決機(jī)房的搬遷,湊框遷移。
單機(jī)閉環(huán),這是騰挪工具的關(guān)鍵,如果企業(yè)有一定規(guī)模,這個(gè)是需要的。
彈性伸縮是我們的決策中心。它決定你的資源往哪個(gè)地方流,非常關(guān)鍵。
最后,這里是運(yùn)維領(lǐng)域技術(shù)含量最深的一個(gè)地方,要搞機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、強(qiáng)化學(xué)習(xí)、算法等。
彈性伸縮架構(gòu),這個(gè)平臺(tái)不一定很多企業(yè)都需要,這里主要介紹在雙11的時(shí)候是怎么用的。
建一個(gè)站點(diǎn)起來(lái)只有5000的交易能力,可以通過(guò)10分鐘時(shí)間讓它具有30000萬(wàn)的能力,快速?zèng)Q策,快速調(diào)動(dòng)起來(lái)。彈性里面是一個(gè) OODA 環(huán),拿它的數(shù)據(jù)和應(yīng)用極限做比較,得出來(lái)一個(gè)策略中心。
彈性一般有水平伸縮、垂直伸縮,對(duì)線上做管理,當(dāng)然我們有額度,這是比較精細(xì)化的管理。彈性有觀察者模式還有自動(dòng)化執(zhí)行,每次彈性完以后有一個(gè)控制臺(tái),雙11做全年壓測(cè)的時(shí)候一般情況下不看這個(gè)。
實(shí)施效果
嘉賓介紹
陳喻(亞松),阿里巴巴高級(jí)技術(shù)專家。2014年入職阿里負(fù)責(zé)持續(xù)集成持續(xù)交付平臺(tái)研發(fā)團(tuán)隊(duì),2015年調(diào)入運(yùn)維團(tuán)隊(duì),負(fù)責(zé)交易運(yùn)維、無(wú)線運(yùn)維2個(gè)團(tuán)隊(duì),帶領(lǐng)團(tuán)隊(duì)保障日常運(yùn)維及雙11大促運(yùn)維。2016年開始負(fù)責(zé)Sigma彈性&資源運(yùn)營(yíng)團(tuán)隊(duì),主要領(lǐng)域?yàn)榧簭椥?,?yīng)用彈性,資源運(yùn)營(yíng),規(guī)?;\(yùn)維,支撐雙11,在2016,2017連續(xù)2年獲得雙11卓越貢獻(xiàn)獎(jiǎng)。
詳情請(qǐng)查看原文
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/8039.html
摘要:摘要在北京云棲大會(huì)上,阿里巴巴高級(jí)技術(shù)專家陳鑫花名神秀,給大家?guī)?lái)了億背后的企業(yè)級(jí)高效持續(xù)交付,引起強(qiáng)烈共鳴。 摘要: 在2017北京云棲大會(huì)上,阿里巴巴高級(jí)技術(shù)專家陳鑫(花名神秀),給大家?guī)?lái)了《1682億背后的企業(yè)級(jí)高效持續(xù)交付》,引起強(qiáng)烈共鳴。神秀從技術(shù)負(fù)責(zé)人關(guān)心的研發(fā)流程混亂、質(zhì)量無(wú)法保障、環(huán)境管理低效、資源浪費(fèi)等方面,結(jié)合阿里巴巴的DevOps實(shí)踐,深度解析了企業(yè)級(jí)持續(xù)交付如...
摘要:北京時(shí)間月日月日,由和中國(guó)國(guó)際人才交流基金會(huì)聯(lián)合主辦的第七屆全球軟件案例研究峰會(huì)簡(jiǎn)稱在北京國(guó)家會(huì)議中心圓滿落幕。本屆峰會(huì),來(lái)自阿里美團(tuán)百度平安銀行等企業(yè)的講師分別從企業(yè)轉(zhuǎn)型及研發(fā)效能方面分享敏捷和的實(shí)踐細(xì)節(jié)和操作經(jīng)驗(yàn)。 北京時(shí)間11月30日-12月3日,由msup和中國(guó)國(guó)際人才交流基金會(huì)聯(lián)合主辦的第七屆全球軟件案例研究峰會(huì)(簡(jiǎn)稱:TOP100summit)在北京國(guó)家會(huì)議中心圓滿落幕。T...
摘要:對(duì)于企業(yè)而言,最大的作用就是提升效率,基本上適用于所有做研發(fā)的企業(yè)。滴滴這些年的業(yè)務(wù)飛速增長(zhǎng),成為國(guó)內(nèi)第二個(gè)日訂單量超過(guò)千萬(wàn)的公司,隨之而來(lái)的是系統(tǒng)屢次出現(xiàn)線上故障,穩(wěn)定性建設(shè)成為滴滴支撐業(yè)務(wù)發(fā)展的重要保障。 最近幾年,DevOps 的發(fā)展非常迅速,如今在開發(fā)運(yùn)維圈子里如果不懂DevOps 都不敢說(shuō)自己是混這個(gè)圈子的人。國(guó)外有人專門針對(duì) DevOps 做了一項(xiàng)調(diào)查,結(jié)果顯示在2016 ...
摘要:用云效首先可以獲得研發(fā)模式的標(biāo)準(zhǔn)化,我們將其命名為,這是目前應(yīng)用最廣最適合阿里巴巴的分支管理模式,不但具有高度自由,快速迭代的特性,還可以與流水線結(jié)合,讓整個(gè)公司具有統(tǒng)一的軟件交付規(guī)范。最終避免了的發(fā)布故障。 在2018第二屆研發(fā)效能嘉年華上,阿里巴巴云效技術(shù)專家崔力強(qiáng)帶來(lái)了如何做到高效軟件交付的精彩演講,首先介紹了阿里巴巴在近幾年在交付平臺(tái)上的技術(shù)經(jīng)驗(yàn),以及目前云上工具平臺(tái)交易的趨勢(shì)...
閱讀 1055·2021-11-24 10:30
閱讀 2380·2021-10-08 10:04
閱讀 4045·2021-09-30 09:47
閱讀 1535·2021-09-29 09:45
閱讀 1513·2021-09-24 10:33
閱讀 6356·2021-09-22 15:57
閱讀 2401·2021-09-22 15:50
閱讀 4133·2021-08-30 09:45