隨著2021年的結束,我們在DevOps.com想要選出今年最受歡迎的文章,以下是我們“2021年最佳”系列中的第8篇,
?
DevOps不僅僅是一種文化轉變——它需要偉大的工具來實作,下面,我們整理了一些目前最受歡迎的DevOps工具,但是,如果把大量資金投入到花哨的SaaS解決方案中,很快就會吞噬云計算的預算,這些DevOps工具都是開源的,支持從容器構建和編配到微服務網路、配置管理、CI/CD自動化、全堆疊監控等一切功能,以下是我們最喜歡的2021年DevOps開源工具,
1、kubernetes
隨著微服務和基于容器的軟體的無處不在,Kubernetes成為今年DevOps開源工具的冠軍也就不足為奇了,Kubernetes在2020年的使用率上升了48%,被用來協調容器,Kubernetes可以在生產環境中自動部署、維護和擴展容器組,而不是手動發布微服務,Kubernetes有時以k8的形式撰寫,由云本地計算基金會(Cloud-Native Computing Foundation, CNCF)托管,
2、Docker
Docker軟體是一個免費的開源平臺,用于構建、發布和運行一個輕量級的容器,容器將程式運行所需的二進制檔案、庫、組態檔和依賴項打包起來,在過去的十年中,容器在敏捷開發中扮演了關鍵角色,Docker容器引領了這場革命,其核心是Docker引擎,Docker Hub也是一個很好的資源,用于查找和共享預先打包的容器功能,此外,為了堵住容器漏洞,使用Docker Bench或Anchore等開源容器審計工具可能會有幫助,
3、Istio
微服務是一種便捷的開發風格,但它們帶來了新的開發和架構問題,也就是說,我們如何在所有服務中一致地應用網路策略,如安全性、加密、可觀察性和遙測元素?服務網格是一個答案,服務網格在每個容器旁邊放置一個邊車代理,并將這些網路功能抽象到控制平面,Istio就是這樣一個被廣泛采用的開源服務網格,Istio建立在特使的基礎上,向插件和可擴展性選項開放,我們還應該提到Linkerd和Kuma,它們是可行的開源服務網格替代品,
4、GitHub Actions
GitHub可以說是這個星球上最受歡迎的源代碼控制和軟體協作平臺,基于Git的GitHub平臺本身在過去的幾年里經歷了一些重大的更新,最值得注意的是GitHub的Actions功能,GitHub Actions使托管在GitHub上的軟體包能夠接受輸入并觸發其他行程,這可以幫助在GitHub中自動化一些很酷的DevOps作業流程,比如代碼審查、分支管理或CI/CD流程——這里的可能性組合是無窮無盡的,從本質上說,GitHub Actions是在GitHub存盤庫中托管的YAML檔案,它利用了GitHub的webhook,雖然這更多的是一個特性而不是一個開源工具,但是我們覺得在這里包含它是很重要的,操作對公共存盤庫是免費的,限制為100個操作,
5、Jenkins
DevOps哲學的一個重要部分是尋找方法來自動化和更有效地部署新的迭代,這個目標的一部分是創建一個流線型的持續集成和持續交付(CI/CD)管道,Jenkins是一個開源自動化服務器,擁有數百個插件,可以自動化軟體專案的構建、部署和測驗,雖然GitHub Actions在理論上可以在未來取代CI服務器,但是像Jenkins、CircleCI、TravisCI和GitLab Community Edition這樣的CI工具仍然是許多DevOps團隊的首選,
6、Prometheus
度量和警報系統對于站點可靠性工程師可視化應用程式和對問題作出反應至關重要,Prometheus是一個畢業的CNCF專案,它是一個廣受歡迎的開源監控解決方案,Prometheus服務器通過抓取HTTP端點來收集時間序列指標,并生成與這些資料互動的系統,提供深度查詢、可視化、存盤和其他功能,
7、Ansible
Ansible全是關于自動化的,Ansible是一個由Red Hat贊助的開源專案,可以用來自動化云配置、網路、部署、配置管理和其他任務,Ansible有一個簡單而有效的架構,組裝起來相對容易——你所需要的只是一個文本編輯器和命令列,您可以在文本檔案中描述您的基礎架構,并在劇本中組織您想要的狀態,作為一個實際的例子,請查看OpenIO如何使用Ansible,“Ansible是我們部署OpenIO核心的標準工具,也是我們的web、OIO-FS和所有即將推出的選項的標準工具,”Cédric Delgehier, OpenIO的Ops寫道,
8、Chef
Chef是另一個實作配置管理自動化的基礎設施即代碼(IaC)解決方案,Chef使用Ruby自動化服務器配置,并與所有主要的云服務提供商(csp)合作良好,這在創建和供應大量機器時非常有用,與此串列中的其他自動化工具一樣,用戶以宣告式格式描述其組件和狀態,在《主廚》中,這些被稱為“食譜”,可以歸類為“烹飪書”,你不能因為《主廚》沒有主題就批評他!
9、Terraform
Terraform是另一個IaC工具,可以使用組態檔啟動構建、版本控制和進一步的自動化,正如GitHub上所描述的那樣:“Terraform是一個安全有效地構建、更改和版本化基礎設施的工具,”Terraform遵循用戶使用高級語法創建的“執行計劃”,Terraform的一個獨特之處在于它強調版本控制——它允許你對你的服務藍圖進行版本控制,就像你對你的軟體一樣,
10、JAMStack
正如我之前提到的,JAMStack結合了JavaScript、api和markdown來構建基于web的應用程式,雖然JAMStack是一種“無頭開發”方法,而不是單一的開放原始碼工具,但它經常使用開放原始碼組件構建,例如,JAMStack經常利用開源無頭內容管理系統,如Ghost、Strapi和/或Netlify CMS,
11. ELK Stack
ELK Stack是由Elasticsearch、Logstash和Kibana三個開源專案組成的聯盟,使用這三個組件,開發人員可以從任何來源獲取和記錄資料,并創建有用的可視化,這種集中的日志記錄是通過NoSQL資料庫實作的,通過Elasticsearch進行存盤,通過Logstash進行處理和資料收集,通過Kibana進行可視化,增加可見性對于資料分析至關重要,并有助于識別錯誤,從而減少平均恢復時間(MTTR),
總結
編程不僅僅是交付高質量的代碼,它還涉及到高效的執行,這種全面改進運營的動力實際上是將運營投入到每件事情中,有了強大的開源DevOps工具,這意味著越來越多的架構師可以在他們的部署模型中采用DevOps方法,
?
DevOps作為一種實踐,以及它的底層技術,一直在發展,在2021年,人們將投入大量精力來討論引入微服務開發風格的影響,因此,我們注意到容器協調器和服務網格的成熟,為實作自動化的構建和發布管道,將基礎設施藍圖化為代碼并創建自動化的、可重復的配置是另一個必須具備的條件,更不用說,許多無代碼和低代碼平臺正在向非程式員開放DevOps功能,盡管是從專有的角度來看,
?
值得注意的是,一些流行的開源DevOps工具(如Docker和Chef)已經被收購,模糊了它們的業務和開源根源之間的界限,當涉及到開源工具時,采用具有代表不同涉眾的可靠社區支持的與供應商無關的工具是一個很好的實踐,這將幫助您的專案經得起未來的考驗,即使開源是“免費的”,用戶也必須確保它的好處超過上線時間和自托管的運營開銷,
?
DevOps工具有助于實作軟體部署的自動化,在這里,我們試圖列出一些最令人興奮的工具來幫助自動化這個程序,當然,DevOps領域出現了許多新工具,而我們幾憾訓沒有觸及到表面,你有上面沒有提到的最喜歡的DevOps工具嗎?
?
請在下面的評論中告訴我!
愛技術的程式員,在職上岸非全研究生;技術興趣廣泛:架構、java、python、nodejs、性能優化、工具、大資料、AI等技術分享!轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/400326.html
標籤:其他
下一篇:使用navArgs將Fragment轉換為DialogFragment,如何從Fragment類外部導航到DialogFragment
