<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知識框架體系和最佳實踐案例整理

          共 5346字,需瀏覽 11分鐘

           ·

          2021-03-01 12:45

          原文鏈接:https://www.toutiao.com/i6920459336573551108/

          該文為我對網(wǎng)上發(fā)布的DevOps知識庫Ledge的一個閱讀筆記整理。Ledge(源自 know-ledge,意指承載物)知識平臺是基于我們所進行的一系列 DevOps 實踐、敏捷實踐、精益實踐提煉出來的知識體系。

          DevOps知識框架概述


          對于DevOps研發(fā)運維一體化,我在前面也寫過了不少文章,包括了基礎(chǔ)知識,敏捷研發(fā),持續(xù)集成和交付,流水線設(shè)計,DevOps和容器云的集成,開源工具集,DevOps能力成熟度模型等方面的內(nèi)容。

          今天在網(wǎng)上瀏覽技術(shù)文章的時候剛好看到了一個DevOps的一個知識框架,因此準備做下關(guān)鍵內(nèi)容的分析和整理。雖然當前已經(jīng)發(fā)布的知識框架內(nèi)容還不算完善,但是初步框架模型已經(jīng)形成,還是值得推薦關(guān)注云原生和DevOps的人員閱讀。

          具體地址為:https://devops.phodal.com/home

          對于DevOps我在前面文章已經(jīng)強調(diào)是企業(yè)進行數(shù)字化轉(zhuǎn)型,微服務(wù)架構(gòu)轉(zhuǎn)型,云原生解決方案實踐的一個關(guān)鍵內(nèi)容。但是DevOps本身不是簡單的類似配置管理,測試,構(gòu)建,持續(xù)集成,發(fā)布等開源工具集的集成,更加重要的是整個開發(fā)組織敏捷文化的改進。

          為何發(fā)布了這個框架?

          簡單來說就是企業(yè)數(shù)字化轉(zhuǎn)型過程中,究竟對如何實施DevOps,自己應(yīng)該先做哪些基礎(chǔ)技術(shù)積累,應(yīng)該采用哪些開源工具,整個研發(fā)管理和開發(fā)過程如何改進,實施應(yīng)該如何分階段循序漸進等并不清楚。

          這就導致很多企業(yè)在實施DevOps的時候往往僅僅是個別的開發(fā)小組或項目在進行一些敏捷和持續(xù)集成的實踐,而很難將整個DevOps上升到組織級,形成組織過程資產(chǎn)。

          這個知識框架,從發(fā)布者的介紹主要包括了如下節(jié)點:

          • DevOps工具元素周期表。幫助您進行數(shù)字化時代的DevOps工具選型。

          • DevOps設(shè)計工具。幫助您設(shè)計組織內(nèi)的DevOps流程,涵蓋了流程、人、工具、制品等等。

          • 案例學習。從社區(qū)的知識庫中,我們總結(jié)了傳統(tǒng)企業(yè)走向DevOps的經(jīng)驗,并濃縮到易于使用的內(nèi)容和材料中。

          • 最佳實踐。我們從海量的DevOps內(nèi)容中,提煉出了一系列的最佳實踐,以更好地幫助企業(yè)進行DevOps實踐。

          • 模式與原則。基于我們的實踐,我們提煉了位于它背后的模式與原則,幫助個人和組織更好地了解DevOps文化。

          • 操作手冊。只憑實踐與原則,無法讓中小型IT團隊進行DevOps轉(zhuǎn)型,所以我們準備了詳實的操作手冊,以幫助您一步步前進。

          • 度量。KPI - 度量、度量 - KPI、KPI - 度量,幫助您更好地度量DevOps轉(zhuǎn)型情況。

          • 報告。我們嘗試從豐富的DevOps報告中,提煉出有用的實踐和工具。

          • Mobile DevOps。我們相信移動應(yīng)用的DevOps改進,才是大多數(shù)公司的挑戰(zhàn)。

          • 工具。工具,工具,工具是最好的生產(chǎn)力,工具比人的記憶力更加可靠。


          今天重點是對當前已經(jīng)發(fā)布的內(nèi)容做下初步分析和整理。

          DevOps流水線定制




          不同的企業(yè)在實施DevOps的時候可以根據(jù)企業(yè)實際情況定制不同的流水線。

          注意流水線設(shè)計最基礎(chǔ)的是要實現(xiàn)持續(xù)集成和持續(xù)部署能力,里面涉及到最基本的內(nèi)容包括了源代碼和配置管理,編譯構(gòu)建,自動化部署。

          在整個DevOps最佳實踐中實際包括了敏捷研發(fā)和過程管理,因此可以看到整個DevOps流水線涉及到了類似Scrum敏捷研發(fā)工具之間的集成。而集成的重點主要是組織,團隊,產(chǎn)品,項目,項目版本,任務(wù),缺陷。

          原來談的比較多的是CI/CD,即持續(xù)集成和持續(xù)部署。而在DevOps實施中談的比較多的是持續(xù)集成和持續(xù)交付。持續(xù)集成過程不包含最終生產(chǎn)環(huán)境面向客戶的部署和交付過程,而持續(xù)交付則單獨出來。

          持續(xù)集成和持續(xù)交付的分離,也帶來了流水線設(shè)計上的區(qū)別。簡單的流水線你可以從編譯構(gòu)建,一直編排到測試驗證到生產(chǎn)環(huán)境發(fā)布。而在持續(xù)集成和持續(xù)交付分離后,往往交付流水線需要進行單獨設(shè)計。


          其次,在DevOps和容器云集成的時候,整個自動化部署過程發(fā)生了變化,即編譯構(gòu)建完先制作鏡像,推送到制品庫,然后再從制品庫提取鏡像+配置信息進行部署。因此在這個階段還涉及到和容器云的集成,比如常見的實現(xiàn)和Kurbernetes的接口集成等。

          在完成了基本的敏捷研發(fā)+持續(xù)集成+容器云集成這條主線后。還剩余兩個重點,其一是測試和質(zhì)量管理,其二是后續(xù)的監(jiān)控運維。

          對于測試和質(zhì)量管理包括了很多內(nèi)容,從上面的DevOps元素周期表的橙紅色部分也可以看到這塊占據(jù)了相當大部分內(nèi)容。如下:

          • 靜態(tài)測試:代碼規(guī)范性檢查,安全檢查,漏洞掃描

          • 自動化測試:單元測試,接口測試,UI界面自動化測試


          測試本身是一個系統(tǒng)工程,需要覆蓋從測試場景分析,測試設(shè)計,測試執(zhí)行,測試評估完整生命周期。中間還需要對測試用例腳本,測試數(shù)據(jù)等進行管理。

          而從DevOps實施角度,更多的是考慮整個測試過程如何自動化,通過將測試過程集成和編排到整個DevOps流水線執(zhí)行過程中,真正實現(xiàn)研發(fā)和QA之間的自動化協(xié)同能力。

          案例學習



          這是一個大的版塊,但是實際上這塊的內(nèi)容相對的薄弱,或者說有點亂。雖然整體給出了類似招行,中行,攜程,阿里,華為,小米,美團相關(guān)的案例,但是整體都很單薄。更多的介紹內(nèi)容沒有,還不如直接看案例介紹里面鏈接到的具體企業(yè)演講PPT。


          上圖是大型銀行DevOps轉(zhuǎn)型給出的幾個階段,其中給出了三種典型路徑如下可以作為參考:

          • 團隊級敏捷:以小團隊為單位開展敏捷轉(zhuǎn)型,當試點結(jié)束后,組織往往會繼續(xù)拓展敏捷轉(zhuǎn)型的范圍,鼓勵更多的團隊加入敏捷的陣營;

          • 產(chǎn)品級敏捷:以整個產(chǎn)品的價值流為單位開展敏捷轉(zhuǎn)型。產(chǎn)品級敏捷意在拉通產(chǎn)品價值流的上下游,將相互依賴的團隊納入同一個敏捷框架里;

          • 業(yè)務(wù)級敏捷:經(jīng)歷了團隊級敏捷到產(chǎn)品級敏捷,產(chǎn)品從無到有,直到產(chǎn)品發(fā)布的整個過程都已納入了敏捷范圍。但是這還不夠,一些支持部門,比如人力資源、行政、財務(wù)、市場和銷售等部門也應(yīng)該被納入敏捷轉(zhuǎn)型的范疇。



          在華為的大規(guī)模敏捷開發(fā)實踐案例里面,給出了大規(guī)模敏捷實施DevOps的14條最佳實踐也可以作為參考:

          • 實踐 1:組織結(jié)構(gòu)和產(chǎn)品架構(gòu)螺旋相適配;

          • 實踐 2:Two pizza team,全功能團隊,特種作戰(zhàn);

          • 實踐 3:按周迭代,小步快跑,持續(xù)規(guī)劃;

          • 實踐 4:服務(wù)自治,獨立需求排序,開發(fā),部署上線;

          • 實踐 5:兼聽則明,持續(xù)規(guī)劃,價值排序;

          • 實踐 6:與客戶聯(lián)合敏捷,眾創(chuàng),對齊客戶商業(yè)價值;

          • 實踐 7:架構(gòu)解耦,服務(wù) / 微服務(wù)化;

          • 實踐 8:云基礎(chǔ)設(shè)施下,猴子軍團出沒,耐抗才能高可用;

          • 實踐 9:兼顧效率與安全的軟件倉庫,高速下載,便捷實用;

          • 實踐 10:自動化流水線,縮短上線時間,Built-In Quality;

          • 實踐 11:企業(yè)級儀表盤,基于數(shù)據(jù)科學決策;

          • 實踐 12:運維、監(jiān)控、運維專家經(jīng)驗沉淀到系統(tǒng);

          • 實踐 13:灰度發(fā)布,友好 / 公測,運營運維配合;

          • 實踐 14:VoC 驅(qū)動,持續(xù)規(guī)劃,數(shù)據(jù)分析,動態(tài)調(diào)整,有錯就改。


          企業(yè)組織級DevOps和大規(guī)模敏捷實施不容易,從Scrum敏捷方法論到SAFe大規(guī)模敏捷框架,再到DevOps過程實踐解決方案,整個敏捷方法論從開發(fā)團隊到整個企業(yè),整個團隊也從幾十人擴大到上百人甚至上千人的規(guī)模。這個時候需要就是組織架構(gòu)設(shè)計,開發(fā)團隊的劃分,開發(fā)團隊和整個持續(xù)集成過程的協(xié)同等。

          而一個好的DevOps案例學習和最佳實踐至少應(yīng)該包括如下內(nèi)容:

          • 問題和現(xiàn)狀分析,關(guān)鍵訴求

          • 期望通過DevOps達到的目標

          • 組織團隊設(shè)計,研發(fā)過程設(shè)計

          • 開發(fā)框架選項和架構(gòu)設(shè)計

          • 持續(xù)集成和持續(xù)交付最佳實踐

          • 測試最佳實踐

          • 后期自動化監(jiān)控運維最佳實踐總結(jié)

          • 整體實施效果和收益分析總結(jié)


          DevOps原則和模式



          數(shù)字化技術(shù)(信息技術(shù))的本質(zhì)目的是創(chuàng)造價值,它的載體是軟件,提供價值的是功能特性。越早發(fā)布功能特性,便能越快創(chuàng)造價值。采用逐漸增加功能特定的增量式開發(fā)方法,能讓我們在最短時間內(nèi)開發(fā)出最小可用(MVP)產(chǎn)品。

          圍繞它周圍的優(yōu)秀技術(shù)實踐,可以讓我們開發(fā)出運行良好的軟件,并且設(shè)計也是好的。這個過程需要自上而下的為之付諸行動。

          這塊的內(nèi)容整體給我啟發(fā)比較大的還是如果構(gòu)建DevOps文化和學習型組織,里面又涉及到整個知識體系構(gòu)建,組織和團隊人員能力模型和技能評估,架構(gòu)金字塔等。


          架構(gòu)金字塔,即把軟件架構(gòu)按照不同的粒度進行分組。通過分組的細分,我們能有針對性地對系統(tǒng)架構(gòu),進行更好的管理和設(shè)計。

          一個軟件系統(tǒng)是由一系列的應(yīng)用組成的,而一個應(yīng)用則由一系列的模塊組成,進一步的模塊是由代碼組成的。舉個示例,一個現(xiàn)代的系統(tǒng)是由一系列的后端服務(wù)、客戶端應(yīng)用組成的;拆解開一個微服務(wù),則是由一系列的模塊組成的。

          對于復(fù)雜軟件系統(tǒng),需要進行分層和分級,如下:

          • 系統(tǒng)級,即整個系統(tǒng)內(nèi)各部分的關(guān)系,諸如于如何通訊,以及如何與第三方系統(tǒng)如何集成等。

          • 應(yīng)用級,即單個應(yīng)用的整體架構(gòu),及其與系統(tǒng)內(nèi)單個應(yīng)用的關(guān)系等。

          • 模塊級,即應(yīng)用內(nèi)部的模塊架構(gòu),如代碼的模塊化、數(shù)據(jù)和狀態(tài)的管理等。

          • 代碼級,即從代碼級別保障架構(gòu)實施。


          對于DevOps原則模式這塊內(nèi)容,整體感覺分類還是欠缺,整體還是應(yīng)該基于組織團隊,研發(fā)過程,持續(xù)集成交付,測試管理等關(guān)鍵過程域給出可行的原則和模式。

          對于信通院發(fā)布的DevOps能力成熟度模型還是可以作為一個重要的參考標準。該系列標準分為敏捷開發(fā)管理、持續(xù)交付、技術(shù)運營、應(yīng)用設(shè)計、安全風險管理、組織結(jié)構(gòu)及系統(tǒng)和工具等部分,涵蓋了軟件開發(fā)到運維的全生命周期,如下圖:


          整個評估模型我可以看到融入了多方面的內(nèi)容,核心是如下三方面:

          • 研發(fā)項目管理和敏捷研發(fā)方法論

          • 軟件工程,特別是持續(xù)集成方法論

          • IT管控和治理,包括對原來ITIL思想體系融入


          在這三方面以外,我們又看到整個成熟度評估里面很多評估要求的達到本身又希望你采用微服務(wù)架構(gòu)思想,通過容器云來實現(xiàn)持續(xù)集成和交付等。這也和我們經(jīng)常談到的,微服務(wù)和容器云是實踐DevOps的另外一個關(guān)鍵要素。



          DevOps最佳實踐




          實際上對于案例學習和最佳實踐本身是相互融合的內(nèi)容,案例很多就是最佳實踐。一個DevOps的實施往往涉及到持續(xù)集成交付,自動化測試,敏捷研發(fā)多個過程域的最佳實踐。當然這些最佳實踐的側(cè)重點可能不同。

          但是所有的最佳實踐仍然是圍繞DevOps成熟度模型展開。

          比如你可以只講自動化測試過程的最佳實踐,講清楚自動化測試過程如何和敏捷研發(fā),整個DevOps流水線持續(xù)集成融合在一起實現(xiàn)完整過程的自動化。

          如果要將最佳實踐分離,應(yīng)該包括:

          • 敏捷研發(fā)過程最佳實踐

          • 持續(xù)集成和持續(xù)交付最佳實踐(配置管理,流水線,工具鏈集成,制品庫,灰度發(fā)布等)

          • 測試管理和自動化測試執(zhí)行最佳實踐

          • 微服務(wù)架構(gòu)改造和DevOps集成最佳實踐

          • DevOps和容器云集成

          • 自動化運維和監(jiān)控


          以上即是最佳實踐的一些關(guān)鍵內(nèi)容點。

          DevOps實施手冊





          知識框架里面將DevOps實施分為如下幾個關(guān)鍵步驟:

          • 建立愿景與方向

          • 度量:組織、系統(tǒng)現(xiàn)狀

          • 準入條件。查看是否滿足實施 DevOps 的準入條件。

          • 探索可行方案。即 MVP 嘗試

          • MVP。一次快速的 DevOps 過程和結(jié)果的 showcase。

          • 精細化 DevOps 實施

          • 回顧優(yōu)化

          • 規(guī)模化 DevOps 落地


          在前面我就談到了DevOps實施本身可以分為幾個階段,從最開始的單純實現(xiàn)持續(xù)集成到后續(xù)的敏捷研發(fā)過程集成,容器云集成,持續(xù)交付能力提升等。

          當重新思考DevOps的時候,實際上DevOps的實施往往伴隨著微服務(wù)架構(gòu)的改造和優(yōu)化實施,容器云的改造和實施等。即最終實施的是一個完整的云原生技術(shù)平臺和解決方案,而不是一個簡單的DevOps持續(xù)集成和交付過程。

          從這個意義上講,DevOps實施實際包括了敏捷研發(fā)過程改進,持續(xù)集成和持續(xù)交付,微服務(wù)架構(gòu)和開發(fā)標準規(guī)范體系,自動化測試,自動化運維等關(guān)鍵內(nèi)容。而所有這些內(nèi)容的實施仍然需要在前期先進行現(xiàn)狀分析評估,給出差距分析。然后再結(jié)合差距分析情況給出具體的實施演進路線設(shè)計。

          小結(jié)


          雖然當前DevOps知識平臺還不夠完善,但是仍然給出了從DevOps基礎(chǔ)知識概念,到能力框架,案例和最佳實踐,實施路線指引的完整知識架構(gòu)框架。

          個人建議該知識平臺還是圍繞DevOps能力成熟度模型進一步樹立和結(jié)構(gòu)化完善。并對最佳實踐里面的一些案例進一步文字化總結(jié)和梳理。

          - END -

          公眾號后臺回復(fù)「加群」加入一線高級工程師技術(shù)交流群,一起交流進步。

           推薦閱讀 

          31天拿下Kubernetes CKA認證!
          2021最新 Kubernetes 運維架構(gòu)師實戰(zhàn)指南 
          企業(yè)級日志平臺新秀Loki,比ELK輕量多了~
          Kubernetes Ingress-Nginx 實現(xiàn)藍綠、灰度發(fā)布
          Kubernetes 集群網(wǎng)絡(luò)從懵圈到熟悉
          Prometheus 監(jiān)控服務(wù)端口、網(wǎng)站狀態(tài)等(黑盒監(jiān)測)
          Kubernetes 學習筆記總結(jié)超詳細!
          Kubernetes生產(chǎn)環(huán)境最佳實踐



          點亮,服務(wù)器三年不宕機

          瀏覽 76
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <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>
                  日日操夜夜操天天操 | 久久久久成人精品 | 天天色、天天干 | 99青草国产精品视频无码一区 | 日本极品无码巨乳在线播放视频 |