譯者 | 盧鑫旺
審校 | 梁策 孫淑娟
DevOps從根本上改變了軟件開發(fā)的方式。它進(jìn)一步為創(chuàng)建更快、更靈活、更具協(xié)作性的開發(fā)和交付過程鋪平了道路。因此,為了改進(jìn)現(xiàn)有工作流程或向DevOps流程引入新功能,每年都有讓人驚喜不已的全新DevOps工具出現(xiàn)。通過本文,讓我們一起看看在2022年有那五個(gè)DevOps工具可以添加到你的技術(shù)棧。
1.Anthos
現(xiàn)代的工作負(fù)載變得比以往任何時(shí)候都要復(fù)雜得多。因此,根據(jù)需求,這些工作負(fù)載需要分布在不同的環(huán)境中,包括云環(huán)境、內(nèi)部環(huán)境和邊緣環(huán)境。管理多個(gè)不同的環(huán)境已經(jīng)變得常態(tài)化,使用多云是一種常見選擇,可以在保持靈活性的同時(shí)分配工作負(fù)載。然而,這會(huì)增加DevOps流程的管理開銷。Anthos旨在通過提供一個(gè)統(tǒng)一平臺(tái)來管理本地、邊緣和多云平臺(tái)中的應(yīng)用程序來解決這個(gè)問題。
作為谷歌云的一部分,Anthos允許用戶在所有支持的環(huán)境中運(yùn)行GKE集群和工作負(fù)載。因此,用戶可以在AWS和Azure上運(yùn)行多云集群,也可以直接運(yùn)行在沒有安裝hypervisor(虛擬機(jī)監(jiān)視器)的裸機(jī)服務(wù)器上,這些都可以通過Anthos來管理。此外,Anthos還可以使管理不易容器化的虛擬機(jī)內(nèi)工作負(fù)載更加現(xiàn)代化。
另外,該工具還有其他功能,比如實(shí)時(shí)策略方面的Anthos Config Management,可以獲得對(duì)網(wǎng)絡(luò)流量的細(xì)粒度控制的Anthos Service Mesh等等。這些功能讓Anthos可以在你的環(huán)境中實(shí)現(xiàn)從本地到云的現(xiàn)代安全實(shí)踐,并將安全集成到應(yīng)用程序開發(fā)生命周期的每個(gè)階段。Anthos還支持GCP的Knative提供的Cloud Run,以實(shí)現(xiàn)無服務(wù)器工作負(fù)載部署。它還可以充分利用來自谷歌云市場的預(yù)構(gòu)Kubernetes應(yīng)用程序,并直接在集群中部署它們。該功能允許用戶從受信任的源獲取通用應(yīng)用程序,而無需自己創(chuàng)建和維護(hù)它們。
這種由谷歌云支持的統(tǒng)一控制平臺(tái)提供了具有自動(dòng)化策略、安全性和內(nèi)置監(jiān)控的企業(yè)級(jí)容器編排。這也讓Anthos成為管理不同平臺(tái)工作負(fù)載的領(lǐng)先解決方案之一。
2.Komodor
Kubernetes已著實(shí)成為業(yè)界廣泛采用的容器編排平臺(tái)。然而,隨著工作負(fù)載、集群配置、策略和網(wǎng)絡(luò)控制的復(fù)雜性不斷增加,Kubernetes環(huán)境的故障排查變得越來越復(fù)雜。Komodor為Kubernetes的故障排查需求提供了理想的解決方案。它通過跟蹤整個(gè)K8s堆棧的變化、分析這些變化的影響、然后為用戶提供正確的上下文信息來快速排除K8s的故障。例如,Komodor通過相關(guān)配置、配置變更和警報(bào)來對(duì)每個(gè)服務(wù)提供可見性。它幫助獲取完整的活動(dòng)時(shí)間線,從而深入了解跟故障相關(guān)的準(zhǔn)確時(shí)間和變化。
此外,Komodor幫助用戶提高了理解服務(wù)間依賴的能力。由于K8s是一個(gè)不斷變化的環(huán)境,因此理解依賴關(guān)系是管理不同服務(wù)的關(guān)鍵。依賴性服務(wù)上的單個(gè)故障可能會(huì)導(dǎo)致整個(gè)環(huán)境的一連串故障。此外,如果沒有適當(dāng)?shù)沫h(huán)境可視性,故障排查將是一場噩夢。除了了解服務(wù)依賴關(guān)系,Komodor還可以從Jenkins、GitHub、Azure、AWS等現(xiàn)有的軟件棧中收集數(shù)據(jù),提供整個(gè)環(huán)境的綜合視圖。
Komodor還可以作為一個(gè)監(jiān)控解決方案來監(jiān)視失敗的部署、不健康的服務(wù)和K8s錯(cuò)誤配置,以減少服務(wù)中斷。當(dāng)Komodor與Slack的直接集成相結(jié)合時(shí),用戶可以利用Slackbot功能簡化響應(yīng)工作流程,以處理K8s的錯(cuò)誤。新引入的Komodor工作流功能,通過加強(qiáng)自動(dòng)化故障排查功能,將Komodor的故障排查提升到一個(gè)新的水平。它通過檢測K8s的問題、關(guān)聯(lián)其他資源的信息、運(yùn)行檢查以查明問題,并最終提供糾正問題的指導(dǎo)說明來完成。
作為功能齊全的K8s故障排查解決方案,Komodor可以作為確保容器化環(huán)境穩(wěn)健運(yùn)行的重要工具。
3.Backstage
軟件開發(fā)是一個(gè)協(xié)作的過程,不同的團(tuán)隊(duì)利用各種軟件、庫、服務(wù)等在不同的組件上工作。隨著開發(fā)需求的增長,手動(dòng)跟蹤每件事幾乎是不可能完成的任務(wù)。Backstage則通過允許用戶創(chuàng)建一個(gè)具有集中軟件目錄的開發(fā)人員門戶,并管理所有這些不同的組件來解決這個(gè)問題。
此外,后臺(tái)匯集了所有的基礎(chǔ)設(shè)施工具、服務(wù)和文檔,并簡化了開發(fā)環(huán)境。該工具由以下三個(gè)主要組件組成:
- Backstage Software Catalog
這是后臺(tái)的核心組件,它提供了一個(gè)集中的系統(tǒng)來跟蹤開發(fā)環(huán)境中的所有軟件,以及它的所有權(quán)和元數(shù)據(jù)。它允許不同的團(tuán)隊(duì)在跟蹤關(guān)系、依賴關(guān)系、CI/CD集成、API等的同時(shí),對(duì)其軟件、服務(wù)、網(wǎng)站和庫建立一個(gè)統(tǒng)一認(rèn)知。
- Backstage Software Templates
Software Templates允許用戶創(chuàng)建具有最佳實(shí)踐的標(biāo)準(zhǔn)化模板,這些模板可以直接通過后臺(tái)啟動(dòng)不同的組件。假設(shè)你需要?jiǎng)?chuàng)建一個(gè)新的Spring Boot服務(wù),在這種情況下,如果點(diǎn)擊幾下就有一個(gè)模板可用,你就可以將一個(gè)正在運(yùn)行的Spring Boot服務(wù)部署到你的基礎(chǔ)設(shè)施中,并開始在上面進(jìn)行開發(fā)。通過軟件目錄自動(dòng)跟蹤是它的顯著優(yōu)勢。
- Backstage TecDocs
這種類似文檔的代碼解決方案使用戶能夠在他們的環(huán)境中創(chuàng)建和維護(hù)文檔。它允許用戶使用markdown創(chuàng)建文檔,并將其直接綁定到代碼庫中。
除了上述組件,Backstage還有一個(gè)能不斷擴(kuò)大的第三方插件生態(tài)系統(tǒng)(如Cost Insights和Allure Reports)來擴(kuò)展其功能,并與不同的服務(wù)和平臺(tái)集成。
4.Crossplane
基礎(chǔ)設(shè)施即代碼正在迅速成為跨環(huán)境管理基礎(chǔ)架構(gòu)的實(shí)際選擇。Crossplane為這種需求提供了一個(gè)獨(dú)特的解決方案,即使用Kubernetes集群作為基礎(chǔ)設(shè)施更改的控制平面。Crossplane可以安裝在任何K8s集群中,從本地的minikube安裝到管理的EKS、GKE、AKS等。它通過kubectl管理基礎(chǔ)設(shè)施,并使用熟悉的YAML格式來定義基礎(chǔ)設(shè)施配置。這個(gè)工具甚至可以部署在像Rancher和Anthos這樣的多集群管理器上。
Crossplane提供了聲明式的基礎(chǔ)設(shè)施管理,可以用于統(tǒng)一應(yīng)用程序和基礎(chǔ)設(shè)施配置。允許這些配置駐留在相同的K8s集群中可以實(shí)現(xiàn)這點(diǎn),同時(shí)這些集群降低了開發(fā)管道和工具鏈的復(fù)雜性。資源控制器允許用戶始終保持所需的資源狀態(tài),并且任何配置變化都會(huì)被自動(dòng)糾正以匹配所需的狀態(tài)。
由于Crossplane利用了常用的Kubernetes模式,因此可以通過添加自定義API和控制器以及直接將策略、配額和權(quán)限集成到基礎(chǔ)設(shè)施配置中來輕松地?cái)U(kuò)展。由于這個(gè)工具是基于Kubernetes的,它也可以很容易地與CI/CD管道集成,并通過ArgoCD或Flux等工具來促進(jìn)GitOps,而無需使用kubectl手動(dòng)提供資源。
Crossplane的通用云API提供了跨不同供應(yīng)商和平臺(tái)的一致體驗(yàn)。它為用戶帶來了集中化的供應(yīng)商或平臺(tái)無關(guān)的基礎(chǔ)設(shè)施管理體驗(yàn)。
5.Datadog
Datadog不是一個(gè)新工具,它是一個(gè)完善的監(jiān)控服務(wù)提供商。它為任何監(jiān)視需求提供了跨指標(biāo)、日志和事件的監(jiān)控功能。該服務(wù)不斷發(fā)展,提供了很多令人驚喜的全新功能,這些功能吸引用戶采用一體化監(jiān)控解決方案。
此外,Datadog無縫集成了數(shù)百種服務(wù),包括云計(jì)算和SaaS提供商、自動(dòng)化工具、源代碼控制,以及其他監(jiān)控和儀表工具。這樣廣泛的集成使Datalog能夠在整個(gè)DevOps工具棧中提供全面的監(jiān)控體驗(yàn)。
Datadog與其他平臺(tái)明顯不同的功能是:
- 分析和探索日志數(shù)據(jù)的能力允許用戶通過搜索、過濾和分析數(shù)據(jù)來滿足任何故障排除或數(shù)據(jù)探索需求。此外,自動(dòng)標(biāo)記和關(guān)聯(lián)特性有助于在適當(dāng)?shù)纳舷挛闹休p松地查看日志數(shù)據(jù)。
- 云原生環(huán)境網(wǎng)絡(luò)和流量的完全可視化,更有助于優(yōu)化和故障排查。
- 用戶體驗(yàn)監(jiān)控,以獲得以用戶為中心的應(yīng)用程序視圖。
- 能添加自定義指標(biāo)、事件和元數(shù)據(jù),以進(jìn)一步擴(kuò)展通過Datadog捕獲的數(shù)據(jù)。
- 構(gòu)建實(shí)時(shí)交互式儀表板,以可視化任何指標(biāo)、事件或日志。
- Datadog Cloud SIEM將跨平臺(tái)的安全監(jiān)控與從應(yīng)用程序、容器、操作系統(tǒng)到云提供商的一站式方案成集在一起。
Datadog能夠促進(jìn)所有可預(yù)見的監(jiān)控用戶案例,從基礎(chǔ)設(shè)施、安全、網(wǎng)絡(luò)、合成、用戶、應(yīng)用程序性能監(jiān)控到日志管理,甚至包括無服務(wù)器工作負(fù)載監(jiān)控。作為一個(gè)托管平臺(tái),你可以從數(shù)據(jù)日志中獲取任意數(shù)量的數(shù)據(jù),而無需擔(dān)心性能下降或基礎(chǔ)設(shè)施管理的限制。
除此之外,Datadog允許用戶設(shè)置多種條件的可操作警報(bào),集成CI/CD以獲得工作流的可見性,并跟蹤錯(cuò)誤。它還提供事件管理功能,以方便實(shí)時(shí)故障排查。所有這些特性使DataDog成為管理整個(gè)應(yīng)用程序生命周期的必備工具。
總結(jié)
Anthos、Backstage、Crossplane、Datadog和Komodor都是為滿足現(xiàn)代云原生DevOps流程的需求而設(shè)計(jì)的。每個(gè)工具在特定的用例上表現(xiàn)出色,并且可以集成到任何DevOps管道中。例如,Anthos用于跨平臺(tái)的工作負(fù)載統(tǒng)一管理,Backstage用于精簡開發(fā)資源,Crossplane用于K8s基于平臺(tái)無關(guān)的基礎(chǔ)設(shè)施作為代碼體驗(yàn),DataDog作為完整的監(jiān)控解決方案,Komodor則能保障Kubernetes環(huán)境無故障發(fā)生。
譯者介紹
盧鑫旺,51CTO社區(qū)編輯,半路出家的九零后程序員。做過前端頁面,寫過業(yè)務(wù)接口,搞過爬蟲,研究過JS,有幸接觸Golang,參與微服務(wù)架構(gòu)轉(zhuǎn)型。目前主寫Java,負(fù)責(zé)公司可定制化低代碼平臺(tái)的數(shù)據(jù)引擎層設(shè)計(jì)開發(fā)工作。
原文標(biāo)題:5 DevOps Tools To Add to Your Stack in 2022,作者:Ryan Kh