DevOps 採用以下基礎做法,當這些做法搭配使用時,可在整個開發生命週期中推動可靠、可重複的工作流程:
持續整合/持續傳遞 (CI/CD)
持續整合會自動將程式碼變更合併到共用存放庫,並觸發自動化建置與測試。持續傳遞會在此基礎上,將已驗證的程式碼自動部署到測試和正式環境。這項做法可降低部署風險,同時支援一天內多次發行。
自動化
透過工作流程自動化,簡化測試、部署和監視等重複性工作,可提升生產力、減少錯誤,並讓 DevOps 團隊有更多時間專注於策略性活動。此外,針對安全性的流程自動化,也能協助團隊有效保護軟體,避免弱點。
跨團隊共同作業
DevOps 從根本上改變了跨領域團隊面對軟體開發與作業的方式。DevOps 不再將這些團隊視為目標互相衝突的獨立個體,而是建立起以共同目標與客戶成功為共同責任的文化。透過重視團隊合作與開放溝通,DevOps 可讓團隊更快回應變更與問題。
版本控制
集中式版本控制系統會自動追蹤每次程式碼變更、組態更新和基礎結構修改。團隊可完整掌握誰在何時變更了什麼以及原因,這對偵錯、合規性和協同開發都很重要。
情境感知
Teams 會持續觀察、理解並預測 DevOps 管線中正在發生的事情。這項做法不僅限於單純監視,還能讓團隊即時識別問題並主動解決。
基礎結構即程式碼 (IaC)
IaC 將基礎結構佈建視為軟體開發,並使用程式碼來定義伺服器、網路和雲端資源。這項做法支援 CI/CD 管線,並可在開發、測試和正式環境中,實現一致且可重複的基礎結構部署。它也能支援快速擴充和災害復原。
微服務
微服務架構可支援高效率地開發、部署和擴充創新且以雲端為基礎的服務。團隊可先獨立開發小型且特定的服務,再透過 API 將它們連接成更大型的解決方案。微服務逐漸以
容器 進行封裝,因而可在 DevOps 工作流程中帶來更高的彈性、創新性與韌性。
DevSecOps
DevSecOps——也就是開發、安全性與作業的縮寫——已成為標準的 DevOps 做法。自動化安全性工具可找出整個開發生命週期中的弱點。此外,零信任架構和持續合規性監控可協助組織在維持良好安全性態勢的同時,保留開發速度。
組態管理
自動化組態管理可在所有環境中維持一致的系統狀態。團隊不必手動設定伺服器,而是使用以程式碼驅動的工具,可靠地部署、設定及維護基礎結構元件。
持續監視
即時監視和可檢視性可提供應用程式效能、使用者體驗和系統健全狀況的深入解析。主動監視可讓團隊在問題影響客戶之前先找出並解決問題,支援定義成功 DevOps 實作的高速部署週期。
DevOps 中的 AI
DevOps 運用機器學習、生成式 AI 和其他 AI 技術,在生命週期的每個階段賦能團隊。例如,
DevOps 中的 AI 可透過更充分的決策簡化規劃,以 AI 支援的建議加快程式碼開發,並透過預測分析提升 CI/CD。代理式 DevOps 中,自主式代理程式會與人類一起工作,或代表人類執行一連串工作,這代表 DevOps 演進的新篇章。