<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到DevSecOps的進(jìn)化之路 | IDCF

          共 5957字,需瀏覽 12分鐘

           ·

          2022-02-22 15:30

          來(lái)源:大數(shù)據(jù)DT(ID:hzdashuju),本文摘編自《DevSecOps實(shí)戰(zhàn)》,經(jīng)出版方授權(quán)發(fā)布。(ISBN:9787111695653)
          作者:周紀(jì)海 周一帆 馬松松 陶芬 楊偉強(qiáng) 程勝聰 陳亞平

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

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


          一、DevOps發(fā)展簡(jiǎn)史



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

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

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

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

          由于DevOpsDays對(duì)中國(guó)DevOps行業(yè)的影響,2018年7月22日,中國(guó)DevOps社區(qū)成立,并迅速發(fā)展到全國(guó)18個(gè)城市,通過(guò)本地化的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出版了小說(shuō)體的《鳳凰項(xiàng)目》一書(shū),通過(guò)描述一家正在經(jīng)歷DevOps轉(zhuǎn)型的企業(yè),生動(dòng)形象地向讀者介紹了轉(zhuǎn)型過(guò)程中的思想碰撞,以及各種問(wè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ā)展史)


          二、DevOps理念



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

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

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

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

          從目前業(yè)界的最佳實(shí)踐來(lái)看,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)形成了一系列的工具集合和解決方案。

          最終,通過(guò)文化意識(shí)的改變和自動(dòng)化工具的使用,DevOps能夠帶來(lái)的價(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ā)流程(需求、開(kāi)發(fā)和測(cè)試)完成之后和上線前需要進(jìn)行安全評(píng)審,以保證應(yīng)用的安全性。因此,簡(jiǎn)單來(lái)說(shuō),整個(gè)軟件開(kāi)發(fā)的交付周期就是研發(fā)時(shí)長(zhǎng)加上安全評(píng)估的時(shí)長(zhǎng)。

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

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

          然而,由于傳統(tǒng)的DevOps模式?jīng)]有考慮安全,因此上線前的安全評(píng)審時(shí)長(zhǎng)并沒(méi)有改變。從圖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)無(wú)法跟上DevOps模式下越來(lái)越快的交付速度了,因此需要摸索出一套適合不停迭代和快速交付的全新應(yīng)用安全模式的方法論。


          三、從DevOps到DevSecOps



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

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

          (圖1-4 從DevOps模式到DevSecOps模式)

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

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

          所謂安全左移,在實(shí)踐中就是為了讓團(tuán)隊(duì)對(duì)他們開(kāi)發(fā)的內(nèi)容負(fù)責(zé),通過(guò)將安全等工作(比如測(cè)試安全)從部署前的安全評(píng)審階段左移到更早的階段,從而更早、更快地發(fā)現(xiàn)并解決安全問(wè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è)方面(見(jiàn)圖1-5):

          (圖1-5 DevSecOps相比DevOps的好處)

          • 交付更快
          DevSecOps通過(guò)自動(dòng)化安全工具掃描,無(wú)感地左移了部分傳統(tǒng)模式中在上線前最后階段進(jìn)行的安全掃描工作,使整個(gè)交付周期變得更短,交付速度因此變得更快。比如在圖1-5中,由于安全評(píng)審階段時(shí)長(zhǎng)的減少(T7),交付周期從DevOps模式下的T1,變成了DevSecOps模式下的“T1–T7”。
          • 節(jié)省成本
          DevSecOps由于在SDLC前期階段發(fā)現(xiàn)并且修正安全隱患和漏洞,避免了傳統(tǒng)模式中在上線前最后階段進(jìn)行安全掃描發(fā)現(xiàn)高危安全漏洞后進(jìn)行的返工,從而從流程上節(jié)省了成本。
          比如在圖1-5中,在上線前發(fā)現(xiàn)高危安全漏洞返工修復(fù)安全漏洞后,整個(gè)開(kāi)發(fā)、測(cè)試和安全評(píng)審流程又要重新走一遍,因此額外消耗的成本就是T2時(shí)間下的人力。
          在DevSecOps模式下,由于安全左移到了開(kāi)發(fā)或者測(cè)試階段,因此,如果高危安全漏洞在開(kāi)發(fā)階段被發(fā)現(xiàn),那么額外耗費(fèi)的人力也僅僅是開(kāi)發(fā)時(shí)長(zhǎng)T4下的人力,節(jié)省下來(lái)的是“T2–T4”時(shí)長(zhǎng)下的人力。
          而如果高危安全漏洞是在測(cè)試階段被發(fā)現(xiàn)的,那么返工額外消耗的人力就是“T4 + T5”下的人力,因此節(jié)省下來(lái)的就是“T2–T4–T5”下的人力。
          • 控制風(fēng)險(xiǎn)
          DevSecOps減少了開(kāi)發(fā)團(tuán)隊(duì)對(duì)安全部門(mén)/團(tuán)隊(duì)的依賴(lài),通過(guò)安全左移讓開(kāi)發(fā)團(tuán)隊(duì)具備發(fā)現(xiàn)和修正部分安全隱患和漏洞的能力。
          另外,在傳統(tǒng)模式下,安全部門(mén)/團(tuán)隊(duì)往往扮演“警察”的角色為企業(yè)的安全提供保障,因此有時(shí)會(huì)因?yàn)榘踩[患或者風(fēng)險(xiǎn)從而阻止或者延遲開(kāi)發(fā)團(tuán)隊(duì)交付上線?;谶@種關(guān)系,因?yàn)榇蠹业哪康牟煌?,開(kāi)發(fā)團(tuán)隊(duì)和安全團(tuán)隊(duì)的關(guān)系往往并不是那么融洽,有時(shí)甚至?xí)a(chǎn)生矛盾。
          然而,DevSecOps的目的是通過(guò)將安全左移最終讓所有人為安全負(fù)責(zé)。因此,將不再有安全“警察”的角色來(lái)監(jiān)督開(kāi)發(fā)團(tuán)隊(duì),而是開(kāi)發(fā)團(tuán)隊(duì)為自己開(kāi)發(fā)的產(chǎn)品的安全性負(fù)責(zé)。
          雖然DevSecOps是DevOps演進(jìn)的必然結(jié)果,但是在DevSecOps實(shí)踐落地的過(guò)程中,仍然面臨來(lái)自技術(shù)、流程、人和文化諸多方面的困難和挑戰(zhàn)(如圖1-6所示)。其中技術(shù)挑戰(zhàn)主要來(lái)源于兩個(gè)方面:
          • 由于DevSecOps是一個(gè)全新的概念,因此市場(chǎng)上可選擇的開(kāi)源和商用工具并不太多。 
          • 現(xiàn)有的很多DevSecOps工具也并不成熟(比如誤報(bào)率、專(zhuān)業(yè)性要求高等問(wèn)題),所以也增加了DevSecOps工具在推廣和使用過(guò)程中的難度。
          (圖1-6 實(shí)現(xiàn)DevSecOps的挑戰(zhàn))
          相比來(lái)自技術(shù)的挑戰(zhàn),人和文化方面的挑戰(zhàn)則影響更大。對(duì)于程序員來(lái)說(shuō),他們的主要工作是寫(xiě)代碼,所以很多程序員可能缺乏相關(guān)的安全意識(shí),并且簡(jiǎn)單地認(rèn)為安全不是他們的職責(zé),而是安全團(tuán)隊(duì)的職責(zé)。
          美國(guó)威脅檢測(cè)公司Threat Stack針對(duì)北美大中小企業(yè)200多名安全、開(kāi)發(fā)和運(yùn)維專(zhuān)業(yè)人員的一項(xiàng)調(diào)查和報(bào)告表明,DevSecOps仍然停留在理論階段。造成這種情況的主要原因一是信息安全知識(shí)和能力并沒(méi)有得到普及,二是缺少高層的支持,業(yè)務(wù)領(lǐng)導(dǎo)者甚至對(duì)此并不鼓勵(lì)。
          報(bào)告中指出,只有27%的運(yùn)維團(tuán)隊(duì)和18%的開(kāi)發(fā)團(tuán)隊(duì)配備了安全專(zhuān)家;超過(guò)44%的開(kāi)發(fā)人員沒(méi)有接受過(guò)任何安全編碼的培訓(xùn);42%的運(yùn)維人員沒(méi)有接受過(guò)基本安全實(shí)踐方面的培訓(xùn)。
          因此,就算有些開(kāi)發(fā)人員有安全方面的意識(shí),但他們可能不具備安全編碼和修復(fù)安全漏洞的能力,所以需要相關(guān)的安全培訓(xùn)。然而,信息安全畢竟是一門(mén)獨(dú)立的學(xué)科,因此也增加了程序員的學(xué)習(xí)成本。
          最后,與DevOps剛出現(xiàn)時(shí)一樣,作為一個(gè)全新的概念,DevSecOps的理念還沒(méi)有得到普及,因此很多時(shí)候得不到高級(jí)管理層的支持。
          報(bào)告中也指出,52%的公司承認(rèn)會(huì)削減安全措施,以便在截止日期前完成業(yè)務(wù)目標(biāo)。68%的受訪企業(yè)CEO不允許因?yàn)榘踩珕?wèn)題讓業(yè)務(wù)交付變慢。從這個(gè)報(bào)告可以看出,如果沒(méi)有管理層自上而下的支持,DevSecOps的推動(dòng)會(huì)非常緩慢,甚至停滯不前。
          針對(duì)以上種種挑戰(zhàn),DevSecOps也給出了對(duì)應(yīng)的最佳實(shí)踐(見(jiàn)圖1-7),以便進(jìn)一步在企業(yè)里進(jìn)行推廣。比如在技術(shù)層面,DevSecOps最佳實(shí)踐強(qiáng)調(diào)自動(dòng)化信息安全,甚至將安全掃描進(jìn)一步左移到IDE階段,更早發(fā)現(xiàn)并修復(fù)問(wèn)題,從而節(jié)省成本。
          (圖1-7 DevSecOps最佳實(shí)踐)
          另外,安全指標(biāo)也可以作為質(zhì)量門(mén)禁,用來(lái)保障交付的安全性。人和文化層面強(qiáng)調(diào)持續(xù)培訓(xùn)和安全意識(shí)的培養(yǎng),以及DevSecOps負(fù)責(zé)人和開(kāi)發(fā)團(tuán)隊(duì)里DevSecOps“專(zhuān)家”等新角色的定義。流程層面強(qiáng)調(diào)定期的代碼審查、紅藍(lán)對(duì)抗,通過(guò)DevSecOps度量發(fā)現(xiàn)研發(fā)過(guò)程中的瓶頸,以及評(píng)估DevSecOps改進(jìn)的效果。
          關(guān)于作者
          周紀(jì)海 英國(guó)倫敦帝國(guó)理工學(xué)院博士,擁有10年以上多家國(guó)際大型銀行(巴克萊銀行、匯豐銀行等)和騰訊的DevOps/DevSecOps轉(zhuǎn)型和落地的工作經(jīng)驗(yàn)。從2018-2021年,在國(guó)內(nèi)外30多個(gè)技術(shù)峰會(huì)、論壇和社區(qū)上分享過(guò)DevOps和DevSecOps經(jīng)驗(yàn)。
          周一帆 匯豐科技中國(guó)高級(jí)信息安全分析師、注冊(cè)信息安全工程師、云安全工程師。在中國(guó)和新加坡?lián)碛卸嗄甑慕鹑诳萍寂c信息安全行業(yè)工作經(jīng)驗(yàn)。目前主要從事應(yīng)用系統(tǒng)架構(gòu)安全審查、安全風(fēng)險(xiǎn)評(píng)估和DevSecOps的實(shí)施與落地工作。
          馬松松 騰訊安全專(zhuān)家,擁有13年基礎(chǔ)安全領(lǐng)域的工作經(jīng)驗(yàn)。目前團(tuán)隊(duì)主要負(fù)責(zé)研發(fā)漏洞管控相關(guān)的規(guī)范、流程以及自動(dòng)化系統(tǒng)的建設(shè)和運(yùn)營(yíng)工作。自2019年開(kāi)始關(guān)注和推動(dòng) DevSecOps在騰訊內(nèi)部的探索和落地。
          陶芬 武漢大學(xué)信息安全專(zhuān)業(yè)碩士,在國(guó)內(nèi)大型互聯(lián)網(wǎng)公司百度工作十余年,負(fù)責(zé)企業(yè)內(nèi)DevSecOps落地和數(shù)據(jù)安全能力建設(shè)以及運(yùn)營(yíng)實(shí)踐。
          楊偉強(qiáng) 匯豐科技中國(guó)信息安全部門(mén)總負(fù)責(zé)人,在大型跨國(guó)金融信息安全領(lǐng)域工作15年,主要研究方向包括安全開(kāi)發(fā)、安全架構(gòu)以及威脅建模等。


          #IDCF DevOps黑客馬拉松,獨(dú)創(chuàng)端到端DevOps體驗(yàn),精益創(chuàng)業(yè)+敏捷開(kāi)發(fā)+DevOps流水線的完美結(jié)合。

          #規(guī)模化敏捷聯(lián)合作戰(zhàn)沙盤(pán)之「烏托邦計(jì)劃」,玩樂(lè)高,學(xué)敏捷,將“多團(tuán)隊(duì)敏捷協(xié)同”基因內(nèi)化在研發(fā)流程中,為規(guī)?;嵘邪l(fā)效能保駕護(hù)航!!??

          2022年社區(qū)開(kāi)年賦能計(jì)劃,#DevOps黑客馬拉松 和 #規(guī)模化敏捷聯(lián)合作戰(zhàn)沙盤(pán)之「烏托邦計(jì)劃」兩大公開(kāi)課,將在北京、上海、深圳、大連、成都等多個(gè)城市開(kāi)啟

          企業(yè)組隊(duì)參賽&個(gè)人參賽均可,趕緊上車(chē)~??


          瀏覽 86
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

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

          手機(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>
                  天天爽夜夜爽夜夜爽 | 黄色在线网站 | 奇米色色色 | 贵族学校极品粉穴清纯学生妹 | 国产免费看黄色 |