首頁  >  文章  >  科技週邊  >  智慧自動化如何改變持續整合(CI) /持續交付(CD)

智慧自動化如何改變持續整合(CI) /持續交付(CD)

WBOY
WBOY轉載
2023-04-12 21:31:011076瀏覽

譯者| 李睿

審校| 孫淑娟

#一些思想領袖常說,「所有的公司都是軟體公司。」這是因為在過去的十年中,許多大中型企業已經實施了數位轉型計劃,而這些計劃對這些企業開發和部署軟體以交付業務價值的方式產生了深遠的影響。

在過去,應用程式通常是單片的,部署在內部部署的裸機或虛擬機上,更新很少、數量很大且不頻繁。如今,新的應用程式模式利用了微服務、容器化和持續交付,從而在Kubernetes、虛擬機器和多雲環境中產生了大量的更新版本。這種演進催生了新類型的業務流程和業務模型,從「即服務」到全方位的全通路客戶參與,再到由即時物聯網數據驅動的業務流程。

在雲端原生環境中成功實現這些新的軟體交付策略需要另一種轉變-軟體開發。企業必須在不犧牲軟體安全性或忽略法規和業務合規性需求的情況下,以高速、頻繁和準確的方式交付更多的軟體版本。這種演進增加了複雜性。

而在地理上可能廣泛分佈的開發、維運、Devops、安全和合規團隊必須更快、更準確地工作,並具有更高的協調程度。類似地,複雜的分散式工作流程必須高度協調,以避免錯誤和延遲,同時提高軟體交付團隊成員的生產力。多樣化的持續整合(CI) /持續交付(CD)工具鏈、日益增加的安全問題、不斷發展的隱私法規以及合格技術人員的短缺使這種演變進一步複雜化。

面對所有這些挑戰,企業如何提高軟體交付團隊的生產力,並最大化發布的業務價值?首先,企業必須採用內部系統,允許隨著時間的推移開發他們的工具和流程。第二,他們必須對Devops、安全性和合規性管理進行集中控制,同時在流程和工具方面給予開發團隊最大的彈性。第三,他們必須智慧地實現軟體交付管道的自動化。

1、持續交付的新模式

持續交付是指以可重複且可持續的方式將軟體變更快速且安全地部署到生產中。這個規程並不新鮮,但是持續交付的一個新模式正在出現,它可以作為改善Devops管理、提高開發效率以及確保治理和安全性的基礎。這種新模式基於三個原則:開放平台、智慧自動化和集中控制的自治團隊。

(1)開放平台

開放平台支援與現有持續整合(CI) /持續交付(CD)工具和工作流程的無縫整合。這使得企業可以在不破壞現有工具鏈和流程的情況下進行開發,也不會冒著開發效率大幅下降的風險,更不用說讓開發人員和管理人員感到沮喪了。例如,使用用於公共持續整合(CI) /持續交付(CD)工具的本地API的開放整合層可以允許開發團隊繼續使用同類最佳工具。

為了獲得最大的生產力和控制,與現有持續整合(CI) /持續交付(CD)工具的深度整合可以在軟體交付過程的每個階段提供對外發布的可見性和控制,使系統能夠識別風險並控制整個交付過程中的工作流程。此外,開放整合層與用於Argo和Spinnaker等常用編排工具的本地API,可以允許修定在不拆卸和替換持續交付平台的情況下更改編排工具。

(2)智慧自動化

智慧自動化滿足了成功軟體交付的許多核心需求。基本的流程自動化可以透過程式碼自動化常規人工任務來提高Devops人員的生產力。例如,開發人員可以在Jenkins中運行一個構建,然後觸發一個自動任務,將構建推到Artifactory並啟動交付管道。然而,將自動化與人工智慧結合可以促進流程的發展並改善業務成果。

智慧自動化可以實現常規任務的自動化,然後隨著版本在交付生命週期中的移動不斷改進自動化決策。應用於發布過程的智慧—當與深度工具整合相結合時,不僅可以存取事件,還可以存取所有流程數據,自動檢測軟體風險,並在發布候選版本投入生產之前自動標記它們以進行補救。

除了提高開發效率和更快、更準確的軟體發布之外,智慧自動化還提供了對合規性和安全性實施集中、自動化控制的方法。透過在軟體交付過程中實施安全策略和自動化,企業可以實施DevSecOps,使安全性成為開發流程的一個整合部分,而不是開發流程結束時的審查階段。

(3)集中控制的自主團隊

建立集中控制對於支援組織範圍的開發、安全性和合規性團隊以確保所有軟體版本的合規性、一致性和可審核性至關重要。為了取得成功,集中式控制需要一個中央策略引擎,可以在企業和單一團隊層級強制執行安全性、合規性和業務規則。基於角色的存取控制(RBAC)可以為團隊和個人提供細粒度權限,而不會影響控制。為了使團隊能夠獨立運作,團隊必須在安全性、部署目標和類似因素方面與其他團隊隔離。

智慧自動化與策略引擎結合,可以自動化並持續改善安全性和合規性策略的實施,減少對開發人員、安全性和合規性團隊的需求。為了進一步提高軟體開發管道的效能,可以實施企業範圍內的最佳實踐和可重複使用部署模式,以提高開發團隊的生產力和準確性。

2、持續交付的發展

現在,這些持續交付新的基本元素開始透過以下方式進入產品。

(1)開源專案

開源持續整合(CI) /持續交付(CD)專案持續發展。例如,為了滿足不斷發展的安全性問題,開源的雲端原生持續交付解決方案Spinnaker現在包含多個身分驗證(身分管理)和授權(存取管理)選項。為了支援集中控制,Spinnaker也對這些關鍵安全功能採取了智慧方法。 Spinnaker沒有編寫新的專有登入解決方案,而是利用了現代的安全協議,包括OAuth 2.0、SAML和LDAP,使Spinnaker能夠與大多數企業已經使用的身份和存取管理解決方案整合。 Spinnaker還整合了常見的授權解決方案,例如GoogleGroups、GitHub Teams、SAML Roles和LDAP群組。

(2)基本流程自動化

常規流程的自動化在商業解決方案中越來越普遍,包括專有解決方案和基於開源持續交付解決方案的產品。例如,像CodeFresh、Armory和OpsMx這樣的商業解決方案都建構在開源持續交付專案上,例如Argo和Spinnaker。 Digital.ai、Harness和Broadcom等公司也提供專有商業解決方案。

(3)基礎人工智慧和機器學習

#人工智慧和機器學習正在商業解決方案中興起,例如Harness和OpsMx。這方面的一個例子是機器學習驅動的持續驗證過程,它從先前的部署中學習,並創建一個良好部署的基線,從而實現異常檢測。同樣,來自New Relic、Datadog、Honeycomb和Splunk的持續整合(CI) /持續交付(CD)工具使用人工智慧/機器學習對軟體效能和品質提供更多見解。

(4)智慧自動化

智慧自動化結合了人工智慧和機器人流程自動化(RPA)技術,以精簡和擴展跨組織的過程和決策。智慧自動化正在OpsMx等少數的商業持續交付解決方案中興起,使企業能夠超越常規流程和工作流程的自動化。

智慧自動化可以對軟體版本進行風險分析,自動確定版本是否符合標準,以傳遞到下一個管道階段,而不會產生不可接受的生產失敗風險。這一級別的智慧還可以自動化策略合規性,確保遵守所有治理規則和最佳實踐。在業界領先的企業走得更遠,將智慧自動化與進階部署策略(如藍綠測試、金絲雀測試和漸進交付)相結合,以前所未有的速度和更低的風險部署軟體。

至關重要的是,軟體交付流程應與企業層面的數位化變革要求保持同步。如果不這樣做,將導致軟體交付面臨挑戰,導致發布速度慢、發布錯誤率高、安全性和合規性失敗,以及用戶和客戶感到沮喪。

好消息是,Devops開發人員現在可以為其持續交付過程實現一個新的基礎,以確保更快、更高品質的軟體發布。隨著智慧自動化功能變得越來越廣泛,Devops開發人員可以將自己定位為數位轉型加速的主要驅動因素,在更緊湊的時間框架內更快、更頻繁、更安全地交付新的軟體功能。

原文連結:https://www.infoworld.com/article/3658209/how-intelligent-automation-changes-cicd.html

#

以上是智慧自動化如何改變持續整合(CI) /持續交付(CD)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除