日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

4637字,看懂从DevOps到DevSecOps的进化之路

發(fā)布時(shí)間:2025/3/15 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 4637字,看懂从DevOps到DevSecOps的进化之路 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

作者:周紀(jì)海 周一帆 馬松松 陶芬 楊偉強(qiáng) 程勝聰 陳亞平

來源:大數(shù)據(jù)DT(ID:hzdashuju)

維基百科上,DevOps(Development和Operations的組合詞)是指一種重視軟件開發(fā)人員(Dev)和IT運(yùn)維技術(shù)人員(Ops)之間溝通合作的文化、運(yùn)動(dòng)或慣例。通過自動(dòng)化軟件交付和架構(gòu)變更的流程,使構(gòu)建、測(cè)試、發(fā)布軟件能夠更加快捷、頻繁和可靠。

現(xiàn)在,即使對(duì)了解過DevOps甚至是已經(jīng)在使用這種研發(fā)模式的人來說,也難以定義到底什么是DevOps。有些觀點(diǎn)認(rèn)為,DevOps區(qū)別于傳統(tǒng)的瀑布模式,基于敏捷模式,并將敏捷思想和實(shí)踐從開發(fā)擴(kuò)展到運(yùn)維(也有激進(jìn)的觀點(diǎn)認(rèn)為它完全不同于這兩種研發(fā)模式),是一種新的思維模式和行動(dòng)方法。

01 DevOps發(fā)展簡史

在2008年舉辦的敏捷大會(huì)上,Patrick Debois和Andrew Clay Shafer首次提議討論了“敏捷基礎(chǔ)架構(gòu)”這個(gè)話題。在第二年的敏捷大會(huì)上,兩名Flickr員工做了題為“10+ Deploys per Day: Dev and Ops Cooperation at Flickr”(“每天10次部署”)的演講,這可以看作開創(chuàng)了我們現(xiàn)在所說的DevOps的概念。

之后它激發(fā)著Patrick在同年10月于比利時(shí)根特市舉辦了第一屆DevOpsDays,這代表著DevOps推廣的開始。

從那以后,DevOps借助DevOpsDays在全球范圍內(nèi)傳播,并于2019年達(dá)到頂峰—全球有80座城市在2019年舉辦了DevOpsDays。2019年10月28日到30日,全球各個(gè)國家和城市的DevOps活動(dòng)組織者和推廣者齊聚比利時(shí)根特市,舉辦了DevOpsDays十周年慶典。

相比歐美國家,DevOpsDays進(jìn)入中國相對(duì)較晚,2017年3月18日北京舉辦了第一屆中國DevOpsDays,并于接下來幾年陸續(xù)在上海和深圳也分別舉辦了DevOpsDays峰會(huì)。

由于DevOpsDays對(duì)中國DevOps行業(yè)的影響,2018年7月22日,中國DevOps社區(qū)成立,并迅速發(fā)展到全國18個(gè)城市,通過本地化的DevOps Meetup等小型活動(dòng)在各個(gè)城市繼續(xù)推廣DevOps。

除了DevOpsDays,另一個(gè)標(biāo)志性事件是Alanna Brown在2012年起草了第一版年度 《DevOps現(xiàn)狀報(bào)告》。從2012年起,這份年度報(bào)告就被DevOps業(yè)界和從業(yè)人士作為了解DevOps現(xiàn)狀的參考以及DevOps發(fā)展方向的風(fēng)向標(biāo)。

另外,2013年Gene Kim出版了小說體的《鳳凰項(xiàng)目》一書,通過描述一家正在經(jīng)歷DevOps轉(zhuǎn)型的企業(yè),生動(dòng)形象地向讀者介紹了轉(zhuǎn)型過程中的思想碰撞,以及各種問題和相關(guān)的解決方法。

2016年,Gene Kim聯(lián)合Jez Humble、Patrick Debois和John Wills合力出版了DevOps業(yè)界最具權(quán)威的經(jīng)典著作:《DevOps實(shí)踐指南》。圖1-1給出了DevOps 10多年的發(fā)展歷程。

▲圖1-1 DevOps發(fā)展史

02 DevOps理念

DevOps的目標(biāo)是提升整個(gè)研發(fā)效能,進(jìn)行更便捷、更快速、更可靠的交付,從而提高產(chǎn)品競爭優(yōu)勢(shì)。DevOps模糊了以往研發(fā)模式中開發(fā)、測(cè)試、運(yùn)維等崗位和角色的界限,加強(qiáng)了他們之間的協(xié)作,甚至鼓勵(lì)將各個(gè)角色從傳統(tǒng)的專家團(tuán)隊(duì)的組織結(jié)構(gòu),重新編制成全功能團(tuán)隊(duì),用以加強(qiáng)協(xié)作(如圖1-2所示)。

▲圖1-2 DevOps組織結(jié)構(gòu)轉(zhuǎn)變

技術(shù)層面上,則通過流水線和一系列自動(dòng)化機(jī)制、成熟可伸縮的基礎(chǔ)設(shè)施(如云)等,使開發(fā)人員獲得更高的效能,從而更加頻繁且快速地將代碼變?yōu)楫a(chǎn)品,并從這種快速中獲得持續(xù)不斷的反饋和驗(yàn)證,以獲得更高的可靠性。

為了能夠達(dá)到DevOps的目標(biāo):更便捷、更頻繁地進(jìn)行更可靠的交付,除了思維模式和文化以外,DevOps也需要一些技術(shù)和工具來支撐。也是得益于一些基礎(chǔ)設(shè)施和工具的發(fā)展和成熟,才使得越來越多的公司能夠踐行DevOps。

從目前業(yè)界的最佳實(shí)踐來看,DevOps技術(shù)和理念主要包括幾個(gè)關(guān)鍵的要素:持續(xù)集成(Continuous Integration,CI)、持續(xù)交付(Continuous Delivery,CD)、微服務(wù)(Microservice)、自動(dòng)化測(cè)試、基礎(chǔ)設(shè)施即代碼(Infrastructure as Code,隱含了虛擬化、容器、自動(dòng)編排、配置即代碼等技術(shù)和理念)、監(jiān)控和日志(Monitoring and Logging)等。業(yè)界圍繞DevOps已經(jīng)形成了一系列的工具集合和解決方案。

最終,通過文化意識(shí)的改變和自動(dòng)化工具的使用,DevOps能夠帶來的價(jià)值也是很明顯的,包括更快的研發(fā)交付速度、更快的產(chǎn)品創(chuàng)新和嘗試速度;有效地管理了更大規(guī)模的系統(tǒng),并能夠提供更可靠的質(zhì)量;從文化角度,深化了研發(fā)各角色之間的協(xié)作。不僅僅是互聯(lián)網(wǎng)行業(yè),包括很多傳統(tǒng)的金融、零售、制造等行業(yè)也在嘗試DevOps。

在如圖1-3所示的傳統(tǒng)模式下,在整個(gè)研發(fā)流程(需求、開發(fā)和測(cè)試)完成之后和上線前需要進(jìn)行安全評(píng)審,以保證應(yīng)用的安全性。因此,簡單來說,整個(gè)軟件開發(fā)的交付周期就是研發(fā)時(shí)長加上安全評(píng)估的時(shí)長。

▲圖1-3 從傳統(tǒng)模式到DevOps模式

在DevOps模式下,我們通過自動(dòng)化、敏捷開發(fā)、團(tuán)隊(duì)協(xié)作、微服務(wù)設(shè)計(jì)等DevOps理念和技術(shù)手段,提高了研發(fā)效能。研發(fā)階段的時(shí)長縮短了,從而也減少了整個(gè)交付周期的時(shí)長,提高了交付速度和效率。

然而,由于傳統(tǒng)的DevOps模式?jīng)]有考慮安全,因此上線前的安全評(píng)審時(shí)長并沒有改變。從圖1-3可以清晰地看出,在DevOps成熟的情況下,團(tuán)隊(duì)繼續(xù)提高研發(fā)效能的瓶頸已經(jīng)不在研發(fā)階段,而是在上線前的安全評(píng)審階段。

那么,如何在DevOps模式下進(jìn)一步改進(jìn)研發(fā)效能,提高交付效率呢?另外,從安全的角度考慮,瀑布模式下的傳統(tǒng)應(yīng)用安全模式(比如SDL)已經(jīng)無法跟上DevOps模式下越來越快的交付速度了,因此需要摸索出一套適合不停迭代和快速交付的全新應(yīng)用安全模式的方法論。

03 從DevOps到DevSecOps

上一節(jié)我們用一個(gè)圖簡單描述了從傳統(tǒng)研發(fā)模式到DevOps模式的轉(zhuǎn)變。然而,傳統(tǒng)DevOps主要考慮速度和質(zhì)量,并沒有考慮信息安全。所以,在DevOps比較成熟的情況下,信息安全就變成了研發(fā)效能繼續(xù)改進(jìn)的瓶頸。

DevSecOps的最終目的就是通過安全左移到開發(fā)測(cè)試團(tuán)隊(duì),使安全評(píng)審階段的時(shí)長變短,從而進(jìn)一步縮短交付周期(如圖1-4所示)。并且它可以在更早的階段發(fā)現(xiàn)并修復(fù)安全漏洞,從而減少上線前發(fā)現(xiàn)安全漏洞的返工成本。

▲圖1-4 從DevOps模式到DevSecOps模式

DevSecOps是Gartner在2012年就提出的概念,其原始術(shù)語是DevOpsSec。2017年RSA峰會(huì)之后,DevSecOps開始成為世界熱門話題。DevSecOps延續(xù)了DevOps的理念,其設(shè)計(jì)與執(zhí)行仍然處于Agile的框架之下。

DevSecOps的目標(biāo)是將安全嵌入到DevOps的各個(gè)流程中(需求、架構(gòu)、開發(fā)、測(cè)試等),從而實(shí)現(xiàn)安全的左移,讓所有人為安全負(fù)責(zé),將安全性從被動(dòng)轉(zhuǎn)變?yōu)橹鲃?dòng),最終讓團(tuán)隊(duì)可以更快、更安全地開發(fā)出質(zhì)量更好的產(chǎn)品。

所謂安全左移,在實(shí)踐中就是為了讓團(tuán)隊(duì)對(duì)他們開發(fā)的內(nèi)容負(fù)責(zé),通過將安全等工作(比如測(cè)試安全)從部署前的安全評(píng)審階段左移到更早的階段,從而更早、更快地發(fā)現(xiàn)并解決安全問題,而不是等到幾天后部署時(shí)才發(fā)現(xiàn),或者幾個(gè)月后再發(fā)出滲透測(cè)試報(bào)告。

DevSecOps的出現(xiàn)并非偶然,它是軟件持續(xù)交付演進(jìn)的必然產(chǎn)物。在這種新型軟件交付模式下,安全行為會(huì)散落在軟件交付的各個(gè)階段,而安全的職責(zé)也會(huì)落在各個(gè)階段的參與者身上,而不再是主責(zé)落在安全團(tuán)隊(duì)身上。DevSecOps可以給研發(fā)效能提供諸多好處,主要表現(xiàn)在以下三個(gè)方面(見圖1-5):

▲圖1-5 DevSecOps相比DevOps的好處

1. 交付更快

DevSecOps通過自動(dòng)化安全工具掃描,無感地左移了部分傳統(tǒng)模式中在上線前最后階段進(jìn)行的安全掃描工作,使整個(gè)交付周期變得更短,交付速度因此變得更快。比如在圖1-5中,由于安全評(píng)審階段時(shí)長的減少(T7),交付周期從DevOps模式下的T1,變成了DevSecOps模式下的“T1–T7”。

2. 節(jié)省成本

DevSecOps由于在SDLC前期階段發(fā)現(xiàn)并且修正安全隱患和漏洞,避免了傳統(tǒng)模式中在上線前最后階段進(jìn)行安全掃描發(fā)現(xiàn)高危安全漏洞后進(jìn)行的返工,從而從流程上節(jié)省了成本。

比如在圖1-5中,在上線前發(fā)現(xiàn)高危安全漏洞返工修復(fù)安全漏洞后,整個(gè)開發(fā)、測(cè)試和安全評(píng)審流程又要重新走一遍,因此額外消耗的成本就是T2時(shí)間下的人力。

在DevSecOps模式下,由于安全左移到了開發(fā)或者測(cè)試階段,因此,如果高危安全漏洞在開發(fā)階段被發(fā)現(xiàn),那么額外耗費(fèi)的人力也僅僅是開發(fā)時(shí)長T4下的人力,節(jié)省下來的是“T2–T4”時(shí)長下的人力。

而如果高危安全漏洞是在測(cè)試階段被發(fā)現(xiàn)的,那么返工額外消耗的人力就是“T4 + T5”下的人力,因此節(jié)省下來的就是“T2–T4–T5”下的人力。

3. 控制風(fēng)險(xiǎn)

DevSecOps減少了開發(fā)團(tuán)隊(duì)對(duì)安全部門/團(tuán)隊(duì)的依賴,通過安全左移讓開發(fā)團(tuán)隊(duì)具備發(fā)現(xiàn)和修正部分安全隱患和漏洞的能力。

另外,在傳統(tǒng)模式下,安全部門/團(tuán)隊(duì)往往扮演“警察”的角色為企業(yè)的安全提供保障,因此有時(shí)會(huì)因?yàn)榘踩[患或者風(fēng)險(xiǎn)從而阻止或者延遲開發(fā)團(tuán)隊(duì)交付上線?;谶@種關(guān)系,因?yàn)榇蠹业哪康牟煌?#xff0c;開發(fā)團(tuán)隊(duì)和安全團(tuán)隊(duì)的關(guān)系往往并不是那么融洽,有時(shí)甚至?xí)a(chǎn)生矛盾。

然而,DevSecOps的目的是通過將安全左移最終讓所有人為安全負(fù)責(zé)。因此,將不再有安全“警察”的角色來監(jiān)督開發(fā)團(tuán)隊(duì),而是開發(fā)團(tuán)隊(duì)為自己開發(fā)的產(chǎn)品的安全性負(fù)責(zé)。

雖然DevSecOps是DevOps演進(jìn)的必然結(jié)果,但是在DevSecOps實(shí)踐落地的過程中,仍然面臨來自技術(shù)、流程、人和文化諸多方面的困難和挑戰(zhàn)(如圖1-6所示)。其中技術(shù)挑戰(zhàn)主要來源于兩個(gè)方面:

  • 由于DevSecOps是一個(gè)全新的概念,因此市場(chǎng)上可選擇的開源和商用工具并不太多。

  • 現(xiàn)有的很多DevSecOps工具也并不成熟(比如誤報(bào)率、專業(yè)性要求高等問題),所以也增加了DevSecOps工具在推廣和使用過程中的難度。

  • ▲圖1-6 實(shí)現(xiàn)DevSecOps的挑戰(zhàn)

    相比來自技術(shù)的挑戰(zhàn),人和文化方面的挑戰(zhàn)則影響更大。對(duì)于程序員來說,他們的主要工作是寫代碼,所以很多程序員可能缺乏相關(guān)的安全意識(shí),并且簡單地認(rèn)為安全不是他們的職責(zé),而是安全團(tuán)隊(duì)的職責(zé)。

    美國威脅檢測(cè)公司Threat Stack針對(duì)北美大中小企業(yè)200多名安全、開發(fā)和運(yùn)維專業(yè)人員的一項(xiàng)調(diào)查和報(bào)告表明,DevSecOps仍然停留在理論階段。造成這種情況的主要原因一是信息安全知識(shí)和能力并沒有得到普及,二是缺少高層的支持,業(yè)務(wù)領(lǐng)導(dǎo)者甚至對(duì)此并不鼓勵(lì)。

    報(bào)告中指出,只有27%的運(yùn)維團(tuán)隊(duì)和18%的開發(fā)團(tuán)隊(duì)配備了安全專家;超過44%的開發(fā)人員沒有接受過任何安全編碼的培訓(xùn);42%的運(yùn)維人員沒有接受過基本安全實(shí)踐方面的培訓(xùn)。

    因此,就算有些開發(fā)人員有安全方面的意識(shí),但他們可能不具備安全編碼和修復(fù)安全漏洞的能力,所以需要相關(guān)的安全培訓(xùn)。然而,信息安全畢竟是一門獨(dú)立的學(xué)科,因此也增加了程序員的學(xué)習(xí)成本。

    最后,與DevOps剛出現(xiàn)時(shí)一樣,作為一個(gè)全新的概念,DevSecOps的理念還沒有得到普及,因此很多時(shí)候得不到高級(jí)管理層的支持。

    報(bào)告中也指出,52%的公司承認(rèn)會(huì)削減安全措施,以便在截止日期前完成業(yè)務(wù)目標(biāo)。68%的受訪企業(yè)CEO不允許因?yàn)榘踩珕栴}讓業(yè)務(wù)交付變慢。從這個(gè)報(bào)告可以看出,如果沒有管理層自上而下的支持,DevSecOps的推動(dòng)會(huì)非常緩慢,甚至停滯不前。

    針對(duì)以上種種挑戰(zhàn),DevSecOps也給出了對(duì)應(yīng)的最佳實(shí)踐(見圖1-7),以便進(jìn)一步在企業(yè)里進(jìn)行推廣。比如在技術(shù)層面,DevSecOps最佳實(shí)踐強(qiáng)調(diào)自動(dòng)化信息安全,甚至將安全掃描進(jìn)一步左移到IDE階段,更早發(fā)現(xiàn)并修復(fù)問題,從而節(jié)省成本。

    ▲圖1-7 DevSecOps最佳實(shí)踐

    另外,安全指標(biāo)也可以作為質(zhì)量門禁,用來保障交付的安全性。人和文化層面強(qiáng)調(diào)持續(xù)培訓(xùn)和安全意識(shí)的培養(yǎng),以及DevSecOps負(fù)責(zé)人和開發(fā)團(tuán)隊(duì)里DevSecOps“專家”等新角色的定義。流程層面強(qiáng)調(diào)定期的代碼審查、紅藍(lán)對(duì)抗,通過DevSecOps度量發(fā)現(xiàn)研發(fā)過程中的瓶頸,以及評(píng)估DevSecOps改進(jìn)的效果。

    關(guān)于作者:周紀(jì)海,英國倫敦帝國理工學(xué)院博士,擁有10年以上多家國際大型銀行(巴克萊銀行、匯豐銀行等)和騰訊的DevOps/DevSecOps轉(zhuǎn)型和落地的工作經(jīng)驗(yàn)。從2018-2021年,在國內(nèi)外30多個(gè)技術(shù)峰會(huì)、論壇和社區(qū)上分享過DevOps和DevSecOps經(jīng)驗(yàn)。

    周一帆,匯豐科技中國高級(jí)信息安全分析師、注冊(cè)信息安全工程師、云安全工程師。在中國和新加坡?lián)碛卸嗄甑慕鹑诳萍寂c信息安全行業(yè)工作經(jīng)驗(yàn)。目前主要從事應(yīng)用系統(tǒng)架構(gòu)安全審查、安全風(fēng)險(xiǎn)評(píng)估和DevSecOps的實(shí)施與落地工作。

    馬松松,騰訊安全專家,擁有13年基礎(chǔ)安全領(lǐng)域的工作經(jīng)驗(yàn)。目前團(tuán)隊(duì)主要負(fù)責(zé)研發(fā)漏洞管控相關(guān)的規(guī)范、流程以及自動(dòng)化系統(tǒng)的建設(shè)和運(yùn)營工作。自2019年開始關(guān)注和推動(dòng) DevSecOps在騰訊內(nèi)部的探索和落地。

    陶芬,武漢大學(xué)信息安全專業(yè)碩士,在國內(nèi)大型互聯(lián)網(wǎng)公司百度工作十余年,負(fù)責(zé)企業(yè)內(nèi)DevSecOps落地和數(shù)據(jù)安全能力建設(shè)以及運(yùn)營實(shí)踐。

    楊偉強(qiáng),匯豐科技中國信息安全部門總負(fù)責(zé)人,在大型跨國金融信息安全領(lǐng)域工作15年,主要研究方向包括安全開發(fā)、安全架構(gòu)以及威脅建模等。

    本文摘編自《DevSecOps實(shí)戰(zhàn)》,經(jīng)出版方授權(quán)發(fā)布。(ISBN:9787111695653)

    延伸閱讀《DevSecOps實(shí)戰(zhàn)》

    點(diǎn)擊上圖了解及購買

    轉(zhuǎn)載請(qǐng)聯(lián)系微信:DoctorData

    推薦語:本書通過描述一家大型互聯(lián)網(wǎng)企業(yè)和一家大型傳統(tǒng)銀行的DevSecOps轉(zhuǎn)型的過程,幫助讀者淺顯易懂并且有代入感地了解如何將DevSecOps在企業(yè)內(nèi)部落地和實(shí)踐。基于各類行業(yè)特點(diǎn)的DevSecOps實(shí)施與落地方法,是本書的主要技術(shù)要點(diǎn)。

    干貨直達(dá)👇

    • Kubernetes集群中要監(jiān)控哪些組件?采集哪些指標(biāo)?

    • 真實(shí)案例,手把手教你構(gòu)建用戶畫像

    • 手把手教你用Python實(shí)現(xiàn)查找算法

    • 9種深度學(xué)習(xí)算法簡介

    更多精彩👇

    在公眾號(hào)對(duì)話框輸入以下關(guān)鍵詞

    查看更多優(yōu)質(zhì)內(nèi)容!

    讀書?|?書單?|?干貨?|?講明白?|?神操作?|?手把手

    大數(shù)據(jù)?|?云計(jì)算?|?數(shù)據(jù)庫?|?Python?|?爬蟲?|?可視化

    AI?|?人工智能?|?機(jī)器學(xué)習(xí)?|?深度學(xué)習(xí)?|?NLP

    5G?|?中臺(tái)?|?用戶畫像?|?數(shù)學(xué)?|?算法?|?數(shù)字孿生

    據(jù)統(tǒng)計(jì),99%的大咖都關(guān)注了這個(gè)公眾號(hào)

    👇

    總結(jié)

    以上是生活随笔為你收集整理的4637字,看懂从DevOps到DevSecOps的进化之路的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。