2020 年 DevOps 七大發展趨勢

  • 2020 年 1 月 20 日
  • 筆記

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

據一項權威研究表明: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/)。

下面我們來一起討論和大膽預測一下,2020年值得我們密切關注的7種DevOps趨勢。

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功能。讓我們拭目以待吧。