2021年最受歡迎的10款開源DevOps工具
?程序員寶藏庫:https://github.com/Jackpopc/CS-Books-Store
DevOps不僅僅是一種工作方式的轉(zhuǎn)變--它需要強大的工具來實現(xiàn)。
下面,我們列出了一些當(dāng)今最受歡迎的DevOps工具的清單。
考慮到把大量的錢投入到花哨的SaaS解決方案中會很快吞噬掉云的預(yù)算,因為,今天介紹的這些DevOps工具都是開源的,可以實現(xiàn)從容器構(gòu)建和協(xié)調(diào)到微服務(wù)網(wǎng)絡(luò)、配置管理、CI/CD自動化、全棧監(jiān)控等一切。
以下就是我認(rèn)為在2021年必須了解的一些開源DevOps工具。
1. Kubernetes

隨著微服務(wù)和基于容器的軟件無處不在,Kubernetes在開源DevOps工具列表中名列前茅并不奇怪。
Kubernetes的采用率在2020年上升了48%,它被用來協(xié)調(diào)和編排容器。
Kubernetes可以自動部署、維護(hù)和擴(kuò)展生產(chǎn)中的容器群,而不需要手動發(fā)布微服務(wù)。
Kubernetes經(jīng)常被寫成K8s,由CNCF支持。
2. Docker

Docker這個軟件是一個用于構(gòu)建、行一個輕量級的容器的應(yīng)用程序。
容器能夠?qū)⒊绦蜻\行所需的二進(jìn)制文件、庫、配置文件和依賴關(guān)系打包,在過去十年中,容器在敏捷開發(fā)中發(fā)揮了關(guān)鍵作用,而Docker容器引領(lǐng)了這場革命。
其核心是Docker引擎。
Docker Hub也是尋找和分享作為容器的預(yù)包裝功能的一個優(yōu)秀資源。另外,為了解決容器漏洞,使用Docker Bench或Anchore等開源容器審計工具會行之有效。
3. Istio

微服務(wù)是一種方便的開發(fā)方式,然而它們帶來了新的開發(fā)和架構(gòu)問題。
也就是說,我們?nèi)绾卧谒械姆?wù)中一致地應(yīng)用安全、加密、可觀察的等網(wǎng)絡(luò)策略?
那么,服務(wù)網(wǎng)格(service mesh)就是一個答案。服務(wù)網(wǎng)格在每個容器旁邊放置一個sidecar proxy,并將這些網(wǎng)絡(luò)功能抽象到控制平面上。
Istio就是這樣一個已經(jīng)被廣泛采用的開源服務(wù)網(wǎng)格。Istio建立在Envoy之上,向插件和可擴(kuò)展性選項開放。
4. GitHub Actions

GitHub可以說是全球最流行的源碼控制和軟件協(xié)作平臺。
基于Git的GitHub平臺本身在過去幾年里也有一些重大的更新,其中,最值得注意的就是GitHub Actions功能。
GitHub Actions使托管在GitHub上的軟件包能夠接受輸入并觸發(fā)其他進(jìn)程,這有助于在GitHub中實現(xiàn)一些很酷的開發(fā)工作流程的自動化,如代碼審查、分支管理或CI/CD流程。
從本質(zhì)上講,GitHub Actions是托管在GitHub倉庫中的YAML文件,它利用了GitHub webhooks
Actions對公共存儲庫是免費的,但有100個動作的限制。
5. Jenkins

DevOps理念的一個重要部分是找到更有效地自動化和部署新迭代的方法。
這個目標(biāo)的一部分是創(chuàng)建一個簡化的持續(xù)集成和持續(xù)交付(CI/CD)流水線。
Jenkins是一個開源的自動化服務(wù)器,擁有數(shù)百個插件,可以實現(xiàn)軟件項目的自動構(gòu)建、部署和測試。
雖然GitHub Actions理論上可以在未來取代CI服務(wù)器,但像Jenkins、CircleCI、TravisCI和GitLab社區(qū)版這樣的CI工具仍然是許多DevOps團(tuán)隊的首選。
6. Prometheus

指標(biāo)和告警系統(tǒng)對于網(wǎng)站可靠性工程師可視化應(yīng)用和對問題做出反應(yīng)至關(guān)重要。
普羅米修斯,一個已經(jīng)成熟的CNCF項目,是一個廣受喜愛的開源監(jiān)控解決方案。
普羅米修斯服務(wù)器通過收集HTTP端點來收集時間序列指標(biāo),并生成一個與這些數(shù)據(jù)交互的系統(tǒng),提供深度查詢、可視化、存儲和其他功能。
7. Ansible

Ansible是關(guān)于自動化的工具。
Ansible是紅帽公司贊助的一個開源項目,可以用來實現(xiàn)云配置、網(wǎng)絡(luò)、部署、配置管理和其他任務(wù)的自動化。
Ansible有一個簡單而有效的架構(gòu),因此,比較容易配置,你只需要一個文本編輯器和命令行即可。
8. Chef
Chef是另一個基礎(chǔ)設(shè)施即代碼(IaC)解決方案,用于自動化配置管理。
Chef使用Ruby來自動配置服務(wù)器,并且與所有主要的云服務(wù)提供商(CSP)合作良好。
在創(chuàng)建和配置大量的機器時,這可能非常有用。
像本文介紹的其他自動化工具一樣,用戶以聲明的格式描述他們的組件和它們的狀態(tài)即可。
9. Terraform

Terraform是另一個IaC工具,可用于啟動構(gòu)建、版本管理和使用配置文件的進(jìn)一步自動化。
"Terraform是一個安全、高效地構(gòu)建、改變和版本化基礎(chǔ)設(shè)施的工具,"GitHub上這樣描述它。
Terraform遵循用戶用高級語法創(chuàng)建的 "執(zhí)行計劃"。
Terraform的一個獨特之處在于它對版本的重視--這使得你可以像對軟件一樣對服務(wù)藍(lán)圖進(jìn)行版本管理。
10. ELK Stack

ELK Stack是由Elastic維護(hù)的三個開源項目Elasticsearch、Logstash和Kibana組合而成。
有了這三個組件,開發(fā)人員可以從任何來源接收和記錄數(shù)據(jù),并創(chuàng)建有用的可視化。
這種集中的日志記錄是通過NoSQL數(shù)據(jù)庫實現(xiàn)的,用Elasticsearch進(jìn)行存儲,用Logstash進(jìn)行處理和數(shù)據(jù)收集,用Kibana進(jìn)行可視化。
增加可見性對數(shù)據(jù)分析至關(guān)重要,有助于識別錯誤以減少平均恢復(fù)時間(MTTR)。
結(jié)語
編程不僅僅是輸出高質(zhì)量的代碼,它還涉及高效的執(zhí)行,這種全面改善運營的驅(qū)動力是真正地將Ops納入一切。
有了令人欣賞的開源DevOps工具,這意味著越來越多的架構(gòu)師可以在他們的部署模式中采用DevOps方法。
干貨推薦
為了方便大家,我花費了半個月的時間把這幾年來收集的各種技術(shù)干貨整理到一起,其中內(nèi)容包括但不限于Python、機器學(xué)習(xí)、深度學(xué)習(xí)、計算機視覺、推薦系統(tǒng)、Linux、工程化、Java,內(nèi)容多達(dá)5T+,我把各個資源下載鏈接整理到一個文檔內(nèi),目錄如下:

所有干貨送給大家,希望能夠點贊支持一下!
https://pan.baidu.com/s/1eks7CUyjbWQ3A7O9cmYljA(提取碼:0000)