2019年關于DevOps的五大趨勢
譯文【51CTO.com快譯】作為軟件開發的一種方法,DevOps已經在過去的九年時間里取得了廣泛認同。這種將開發和IT運營的職能相結合的方式,不但促進了兩者更好地溝通,而且加強了他們彼此的緊密合作。業界已經出現了一系列新的工具和技術,來支持軟件研發企業向該領域的轉變。在此,讓我們來大膽地展望一下2019年DevOps的五大發展趨勢。
從DevOps到NoOps
近年來,NoOps(No Operations,無運營)的發展趨勢日漸明顯。通常情況下,當我們需要使用諸如測試環境之類的IT資源時,我們往往需要依賴一個獨立的運營團隊,由他們來代表我們處理此類請求。但是有時候,我們不得不長時間地等待此類服務請求被響應到。
隨著NoOps的興起,運營團隊能夠給我們帶來無縫的體驗。因為有了智能化,各種自助服務將能夠通過授權業務的方式,來透明地創建一只運營的團隊,進而實現各種管控。可見,由此所帶來的結果是:您可以直接地使用各種IT資源,而無需等待。這也使得企業內部的不同角色人員,可以借此提高他們的生產力。
讓我們在此打一個簡單的比方:如果您每次在使用互聯網資源之前,都需要聯系ISP的話,其繁瑣程度是不言而喻的。那么對于為業務用戶部署測試環境的IT需求而言,我們同樣需要能夠提供無縫的服務體驗。
這幾年,NoOps經常被人們提及和熱議。業界普遍將平臺即服務(Platform-as-a-Service,PaaS)視為NoOps的一種實現途徑,其中包含了無服務器編程、容器化、微服務、智能化與一致性操作、以及自動修復等方面的實踐與應用。我個人認為:2019年,各大軟件企業會進一步挖掘NoOps的商業潛力,并著手建立一些全棧式的實踐方案。與此同時,我也發現許多金融服務類公司已經開始向這個方向進行轉移了。
AI和DevOps的整合
DevOps已日趨面向數據型驅動。通過基于云端的軟件即服務(Software-as-a-Service,SaaS)模式,我們可以進一步加快應用程序的交付。軟件企業也可以借此收集到更多有關用戶是如何與應用進行交互,以及應用程序在交付的全過程所產生的相關數據。利用這些數據,企業可以深入獲悉其軟件在整個交付過程中的數量、穩定性、部署頻率、交付時間的變更、服務恢復時間、以及變更故障率等可以被單獨測量到的指標。
而且,這些都是人工智能(AI)和機器學習(Machine Learning)較為成熟的領域。通過將機器學習應用到軟件交付的整個生命周期,企業將能夠迅速地分析、并捕獲到產品服務中正在出現的瓶頸、擁塞、或運能問題。他們甚至能夠通過一些跡象,來實現精準的預判,并對交付進行優化。
在2019年,我希望能看到更多的AI和數據科學專家,能夠與DevOps團隊緊密合作,在提高效率的同時,更加深入地洞察軟件交付和測試方面的細節與進程。這樣的協同一致性對于企業是否能夠更快、更準確地交付出客戶真正需要的新產品、提供確實滿意的新功能,都是至關重要的。
集成安全:DevSecOps
DevSecOps也將在2019年被進一步“賦能”。眾所周知,在DevOps中有一個所謂測試“左移”(Shift-Left)的概念。套用到安全方面,我們可以理解為:在代碼的首次編寫階段就一次性寫出安全的代碼,而不要等到交付進程的結束時,才把安全作為一種事后補救的措施。如果我們在持續交付管道盡可能早的階段中,將各種安全方面的考慮嵌入到產品和運營中,將有利于加快測試和修正的耗時周期。
2019年,我希望有更多的組織能夠驅動他們的安全團隊,通過利用各種安全類工具和平臺的優勢,自動化地將定制的安全策略真正嵌入、或集成到DevSecOps環境之中。DevSecOps環境可以自動檢測出各種安全漏洞,并在面向客戶的環境中通過使用質量門(quality gates,即在研發過程品質控制的工具),來迅速評估代碼本身的安全性。可見,DevSecOps將會更多地從內容驅動和全面實現客戶價值的角度出發,而不是僅僅考慮到安全的成本和事后補救。
容器化微服務的增長
微服務是組織對其客戶高效地交付各種功能與服務的一種方法。它能夠將大型的系統分解成為多個相互獨立、且松耦合的小組件。而這些組件又可以被提交、并運行在那些輕量級、且彼此隔離的容器之中。這些元素的組合,成就了快速實現變更的方法。
隨著各類企業對于敏捷開發和靈活性要求的增多,他們已將眼光投向了容器化的微服務架構,而Google的Kubernetes開源平臺正是此類架構中的代表。我預測這一趨勢在2019年會伴隨著功能即服務(Functions-as-a-service,FaaS)有增無減。
在過去的傳統時代,開發人員必須根據其給定的基礎架構,來開發和運行他們的服務。如今,主流云服務提供商正在讓那些限制開發者的基礎架構逐漸消亡。開發人員完全可以編寫出一些云原生(cloud-native)的“無服務器(serverless)”功能,而無需理會它們將會在哪里運行、其對應的基礎架構會是怎樣。雖然基于云端的各種功能目前仍具有一定的局限性,但是在2019年,隨著它們的逐漸成熟,其兼容性勢必能夠攻克更多、更復雜的云端問題。
持續交付的加持
2019年,隨著各個企業的領導團隊逐漸認識到:持續交付的關鍵技術實踐,與整體業務績效和組織參與度的相關性。那些針對大型企業軟件開發的持續交付方法,將會持續得到迭代與升級。根據《Puppet與Splunk 2018年度DevOps狀況報告》(請詳見)展示,在現代化企業中,IT部門完全可以通過DevOps的落地,成為業務績效前向發展的驅動者,而不再被看作是“燒錢”的成本中心。而且,這種認識觀念上的轉變,在2019年還將繼續。
綜上所述,2019年對于DevOps來說注定是一個不斷“升級打怪”的一年。在軟件開發的業界,我們將見證更多有關NoOps、Low Code、PaaS、AI、安全、以及容器化微服務的蓬勃發展。它們注定將為企業、用戶和平臺帶來翻天覆地的變化。
原文標題:Five DevOps Trends for 2019,作者:Harbinder Kang
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】