DevOps 2020:值得關(guān)注的九大發(fā)展趨勢_技術(shù)周刊第616期
軟件開發(fā)一路走來先后經(jīng)歷了不同發(fā)展階段,從以往的瀑布式方法到敏捷交付,再到 DevOps,軟件開發(fā)從未停止前進的步伐。以 Kubernetes 為例,作為推動 DevOps 的核心助力之一,這款容器編排工具實現(xiàn)了多主集群選項的標準化,并帶來了新一輪生產(chǎn)力提升。
目前,DevOps 已經(jīng)實現(xiàn)了代碼與流水線層面的自動化。隨著 AI 技術(shù)在 2020 年逐步成為常態(tài),開發(fā)人員將借助 AI 工具獲取到更多的大數(shù)據(jù)管理控制權(quán);當數(shù)據(jù)庫管理與 DevOps 結(jié)合之后,可供我們分析的大數(shù)據(jù)素材就越多,軟件功能也會越豐富,因此,在未來,我們可以看到更多 DevOps 與各類數(shù)據(jù)庫管理方案的集成。
在本文中,我們將探討在 2020 年值得關(guān)注的 DevOps 九大未來發(fā)展趨勢。
1. DevOps 的自身優(yōu)勢有哪些?
根據(jù)百度百科的解釋,DevOps 是一種重視“軟件開發(fā)人員(Dev)”和“IT 運維技術(shù)人員(Ops)”之間溝通合作的文化、運動或慣例。透過自動化“軟件交付”和“架構(gòu)變更”的流程,來使得構(gòu)建、測試、發(fā)布軟件能夠更加地快捷、頻繁和可靠。其主要優(yōu)勢體現(xiàn)一下三個方面:
從軟件開發(fā)到部署,DevOps 能夠顯著減少整個軟件交付流程當中所需要的人手數(shù)量,從而降低時間需求與潛在錯誤。如今,在 DevOps 周期當中使用自動化測試工具已經(jīng)成為很多開發(fā)者的默認選項。
由于開發(fā)人員與運營團隊團結(jié)在統(tǒng)一的 DevOps 文化之下,因此以往常見的溝通不暢與工作沖突能夠得到有效緩解。
隨著 DevOps 的實施,我們可以在開發(fā)周期早期快速解決 bug 修復(fù)問題。
除此之外,DevOps 的優(yōu)勢還在于允許開發(fā)者在較短時間內(nèi)部署新代碼、快速更新并完成升級等等。
2. 2020 年 DevOps 九大發(fā)展趨勢
作為 2020 年需要重點關(guān)注的技術(shù)方向,我們總結(jié)了在新的一年中,DevOps 的九大最新發(fā)展趨勢。
1. 充分運用機器學習的力量
機器學習與人工智能已經(jīng)成為數(shù)字化領(lǐng)域的焦點。在未來幾年當中,隨著 AI 技術(shù)的進一步普及,DevOps 也將迎來智能化升級。
如今,可用數(shù)據(jù)總量正快速增長,AI 技術(shù)將幫助 DevOps 從大數(shù)據(jù)處理當中得到實際助益,進而通過之前難以想象的方式改善應(yīng)用程序開發(fā)流程(以及相關(guān)分析與研究流程);已經(jīng)實現(xiàn)自動化的 CI/CD 流水線也將完成自動化提升,最終將流程內(nèi)的人工干預(yù)需求削減至最低水平。雖然 AI 與 ML 技術(shù)的具體實現(xiàn)仍將充滿挑戰(zhàn),但由此帶來的成果十分值得期待。
鑒于此,自動化測試框架的質(zhì)量提升將成為新一年內(nèi)必須達成的核心目標。如今,LambdaTest 等自動化測試解決方案的出現(xiàn)不僅為用戶提供堅實的基礎(chǔ)設(shè)施,而且附帶一系列補充性功能,足以在增加跨瀏覽器測試體驗的同時幫助開發(fā)者更快交付軟件產(chǎn)品。
2. 云服務(wù)供應(yīng)商的地位將進一步提升
2020 年,云服務(wù)供應(yīng)商將更加專注于無服務(wù)器 DevOps 解決方案,同時將會迎來相應(yīng)客戶群體的爆發(fā)式增長。這類解決方案不僅具備顯著的成本效益,同時也降低了 DevOps 的實施門檻。開發(fā)人員無需維護運行代碼的硬件與軟件——一切交給云服務(wù)商,用戶可以集中精力搞開發(fā)。
3. Compliance-As-Code:DevSecOps
隨著惡意攻擊者的持續(xù)肆虐,安全性將在新一年中繼續(xù)成為人們的關(guān)注重點。開發(fā)人員目前正在全面而徹底地貫徹合規(guī)性保障,同時著力改善 DevOps 中的安全性水平。對于發(fā)現(xiàn)安全漏洞之后如何發(fā)布更新代碼,開發(fā)者們一直保持著警惕的心態(tài)。DevSecOps 的出現(xiàn)有望解決這一問題,并在 2020 年逐步在更多業(yè)務(wù)環(huán)境中發(fā)揮重要作用。
4. 模塊化軟件:微服務(wù)
2020 年,越來越多的企業(yè)將逐步告別大型單體式應(yīng)用程序,轉(zhuǎn)而迎接模塊化應(yīng)用程序的興起。模塊化應(yīng)用程序,就是將以往的單體式應(yīng)用程序拆分為若干個邏輯模塊。這意味著開發(fā)者能夠獨立更新各個模塊,且不必擔心對應(yīng)用程序的整體穩(wěn)定性造成破壞。
簡而言之,到 2020 年,微服務(wù)架構(gòu)的普及度將進一步提高。
5. 推動 CI/CD 流水線的實現(xiàn)
為了將 CI 與 CD 原則推向極致,我們需要在 DevOps 情境之下,彌合軟件交付環(huán)境中各協(xié)作部門之間的對接鴻溝。開發(fā)人員、測試團隊、運營團隊、SecOps 團隊乃至軟件版本管理團隊等,都需要以有組織的方式進行協(xié)調(diào),從而推動 CI/CD 流水線的真正實現(xiàn)。
6. 編碼將成為最重要的核心技能
自動化無疑是 DevOps 領(lǐng)域的重中之重。截至目前,CI/CD 流水線仍然需要大量人為干預(yù)。展望新的一年,這種人為干預(yù)有望得到進一步削減。腳本編寫、機器學習應(yīng)用以及全面自動化都將成為常態(tài),同時這也意味著運營團隊也需要加入腳本編寫大軍。此外,測試人員也需要掌握編碼技能,否則將無法融入新的軟件開發(fā)體系。
7. 進一步關(guān)注左移策略
隨著安全問題的快速升級,左移(shift-left)策略的重要性也將大大提高。管理員不再需要坐等產(chǎn)品開發(fā)出現(xiàn)了 bug 或者安全漏洞之后才被動介入;相反,開發(fā)人員能夠主動檢查流水線中的安全問題,并采取適當?shù)膽?yīng)對措施。過去一年中,這方面舉措已經(jīng)開始興起,并將在 2020 年內(nèi)得到更多人的認同。這種左移策略還將幫助我們在開發(fā)周期早期,快速適應(yīng)可能出現(xiàn)的一切產(chǎn)品變更。
8. 基礎(chǔ)設(shè)施即代碼
隨著云服務(wù)采用率的上升,IaaS 需求也將水漲船高。開發(fā)人員不再需要配置單獨的服務(wù)器、數(shù)據(jù)中心以及虛擬機——所有內(nèi)容都將以腳本的形式編寫完成。
以此為基礎(chǔ),軟件開發(fā)相關(guān)成本將逐步降低,并不斷強化此類編碼基礎(chǔ)設(shè)施的靈活性。無論各位管理員身處何地,都能隨時使用基礎(chǔ)設(shè)施資源。另外,隨著基于邏輯的運營方法越來越受到關(guān)注,F(xiàn)aaS 也將保持增長。事件驅(qū)動型服務(wù)器容量使用方式將成為常態(tài)——換句話說,由于全部內(nèi)容都將遵循嚴格的“If-This-Then-That”邏輯,云服務(wù)器管理負擔也將隨之消散。以此為基礎(chǔ),云服務(wù)器自身將能夠準確判斷何時需要提供更多計算容量,何時可以降低容量供應(yīng)以控制運營成本。
9. 數(shù)據(jù)庫管理的興起
DevOps 已經(jīng)全面實現(xiàn)了代碼與流水線的自動化。隨著 AI 在 2020 年的普及,開發(fā)人員將借助 AI 工具獲取更為靈活多樣的大數(shù)據(jù)管理控制能力。這意味著數(shù)據(jù)庫管理將與 DevOps 流程深度結(jié)合。分析的大數(shù)據(jù)素材越多,軟件功能也就越豐富。DevOps 體系也將迎來新成員——數(shù)據(jù)庫管理。
3. 總結(jié)
DevOps 之所以令人著迷,核心就在于其強大的適應(yīng)性。由于大部分 DevOps 工具屬于開源項目,因此企業(yè)可以根據(jù)自身需求對工具做出微調(diào)。Kubernetes、Docker 以及 Jenkins 都屬于開源成果,而且這種開源趨勢也將在 2020 年繼續(xù)保持下去。有趣的是,曾經(jīng)將開源稱為“癌癥”的微軟公司現(xiàn)在也開始支持開源工具甚至是 Linux Kernel。新的一年當中,我們應(yīng)該會迎來開源工具與操作系統(tǒng)的又一輪偉大崛起。
幾年之前,Kubernetes 曾推出一項革命性的改進——多集群聯(lián)合,這一重大成果將在未來幾年內(nèi)持續(xù)普及。從目前來看,現(xiàn)有軟件開發(fā)方法還無法發(fā)揮 DevOps 的全部潛能,但隨著 AI 與云服務(wù)的興起,DevOps 文化終將成為新的客觀標準。雖然 2020 年才剛剛拉開帷幕,但相信我們將踏實穩(wěn)健地向著這個方向邁進。
2020 年,DevOps 領(lǐng)域?qū)⒂瓉硪幌盗杏腥さ淖兓?,但可以肯定的?mdash;—DevOps 仍將保持重要地位,而且是愈發(fā)重要的市場地位。因此,我們在這里建議大家深入學習 Kubernetes、Docker 以及其他 DevOps 工具,相信這方面技能將成為新一年中驅(qū)動職業(yè)生涯發(fā)展的強勁動力。