很人已經(jīng)認識到需要更快的軟件開發(fā)生命周期,;需要符合業(yè)務目標的更精確的過程,以及允許開發(fā)團隊和運營團隊之間更清晰的工作流和協(xié)作,。DevOps 本質(zhì)上是敏捷的、成熟的,并隨時準備接受不斷創(chuàng)新和快速部署的現(xiàn)代業(yè)務需求,。 對于安全專業(yè)人員來說,,這是一個非常好的創(chuàng)新方案:我們可以更早地將安全性注入到過程中,從而降低 bug 修復成本,,并能避免潛在的故障,。 問題是,很少有公司能夠真正成功地實現(xiàn) DevOps,。如果沒有在企業(yè)范圍內(nèi)提供恰當?shù)闹С?、培訓并獲得理解,它很快就會變成一個“累贅”,。 那么,,實踐 DevOps 的問題在哪里呢?目前 DevOps 的實踐方案有好幾種,,但是一個有效的方案不僅僅是花哨的新工具,、標題和團隊會議,DevOps 并不是一件容易的事情,,從長遠來看,,花時間來修復一個有問題的策略(或者從一開始就以正確的方式來實施它),就會減少一點痛苦,。最終,,它將帶來質(zhì)量更高也更安全的軟件。 有一種誤解認為,,一個組織必須在敏捷或 DevOps 之間二選一,,選擇一條路徑,一條路走到黑,。 但事實上,,如果我們同時考慮兩者,并將兩者作為一個整體實現(xiàn)時,,開發(fā)過程會達得最好效果,。DevOps 不是敏捷開發(fā)的一個再造,而是它的一個擴展,。如果期望過程完全是敏捷開發(fā),,或者完全不是敏捷開發(fā),往往會把事情搞砸了,。 敏捷開發(fā)支持跨職能團隊的原則,,它從一開始就將設計人員、測試人員和開發(fā)人員聚集在一起,,并致力于在整個項目過程中打開溝通通道,。它的目標是禁止孤立的交付并減少雙重處理,,這兩者也是 DevOps 過程中的優(yōu)勢。然而,,DevOps 更進一步,,它將系統(tǒng)、安全性和操作也引入其中,,以提供一個健壯的,、端到端的技能集,最終目標是向客戶交付完整的,、功能強大的軟件,。 在轉(zhuǎn)向更多以 DevOps 為中心的過程中,一個不可避免的痛點是孤立開發(fā)的風險可能會再次出現(xiàn),。通常,,我們可以讓最初的敏捷團隊在一起工作,額外添加安全性和操作,,但是這樣做的難點是沒有人非常確定該怎樣引入它們,,引入它們應該做什么以及它們的總體目標是什么。 如果沒有明確的目標,、跨職能的管理和與各方的直接溝通,,DevOps 就無法工作,企業(yè)需要給一段適應期,,需要謹慎的變更管理,,如果所有團隊成員都深刻理解了 DevOps,那就成功了一半,。 DevOps 越來越重視將安全最佳實踐作為過程的一部分,,它揭開了該步驟的神秘面紗,并彌合了安全團隊與其他人之間的差距,。如前所述,,讓開發(fā)人員從一開始就能夠安全地進行編碼, 我們?nèi)匀贿€有很長的路要走,,但是 DevOps 方法論的成功實施是在開發(fā)團隊中構(gòu)建安全技能的良好基礎,。 DevOps 方法論的另一個特點是,,它在一定程度上實現(xiàn)了軟件開發(fā)過程的自動化,。這個概念的基石是持續(xù)集成和持續(xù)交付(CI/CD)原則,正如你所想的那樣,,它們非常依賴于工具,。 工具確實很棒。它們可以為軟件交付過程帶來前所未有的速度,,且能以相對無縫的方式輕松地管理代碼庫,、測試,、運維和存儲等。 然而,,盡管有一天機器人可能會搶走我們所有的工作,,并禁錮我們,,當然現(xiàn)在這種情況肯定還沒有出現(xiàn),,但是對工具和自動化的嚴重依賴,可能會在未來為這種情況埋下禍根,。掃描和測試可能無法發(fā)現(xiàn)所有的問題,,代碼可能未檢查,這會帶來巨大的質(zhì)量問題,,更不用說過程中的安全性問題了,。攻擊者只需要一個后門就可以利用它來竊取數(shù)據(jù),在質(zhì)量和安全控制中放棄人為操作可能會造成災難性的后果,。 折衷的辦法是確保人和工具的平衡,。工具應該作為值得我們團隊信任的助手,幫忙我們實現(xiàn)項目目標,。我們應該做到如下幾點:
簡而言之,不要只依賴工具并做最好的打算,。 即使是在最理想的情況下,變更管理也是困難的,。對未知的恐懼甚至可以阻止最優(yōu)秀的團隊成員提高他們的技能和擴展他們的視野,。 僅僅喊口號“我們在做 DevOps”,或者是移動運營團隊的辦公地點,,并不能真正實現(xiàn)成功的開發(fā)過程,,同時也會讓很多人感到困惑,甚至是不滿,。DevOps 不僅是一種開發(fā)方法論,,也是一種文化運動,一個團隊應該有跨職能協(xié)作的心態(tài),。 一種偉大的 DevOps 文化是什么樣子的呢,?
多年以來,,我一直強調(diào)在開發(fā)團隊中構(gòu)建積極的安全文化的重要性,DevOps 也不例外,。 正確的工具,、知識及支持對于實現(xiàn)安全最佳實踐是至關重要的,我們可以看到發(fā)現(xiàn)的漏洞正在減少,,并且團隊開始認識到保護數(shù)據(jù)的重要性,。對于 DevOps,我們必須積極地為變革奠定文化基礎:確保每個人都了解自己的角色,、價值和期望,、以及開發(fā)過程中的整個項目目標和步驟。 |
|
來自: chaiwuge > 《敏捷開發(fā)》