在 2022 年,值得關(guān)注的 DevOps 最佳實(shí)踐是什么?
一、微服務(wù)架構(gòu)
微服務(wù)架構(gòu)是近年來(lái)的前沿應(yīng)用之一。微服務(wù)能夠在簡(jiǎn)化 DevOps 流程,提高應(yīng)用程序生產(chǎn)力和質(zhì)量的同時(shí),將開(kāi)發(fā)轉(zhuǎn)移到靈活的架構(gòu),很好地滿足云原生應(yīng)用程序的開(kāi)發(fā)需求。
數(shù)據(jù)顯示,2018 年全球微服務(wù)架構(gòu)市場(chǎng)價(jià)值為 20.73 億美元,預(yù)計(jì)到 2026 年將達(dá)到 80.73 億美元,從 2019 年到 2026 年的復(fù)合年增長(zhǎng)率為 18.6%。
DevOps 團(tuán)隊(duì)將各個(gè)功能塊封裝在微服務(wù)中,并通過(guò)像構(gòu)建塊一樣組合微服務(wù)來(lái)構(gòu)建更大的系統(tǒng)。企業(yè)可以專注于較小的獨(dú)立服務(wù),這些獨(dú)立服務(wù)由不同的小團(tuán)隊(duì)管理,而不是將所有團(tuán)隊(duì)都集中在一個(gè)大型應(yīng)用程序上。
微服務(wù)是一種架構(gòu)風(fēng)格,使用單一工具來(lái)控制整個(gè)工作流程是不現(xiàn)實(shí)的,往往需要多種工具和技術(shù)的配合。
不過(guò)也有例外,飛算 SoFlu 全自動(dòng)軟件工程平臺(tái)就能簡(jiǎn)單、快速地構(gòu)建微服務(wù)。該平臺(tái)不僅無(wú)需復(fù)雜繁瑣的項(xiàng)目配置,通過(guò)可視化界面替代傳統(tǒng)敲代碼的編程模式,拖拽平臺(tái)組件繪制業(yè)務(wù)流程圖就可實(shí)現(xiàn)微服務(wù)應(yīng)用開(kāi)發(fā),極大地降低了架構(gòu)搭建門檻。
以某科技公司項(xiàng)目為例,一套互聯(lián)網(wǎng)技術(shù)的微服務(wù)架構(gòu)體系,包括前端系統(tǒng)體系、業(yè)務(wù)系統(tǒng)體系和大數(shù)據(jù)體系等部分,而且需要版本高頻率迭代。IT團(tuán)隊(duì)主要負(fù)責(zé):需求分析、系統(tǒng)架構(gòu)設(shè)計(jì)、微服務(wù)開(kāi)發(fā)(包括:前端界面開(kāi)發(fā)、技術(shù)服務(wù)支撐系統(tǒng)開(kāi)發(fā)、業(yè)務(wù)系統(tǒng)開(kāi)發(fā)、人工智能分析系統(tǒng)開(kāi)發(fā)、大數(shù)據(jù)系統(tǒng)開(kāi)發(fā)),系統(tǒng)測(cè)試和運(yùn)維保障系統(tǒng)等,同時(shí)還需要兼顧對(duì)外合作項(xiàng)目開(kāi)發(fā),涉及項(xiàng)目超30個(gè),且要能夠支撐千萬(wàn)級(jí)用戶的業(yè)務(wù)量。
基于上述配置要求,“傳統(tǒng)開(kāi)發(fā)模式”下和應(yīng)用“飛算SoFlu全自動(dòng)軟件工程平臺(tái)”兩者人力成本的相關(guān)費(fèi)用對(duì)比如下所示:

如果使用飛算SoFlu全自動(dòng)軟件工程平臺(tái)進(jìn)行該項(xiàng)目開(kāi)發(fā),該科技公司每年可節(jié)省 75% 以上的研發(fā)費(fèi)用。尤其在人力成本方面,一個(gè)掌控平臺(tái) ID的 人員可替代傳統(tǒng)開(kāi)發(fā)模式下六個(gè)崗位人員的全部工作,而人力成本僅占后者的30%。
二、DevSecOps
DevSecOps 是糅合了開(kāi)發(fā)、安全及運(yùn)營(yíng)理念而創(chuàng)建解決方案的全新方法。DevSecOps的出現(xiàn)是為了改變和優(yōu)化之前安全方面的缺陷,比如安全測(cè)試的孤立性、滯后性、隨機(jī)性、覆蓋性、變更一致性等,通過(guò)固化流程加強(qiáng)人員協(xié)作,通過(guò)工具、技術(shù)手段將可以自動(dòng)化、重復(fù)性的安全工作融入到研發(fā)體系內(nèi),把安全屬性嵌入到整條流水線。此外,DevSecOps 還可以大大降低成本并加快速度。
研究報(bào)告顯示,2019 年全球 DevSecOps 市場(chǎng)價(jià)值為 21.8 億美元,到 2027 年將達(dá)到 171.6 億美元。也就是說(shuō),從 2020 年到 2027 年,它的復(fù)合年增長(zhǎng)率為 30.76%。當(dāng)前趨勢(shì)和未來(lái) DevOps 預(yù)測(cè)都表明,DevSecOps 系統(tǒng)可確保系統(tǒng)的安全性。
三、無(wú)服務(wù)器架構(gòu)
無(wú)服務(wù)器架構(gòu)是 DevOps 最為明顯的趨勢(shì)之一。它是一種云原生架構(gòu),使企業(yè)能夠?qū)⑦\(yùn)營(yíng)職責(zé)轉(zhuǎn)移到云廠商,從而增強(qiáng)創(chuàng)新和敏捷性,同時(shí),可以讓開(kāi)發(fā)人員專注于構(gòu)建和運(yùn)行應(yīng)用程序和服務(wù),而不必?fù)?dān)心服務(wù)器。比如,應(yīng)用程序開(kāi)發(fā)人員能夠直接使用第三方框架,而無(wú)需管理系統(tǒng),由此簡(jiǎn)化部署,也不再需要實(shí)施代碼來(lái)擴(kuò)展、升級(jí)或添加到現(xiàn)有服務(wù)器。
這可能就是越來(lái)越多的開(kāi)發(fā)人員轉(zhuǎn)向云托管和無(wú)服務(wù)器架構(gòu)來(lái)降低成本和擴(kuò)展基礎(chǔ)架構(gòu)的原因。
四、彈性測(cè)試
彈性測(cè)試越來(lái)越受 DevOps 和云運(yùn)營(yíng)團(tuán)隊(duì)的重視。它是一種軟件測(cè)試,觀察應(yīng)用程序在壓力下的行為。旨在保證產(chǎn)品在混亂條件下執(zhí)行不會(huì)丟失核心功能或數(shù)據(jù),并且在發(fā)生不可預(yù)見(jiàn)、無(wú)法控制的事件后快速恢復(fù)。
彈性測(cè)試在多層、多環(huán)境的基礎(chǔ)架構(gòu)中尤為重要。提高軟件彈性的一種方法是將其遷移到云,以最大程度地減少內(nèi)部系統(tǒng)故障的幾率。雖然云可能會(huì)發(fā)生中斷,但云廠商往往擁有先進(jìn)的恢復(fù)系統(tǒng)。
進(jìn)行彈性測(cè)試有助于在面臨挑戰(zhàn)時(shí)最大限度地減少故障和安全問(wèn)題,有助于抵御包括停電、系統(tǒng)崩潰、停機(jī)和自然災(zāi)害等突發(fā)情況。此外,彈性測(cè)試可以幫助評(píng)估是否符合標(biāo)準(zhǔn)和最佳實(shí)踐、隱私問(wèn)題和可擴(kuò)展性。
五、GitOps
GitOps 和 DevOps 是進(jìn)行持續(xù)交付的最佳方式。二者之間有一些相同的原則和目標(biāo)。DevOps 是關(guān)于文化變革,并為開(kāi)發(fā)團(tuán)隊(duì)和運(yùn)營(yíng)團(tuán)隊(duì)提供一種協(xié)同工作的方式,而 GitOps 則側(cè)重于提供工具和框架,如協(xié)作、CI/CD 和版本控制,并將它們應(yīng)用于基礎(chǔ)架構(gòu)自動(dòng)化和應(yīng)用程序部署。
GitOps 使用 Git 拉取請(qǐng)求來(lái)自動(dòng)管理基礎(chǔ)設(shè)施供應(yīng)和部署。Git 存儲(chǔ)庫(kù)包含系統(tǒng)的整個(gè)狀態(tài),因此對(duì)系統(tǒng)狀態(tài)的更改跟蹤是可見(jiàn)且可審計(jì)的。GitOps 圍繞開(kāi)發(fā)人員體驗(yàn)而構(gòu)建,可幫助團(tuán)隊(duì)使用與軟件開(kāi)發(fā)相同的工具和流程來(lái)管理基礎(chǔ)架構(gòu)。GitOps 工作流可以提高生產(chǎn)力以及開(kāi)發(fā)和部署的速度,同時(shí)提高系統(tǒng)的穩(wěn)定性和可靠性。
六、基礎(chǔ)架構(gòu)即代碼 (IaC)
基礎(chǔ)架構(gòu)即代碼 (IaC) 是在描述性模型中管理基礎(chǔ)架構(gòu)(網(wǎng)絡(luò)、虛擬機(jī)、負(fù)載平衡器和連接拓?fù)?,與 DevOps 團(tuán)隊(duì)使用相同的版本控制。和相同源代碼生成相同二進(jìn)制文件的原理一樣,IaC 模型每次應(yīng)用都會(huì)生成相同的環(huán)境。
IaC 是一項(xiàng)關(guān)鍵的 DevOps 實(shí)踐,與持續(xù)交付結(jié)合使用,廣泛用于現(xiàn)代部署、配置管理、虛擬化和編排軟件。Docker 和 Kubernetes 是用于容器創(chuàng)建和編排的領(lǐng)先工具,它們都使用 YAML 作為他們的語(yǔ)言來(lái)聲明所需的最終結(jié)果。此外,用于創(chuàng)建部署快照的工具 Hashicorp Packer 使用 JSON 來(lái)聲明將構(gòu)建系統(tǒng)快照的模板和變量。Ansible、Chef 和 Puppet 這三種最流行的配置管理工具都使用 IaC 方法來(lái)定義它們管理的服務(wù)器的所需狀態(tài)。
七、人工智能 (AI)和機(jī)器學(xué)習(xí)(ML)
利用 AI 和 ML 等技術(shù)來(lái)促進(jìn) DevOps 工作流程日益變得流行。由于人工無(wú)法在日常運(yùn)營(yíng)中處理海量數(shù)據(jù)和計(jì)算,人工智能將成為計(jì)算、分析和轉(zhuǎn)變團(tuán)隊(duì)開(kāi)發(fā)、交付、部署和管理應(yīng)用程序方式的關(guān)鍵工具。
Gartner 的報(bào)告表明,到 2023 年,40% 的 DevOps 團(tuán)隊(duì)將使用集成了人工智能的應(yīng)用程序和基礎(chǔ)設(shè)施監(jiān)控應(yīng)用程序。人工智能保證了數(shù)據(jù)可訪問(wèn)性,為 DevOps 團(tuán)隊(duì)提供無(wú)縫數(shù)據(jù)。
DevOps 和 AI 是相互依賴的,因?yàn)?DevOps 是一種業(yè)務(wù)驅(qū)動(dòng)的軟件交付方法,而 AI 是可以集成到系統(tǒng)中以增強(qiáng)功能的技術(shù)。在 AI 的幫助下,DevOps 團(tuán)隊(duì)可以更有效地測(cè)試、編碼、發(fā)布和監(jiān)控軟件。人工智能還可以提高自動(dòng)化程度,快速識(shí)別和解決問(wèn)題,改善團(tuán)隊(duì)之間的協(xié)作。
八、基礎(chǔ)設(shè)施自動(dòng)化 (IA) 和持續(xù)配置自動(dòng)化 (CCA) 工具
DevOps 自動(dòng)化可以極大地促進(jìn)軟件的構(gòu)建、部署和監(jiān)控,提高了軟件交付速度,并且最大限度地縮短了交付時(shí)間,在滿足客戶需求方面發(fā)揮著至關(guān)重要的作用。可以說(shuō),自動(dòng)化加快了 DevOps 所涉及的一切的速度。
利用 IA 工具實(shí)現(xiàn)交付、配置和 IT 基礎(chǔ)架構(gòu)管理的自動(dòng)化將成為 DevOps 團(tuán)隊(duì)的不二之選。IA 工具使 DevOps 人員能夠管理多云和混合云基礎(chǔ)架構(gòu)編排,允許他們?cè)诒镜睾驮骗h(huán)境中設(shè)計(jì)交付服務(wù),并幫助他們進(jìn)行有效的資源配置。IA 工具使 DevOps 團(tuán)隊(duì)和 I&O 團(tuán)隊(duì)能夠在本地和 IaaS 環(huán)境中計(jì)劃和執(zhí)行自助服務(wù)、自動(dòng)化交付服務(wù),因此 DevOps 人員可以提供以客戶為中心的敏捷性和穩(wěn)健的改進(jìn)。
持續(xù)配置自動(dòng)化 (CCA) 工具也將激增,以管理和交付配置更改作為代碼,其范圍將在未來(lái)幾年擴(kuò)展到網(wǎng)絡(luò)、容器和安全性。IT 運(yùn)營(yíng)分析 (ITOA)、應(yīng)用程序發(fā)布自動(dòng)化 (ARA) 和持續(xù)配置自動(dòng)化 (CCA) 可以幫助 ITOps 團(tuán)隊(duì)推動(dòng)業(yè)務(wù)成功。
九、混沌工程(CE)
DevOps 中的 混沌工程(CE )理論在 Netflix 從物理基礎(chǔ)設(shè)施轉(zhuǎn)移到虛擬基礎(chǔ)設(shè)施時(shí)獲得了早期的關(guān)注,現(xiàn)在已成為 DevOps 規(guī)劃討論中的主要考慮因素之一。
混沌工程是一種在故障發(fā)生之前識(shí)別故障的嚴(yán)格方法。通過(guò)主動(dòng)測(cè)試系統(tǒng)在壓力下的響應(yīng)方式,在故障出現(xiàn)之前識(shí)別并修復(fù)故障。簡(jiǎn)單地說(shuō),就是通過(guò)“故意破壞事物”來(lái)學(xué)習(xí)如何構(gòu)建更具彈性的系統(tǒng)。通過(guò)將其集成到 DevOps 中,構(gòu)建更強(qiáng)大的應(yīng)用程序來(lái)支持業(yè)務(wù)。
Gartner 預(yù)計(jì),到 2023 年,40% 的組織將實(shí)施混沌工程實(shí)踐作為 DevOps 計(jì)劃的一部分,從而將計(jì)劃外停機(jī)時(shí)間減少 20%。
許多大型科技公司 如Twilio、Netflix、LinkedIn、Facebook、谷歌、微軟、亞馬遜等都在實(shí)踐混沌工程,以更好地了解他們的分布式系統(tǒng)和微服務(wù)架構(gòu)。銀行和金融等更傳統(tǒng)的行業(yè),也已經(jīng)開(kāi)始使用混沌工程。
十、應(yīng)用程序性能監(jiān)控(APM)軟件
APM 軟件至關(guān)重要,因?yàn)樗兄谠诓渴鹌陂g向開(kāi)發(fā)人員提供快速反饋。這包括:
前端監(jiān)控:有助于觀察用戶交互的行為和性能;
應(yīng)用程序發(fā)現(xiàn)、跟蹤和診斷(ADTD):分析Web和應(yīng)用程序服務(wù)器、基礎(chǔ)設(shè)施和微服務(wù)之間的關(guān)系。
支持AIOps 的分析:有助于檢測(cè)整個(gè)生命周期中的模式、異常和因果關(guān)系。
APM 在最小化平均修復(fù)時(shí)間 (MTTR) 和改善用戶體驗(yàn)方面發(fā)揮著關(guān)鍵作用。APM 功能可幫助DevOps 團(tuán)隊(duì)更好地了解業(yè)務(wù)流程,提供對(duì)業(yè)務(wù)運(yùn)營(yíng)的洞察,幫助解決問(wèn)題并確定優(yōu)先級(jí)。
DevOps 已被證明是整個(gè) IT 行業(yè)的新趨勢(shì)和未來(lái)。通過(guò)結(jié)合這些技術(shù)趨勢(shì),實(shí)現(xiàn)高效的 DevOps 解決方案,能夠更好地彌合開(kāi)發(fā)和運(yùn)營(yíng)之間的差距,最終實(shí)現(xiàn)業(yè)務(wù)增長(zhǎng)。
免責(zé)聲明:市場(chǎng)有風(fēng)險(xiǎn),選擇需謹(jǐn)慎!此文僅供參考,不作買賣依據(jù)。
關(guān)鍵詞: DevOps
