一項權威研究表明:2017 年,DevOps 在市場上創造了 29 億美元;預計到 2022 年,這個數字將達到 66 億美元。作為軟體專案開發的關鍵性要素,DevOps 已經深入地影響到了軟體世界的整體開發格局。許多專家預測 DevOps 將逐漸成為軟體工程的主流模式,並將在 2020 年達到其頂峰。

因此,對於許多研發企業而言,開發人員已不再停留在是否對其感興趣的層面上了,而是應該擼起袖子,真刀真槍地去實踐 DevOps 相關的技術與方法。Hackernoon 在引述 Statista 的文章中提到:從 2017 年到 2018 年間,DevOps 的全球使用率增長了 7%。而 IDC 預計 DevOps 的軟體市場體量將從 2017 年的 29 億美元,增長到 2022 年的 66 億美元 (請參見 https://www.idc.com/getdoc.jsp?containerId=US43722718 )。

DevOps 具有以下優點:

  • 能夠對各種修改需求做出快速的反應。
  • 能夠實現靈活的安全部署與編排。
  • 能夠建立完善的協作與溝通渠道。
  • 能夠快速地識別出程式碼中的錯誤或漏洞。
  • 開發團隊可以毫不費力地將精力放在其他關鍵問題上,而不必過度專注於各項安全功能。

如今,業界許多企業正在採用 DevOps 的產品交付模式。如下圖所示,根據 Statista 的統計資料顯示:那些在整體公司內部全面“擁抱了”DevOps 的企業數量,從 2017 年的 10% 增長到了 2018 年的 17% (請參見 https://www.statista.com/)。

1. 自動化將成為重點

目前,那些實施了 DevOps 的公司已經能夠通過高效和快速的部署受益匪淺 (請參見https://dzone.com/articles/benefits-and-challenges-of-taking-the-devops-route)。在此,我們將重點討論 DevOps 的自動化方面。零接觸自動化 (Zero-touch automation) 正是未來的發展方向。瞭解 DevOps 週期的 6 個 C (譯者注:Continuous Business Planning、Collaborative Development、Continuous Testing、Continuous Release and Deployment、Continuous Monitoring、Collaborative Customer Feedback & Optimization),並確保在這些階段之間應用自動化是關鍵所在,這將是各個企業在 2020 年的主要目標之一。

2. 將注意力從 CI 管道 (Pipelines) 轉移到 DevOps 裝配線 (Assembly Line)

眾所周知,DevOps 的最終目標是:改善計劃和交付過程中自動化之間的協作。這不僅涉及到持續整合 (CI),而且與持續交付 (CD) 有關。如今,許多公司都正在投入更多的精力和時間,來了解整個軟體開發流程中有關自動化方面的知識與技能。而 2020 年,他們的注意力將會從持續整合的管道,轉移到 DevOps 的裝配線上。

裝配線的優勢:

  • 強大的巢狀可見性
  • 原生整合
  • 快速實現和擴充套件 “as-code (即程式碼)” 的理念
  • 具有完美的互操作性,可實現持續交付
  • 基於團隊的商業智慧與分析

3. 人工智慧 (AI) 的興起,資料科學的發展

越來越多的由人工智慧驅動的應用程式 (https://dzone.com/articles/leveraging-ai-and-automation-for-successful-devsec),將推動資料科學團隊在其工作流程中尋找 DevOps 理念的實踐價值。DevOps 方法有望成為處理自動化管道,以及維護與測試生產鏈中多個已部署模型的主要選擇。

為了提高開發、部署和管理那些由 AI 和 ML (機器學習) 驅動的應用效率,資料科學和開發團隊將不斷加強緊密協作,相輔相成地提高彼此的技能與交付水平。2020 年, DevOps 團隊將在自動化的幫助下,通過各種工作流的完美交付,發掘出更多潛在的客戶。

4. “一切即為程式碼 (Everything as Code)”的概念

不可否認:程式編碼如今已經成為了 IT 部門、及其服務系統背後的主要支柱之一。因此,充分了解各種 DevOps 工具、以及對應的自動化指令碼,在企業的日常軟體開發過程中都能夠起到至關重要的作用。2020 年,此類實踐將會在各種專案的落地過程中佔據主導地位。我們可以毫不誇張地說:企業業務的前景、以及產品的未來品質都會或多或少取決於開發人員、測試人員和運營人員的綜合技術能力。

由於 DevOps 旨在縮減交付週期,因此我們需要引入那些可被用於提高軟體生產週期效率的優質程式碼。此處“一切即為程式碼”的思想是:在 DevOps 的內部完成程式碼的 SDLC (軟體開發生命週期管理,https://dzone.com/articles/leveraging-best-practices-with-the-sdlc) 實踐。2020 年,面對 DevOps 這股浪潮的持續推進,如果軟體測試人員還不開始著手學習程式碼程式設計,以及編寫測試指令碼的話,他們來年可能會更加舉步維艱。

5. 使用無伺服器架構

無伺服器架構,特別是由雲服務負責的整體架構,會將 DevOps 提升到一個更高的水平。由於微服務是一種獨立的服務模式,因此它在出現問題時,不會產生連帶式的依賴關係,也不會破壞其他現有的服務系統。因此,有了此類體系結構,軟體開發人員可以將精力更加集中在手頭的應用程式上。BaaS (Backend as a Service,後端即服務) 和 FaaS (Function as a Service,功能即服務) 是無伺服器架構中的兩個關鍵方面。通過採用無伺服器架構,企業能夠節省時間和降低成本,進而確保實現各種彈性的工作流程。

6. 更多嵌入式安全性

隨著安全漏洞數量的急劇增長,以及各類安全事件給公司聲譽所帶來的嚴重影響,更多的企業乃至國家開始意識到網路安全的重要性。我們在享受 DevOps 快速交付效率的同時,需要讓安全性成為設計規範的一部分,從一開始就充分考慮到安全性的全面需求。只有將安全要素植入軟體產品的“基因”之中,才不會疲於亡羊補牢。

2020 年,DevSecOps 將持續呈現上升的趨勢。開發團隊將在應用程式的開發生命週期中“左移 (Shift-left)”DevSecOps,通過減少各種程式原生的漏洞,進而讓安全性更能匹配業務目標,並提高企業的聲譽。DevSecOps 模型假設專案中的每個人都會擔負起安全方面的責任。這種軟體開發方面的通力合作,將有助於減少責任的推諉,並確保開發過程安全性與高效性。

7. Kubernetes 將有長足的發展

Kubernetes 因其自身的效能和易用性,已經成為增長最快的容器技術。而且 Kubernetes 擁有著廣泛的開源社群的支援。目前在全球範圍內,許多 CIO 和技術專家都已經在自己的產品和專案中大量使用到了 Kubernetes。我們預計在 2020 年,隨著各類企業進一步通過深度採用容器技術,來執行它們的雲原生應用,Kubernetes 將會迎來更廣的普及、更大的發展。當然,基於 Kubernetes 的容器編排軟體也會逐漸替換一些舊的 DevOps 功能。讓我們拭目以待吧。

本文轉自:51CTO.com,作者:陳峻 編譯