<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          阿里巴巴 DevOps 轉(zhuǎn)型后的運(yùn)維平臺建設(shè)

          共 3755字,需瀏覽 8分鐘

           ·

          2022-01-20 10:19

          來源:云棲社區(qū)

          作者:陳喻(亞松),阿里巴巴高級技術(shù)專家


          云棲君導(dǎo)讀:阿里巴巴DevOps轉(zhuǎn)型之后,運(yùn)維平臺是如何建設(shè)的?阿里巴巴高級技術(shù)專家陳喻結(jié)合運(yùn)維自身的理解,業(yè)務(wù)場景的分析和業(yè)界方法論的一些思考,得出來一些最佳實(shí)踐分享給大家。


          前言


          “我是這個(gè)應(yīng)用的 Owner”是阿里巴巴DevOps轉(zhuǎn)型的重要策略,運(yùn)維有了這個(gè)策略以后,PE大量的日常工作就可以釋放出來,會有更多的時(shí)間去思考沉淀,去做編碼,去做以前不曾做的事情。


          運(yùn)維的三個(gè)階段





          • 第一階段:黑屏,三角形是代表整個(gè)運(yùn)維給用戶的一些體感或者給研發(fā)的體感,人工運(yùn)維,目前很多企業(yè)可能還是這樣。

          • 第二階段:白屏,自動化運(yùn)維,以前把腳本做成工具去弄,有什么特征,人push機(jī)器去干活,自助運(yùn)維。

          • 第三階段:用戶對運(yùn)維體感很少,但是運(yùn)維這個(gè)領(lǐng)域是不變的。最重要的是人機(jī)交互變少了,無屏雖說是不可能的,非常極端,但是個(gè)趨勢,少量的人機(jī)交互,它有自決策、自驅(qū)動。


          自動化運(yùn)維基礎(chǔ)


          做自動化運(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)會在工具里固化。


          • 第二:泛監(jiān)控,運(yùn)行時(shí),靜態(tài),數(shù)據(jù)化,可視化


          泛監(jiān)控,不是說傳統(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)常有人會說 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ò)容一臺機(jī)器能不能快速擴(kuò)出來。這兩個(gè)能力抽象出來是三塊。


          持續(xù)集成(CI),很多人說持續(xù)集成工具不好用,效率低,其實(shí)持續(xù)集成的本質(zhì)是要自動化測試。如果研發(fā)部不具備自動化測試的能力,持續(xù)集成怎么做都是失敗的。


          持續(xù)集成里最重要的一點(diǎn)就是要推行單元測試、集成測試還有系統(tǒng)測試,單測是保證自己沒問題,集成測試是保證跟上下游沒問題,系統(tǒng)測試是保證整個(gè)系統(tǒng)沒問題。


          持續(xù)交付(CD),有很多人說持續(xù)交付本質(zhì)是一個(gè) Pipeline,CI的目標(biāo)是什么?快速正確打一個(gè)包出來。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)化的東西。所以說第一條用 Docker,肯定是標(biāo)準(zhǔn)化的,另外一個(gè)問題,配置是不是一致性,是不是動靜分離。


          持續(xù)部署(CD),是一種能力,這種能力非常重要,就是把一個(gè)包快速部署在你想要的地方。


          PS:持續(xù)部署的幾個(gè)痛點(diǎn)。


          1. 對包的文件的分發(fā),阿里有一個(gè)叫蜻蜓的產(chǎn)品,是做了 SP2P,在 P2P 的基礎(chǔ)上加了一個(gè) Super。

          2. 應(yīng)用啟動,很多應(yīng)用啟動的時(shí)候要兩三分鐘,這是很有問題的。

          3. 部署起來以后這個(gè)業(yè)務(wù)是不是正確的,大家一定要做一個(gè) HealthCheck,不是運(yùn)維做,是PE做,一定要把這個(gè)要求說出來,執(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)掛了,救命的東西沒有了怎么辦?所以說運(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)來了,你的運(yùn)維系統(tǒng)一定要具備很高效率,快速擴(kuò)容、快速部署這個(gè)效率我們要追求極致。


          研發(fā)定義運(yùn)維,配置驅(qū)動變更




          2015年11月4日設(shè)想的架構(gòu)圖


          從最下面看,是我們的基礎(chǔ)設(shè)施,提供三種能力,包括集散、存儲、網(wǎng)絡(luò)。從右下角的位置看,畫的是一個(gè)泛監(jiān)控,它會知道系統(tǒng)、應(yīng)用等,在旁邊標(biāo)了一個(gè)字,現(xiàn)狀,我要通過這個(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 定義了我剛才說的目標(biāo),現(xiàn)狀通過監(jiān)控拿到了,目標(biāo)也知道了,這個(gè)時(shí)候還覺得這個(gè)事情很復(fù)雜嗎?我認(rèn)為這看你怎么去做。想做成人工還是做成自動或者做成智能,都取決于這個(gè)地方。所以智能里一定要有數(shù)據(jù)。


          舉個(gè)例子,通過智能分析出目標(biāo)狀態(tài)是使這個(gè)應(yīng)用有100個(gè)VM,但是現(xiàn)在狀態(tài)只有80個(gè),一看這兩個(gè)不一樣,要擴(kuò)容20臺,如果系統(tǒng)做得更智能一點(diǎn),通過圖上左邊的事件中心提示我20臺負(fù)載較輕的放在哪,可以調(diào)度過去,然后去做執(zhí)行變更。

          基于這些東西得出來兩個(gè)結(jié)論,“研發(fā)定義運(yùn)維”,“配置驅(qū)動變更”。


          為什么是研發(fā)定義運(yùn)維?


          研發(fā)定義運(yùn)維(DDO),研發(fā)最貼近業(yè)務(wù),最應(yīng)該清楚這個(gè)業(yè)務(wù)應(yīng)該具備什么樣的能力,只有研發(fā)才知道這個(gè)業(yè)務(wù)KPS是多少。


          為什么是配置驅(qū)動變更?


          配置就是把目標(biāo)改變一下,你跟我說一個(gè)運(yùn)維場景,我可以在這個(gè)圖里面 run 起來,配置只需要改你的目標(biāo)狀態(tài),比如把你的狀態(tài)10VM 變成15個(gè)VM。


          這就是“研發(fā)定義運(yùn)維,配置驅(qū)動變更”前因后果的思考。


          運(yùn)維工具與方法論





          精益發(fā)現(xiàn)價(jià)值


          價(jià)值來源于用戶的需求,而不是自己的YY,我們的價(jià)值來源于用戶。


          精益對我最大的感觸就是要發(fā)現(xiàn)價(jià)值。精益思想,什么東西是有價(jià)值的,能夠?qū)τ脩魩砦镔|(zhì)上的或者身體上的愉悅的東西就是有價(jià)值的。


          今天也有人問,DevOps 團(tuán)隊(duì)是該拆還是該合,我想他應(yīng)該首先弄清楚面對的是什么樣的問題,問題的優(yōu)先級是什么?如果只解決一個(gè)問題,也許并不是DevOps 團(tuán)隊(duì)拆不拆的問題。


          敏捷交付價(jià)值


          敏捷也是對我影響很多的。很多人談敏捷,我們團(tuán)隊(duì)里也搞敏捷,敏捷是要快速交付價(jià)值,它是一系列的方法論。但是在引入的時(shí)候千萬注意,別人行的東西你不一定行,你需要的東西并不一定是敏捷,要因團(tuán)隊(duì)而異,形成一個(gè)環(huán),持續(xù)反饋。


          OODA環(huán)


          OODA 環(huán),就是形成閉環(huán),讓價(jià)值快速流動。


          應(yīng)用運(yùn)維平臺ATOM


          應(yīng)用運(yùn)維平臺的基礎(chǔ)設(shè)施是一層,二層是運(yùn)維中臺,最上面一塊是要做的 PaaS 平臺,這個(gè)平臺分幾步。





          • 第一塊,預(yù)算、容量、資源、彈性


          這個(gè)是PaaS 平臺上非常重要的一塊,目的就是讓資源快速流動起來,流向正確的方向來產(chǎn)生價(jià)值。資源如果常年不增不減,是有問題的。


          • 第二塊,應(yīng)用管理


          這是日常要做的操作,規(guī)模化,要快速對一個(gè)單元建站、擴(kuò)容、縮容。


          • 第三塊,數(shù)據(jù)化運(yùn)營


          一定要講數(shù)據(jù),數(shù)據(jù)不是可視化出來一些報(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è)平臺不一定很多企業(yè)都需要,這里主要介紹在雙11的時(shí)候是怎么用的。




          建一個(gè)站點(diǎn)起來只有5000的交易能力,可以通過10分鐘時(shí)間讓它具有30000萬的能力,快速決策,快速調(diào)動起來。彈性里面是一個(gè) OODA 環(huán),拿它的數(shù)據(jù)和應(yīng)用極限做比較,得出來一個(gè)策略中心。


          彈性一般有水平伸縮、垂直伸縮,對線上做管理,當(dāng)然我們有額度,這是比較精細(xì)化的管理。彈性有觀察者模式還有自動化執(zhí)行,每次彈性完以后有一個(gè)控制臺,雙11做全年壓測的時(shí)候一般情況下不看這個(gè)。


          實(shí)施效果



          - END -

           推薦閱讀 

          31天拿下K8S含金量最高的CKA+CKS證書! 
          線上 K8s Ingress 訪問故障排查思路
          Kubernetes 生態(tài)架構(gòu)圖
          Prometheus Thanos 多集群監(jiān)控
          20張最全的DevOps架構(gòu)師技術(shù)棧圖譜
          Linux Shell 腳本編程最佳實(shí)踐
          我的云服務(wù)器被植入挖礦木馬,CPU飆升200%
          做了這么多年運(yùn)維工作,現(xiàn)在才看清職業(yè)方向
          一篇文章講清楚云原生圖景及發(fā)展路線
          K8s kubectl 常用命令總結(jié)(建議收藏)
          一名運(yùn)維小哥對運(yùn)維規(guī)則的10個(gè)總結(jié)
          K8s運(yùn)維錦囊,19個(gè)常見故障解決方法
          編寫 Dockerfile 最佳實(shí)踐
          搭建一套完整的企業(yè)級 K8s 集群(kubeadm方式)



          點(diǎn)亮,服務(wù)器三年不宕機(jī)

          瀏覽 160
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  舔逼乳头大片 | 亚洲少妇xxxx | 天天日B网 | 黄a在线 黄毛A片 | 麻豆国产精品一区 |