作為下一代架構(gòu)的關(guān)鍵組成部分,DevOps 被越來越多的企業(yè)所應(yīng)用。“DevOps” 是 “開發(fā)” 和 “運維” 兩個詞的組合。DevOps 實踐鼓勵應(yīng)用程序開發(fā)團隊 (Dev) 與其 IT 運營團隊 (Ops) 對應(yīng)方之間更順暢、持續(xù)地溝通、協(xié)作、集成,提高可見性和透明度。在實施 DevOps 過程中,企業(yè)需要從組織、技術(shù)、流程等三個維度進行持續(xù)的優(yōu)化與改進,通過縮短研發(fā)周期、快速響應(yīng)業(yè)務(wù)需求,來提高企業(yè) IT 效能,使其更穩(wěn)定、更安全、更高效地為業(yè)務(wù)賦能。有研究顯示,在引入了 DevOps 概念的企業(yè)中,開發(fā)與運營人員在設(shè)計、構(gòu)建、測試工作中共同在內(nèi)部應(yīng)用上進行協(xié)作之后,可以將產(chǎn)品開發(fā)的效率提升 20%。
開源生態(tài)的建設(shè)對 DevOps 技術(shù)的發(fā)展起了至關(guān)重要的作用,越來越多的 DevOps 開源工具應(yīng)運而生,支持從容器構(gòu)建和編排到微服務(wù)網(wǎng)絡(luò)、配置管理、CI/CD 自動化、全棧監(jiān)控等等。這些高質(zhì)量的開源工具的出現(xiàn)使得企業(yè)實踐 DevOps 的門檻降低,同時大大提升了可實踐性。當(dāng)前,中國的開源軟件市場發(fā)展迅速,目前已達到千億規(guī)模,越來越多的有識之士投入到 DevOps 開源工具的建設(shè)中,開源生態(tài)的發(fā)展保證了 DevOps 技術(shù)的活力,對技術(shù)的發(fā)展至關(guān)重要。
今天,就來盤點一下開源的 DevOps 工具。
1. Kubernetes
Kubernetes,有時寫為 K8s,由云原生計算基金會 ( CNCF ) 托管。隨著微服務(wù)和基于容器的軟件的普及,Kubernetes 在近些年的開源 DevOps 工具列表中名列前茅也就不足為奇了。VMware發(fā)布的《 2020 年 Kubernetes 狀況報告》顯示,將 Kubernetes 用于編排容器的采用率在 2020 年增長了 48%。Kubernetes 可以自動部署、維護和擴展生產(chǎn)環(huán)境中的容器組,而不是手動發(fā)布微服務(wù)。
2.Docker
Docker 是一個免費的開源平臺,作為輕量級容器,被用來構(gòu)建、發(fā)布和運行應(yīng)用程序,具備容器打包程序運行所需的二進制文件、庫、配置文件和依賴項。在過去的十年中,容器在敏捷開發(fā)中發(fā)揮了關(guān)鍵作用,而 Docker 容器引領(lǐng)了這場革命。它的核心是 Docker 引擎。Docker Hub 也是查找和共享作為容器的預(yù)打包函數(shù)的絕佳資源。此外,為了彌補容器漏洞,使用開源容器審計工具(如 Docker Bench 或 Anchore)可能會有所幫助。
3.Istio
微服務(wù)是一種方便的開發(fā)風(fēng)格,但它帶來了新的開發(fā)和架構(gòu)問題。也就是說,我們?nèi)绾卧谒蟹?wù)中一致地應(yīng)用安全、加密、可觀察性和遙測元素等網(wǎng)絡(luò)策略?服務(wù)網(wǎng)格是一個答案。服務(wù)網(wǎng)格在每個容器旁邊放置一個 sidecar 代理,并將這些網(wǎng)絡(luò)功能抽象到控制平面。Istio 就是這樣一種已被廣泛采用的開源服務(wù)網(wǎng)格。Istio 建立在 Envoy 之上,開放了插件和可擴展性選項。此外,Linkerd 和 Kuma 作為可行的開源服務(wù)網(wǎng)格替代方案。
4. GitHub Actions
GitHub 可以說是最受歡迎的源代碼控制和軟件協(xié)作平臺?;?Git 的 GitHub 平臺本身在過去幾年中進行了一些重大更新。最值得注意的是 GitHub Actions 功能。GitHub Actions 使托管在 GitHub 上的軟件包能夠接受輸入并觸發(fā)其他進程。這可以使 GitHub 中一些 DevOps 工作流自動化 ,例如代碼審查、分支管理或 CI/CD 流程 —— 這里的可能性組合可以有無限個。GitHub Actions 本質(zhì)上是托管在利用 GitHub webhook 的 GitHub 存儲庫中的 YAML 文件。盡管這更像是一個功能而不是開源工具,但我們認(rèn)為將其包含在此處很重要。Actions 對公共存儲庫是免費的,限制為 100 個操作。
5.Jenkins
DevOps 理念的很大一部分是尋找更有效的自動化和部署新迭代的方法。這個目標(biāo)的一部分是創(chuàng)建一個簡化的持續(xù)集成和持續(xù)交付 (CI/CD) 管道。Jenkins 是一個開源自動化服務(wù)器,具有數(shù)百個插件,用于自動化軟件項目的構(gòu)建、部署和測試。盡管 GitHub Actions 理論上可以在未來取代 CI 服務(wù)器,但 Jenkins、CircleCI、TravisCI 和 GitLab Community Edition 等 CI 工具仍然是許多 DevOps 團隊的首選。
6.Prometheus
指標(biāo)和警報系統(tǒng)對于站點可靠性工程師可視化應(yīng)用程序和對問題做出反應(yīng)至關(guān)重要。Prometheus 是一個畢業(yè)的 CNCF 項目,同時也是一個深受使用者喜愛的開源監(jiān)控解決方案。Prometheus 服務(wù)器通過抓取 HTTP 端點來收集時間序列指標(biāo),并生成一個與這些數(shù)據(jù)交互的系統(tǒng),提供深度查詢、可視化、存儲和其他功能。
7. Ansible
Ansible 是關(guān)于自動化的。Ansible 是 Red Hat 贊助的一個開源項目,可用于自動化云配置、網(wǎng)絡(luò)、部署、配置管理和其他任務(wù)。Ansible 有一個簡單而有效的架構(gòu),相對容易組裝 —— 你只需要一個文本編輯器和命令行。“Ansible 是我們的標(biāo)準(zhǔn)工具,不僅可以部署 OpenIO 核心,還可以部署我們的 WebUI、OIO-FS 和所有即將推出的選項,”OpenIO 運營部的 Cédric Delgehier 曾表示。
8.Chef
Chef 是另一種用于自動化配置管理的基礎(chǔ)架構(gòu)即代碼 (IaC) 解決方案。Chef 使用 Ruby 來自動化服務(wù)器配置,并與所有主要的云服務(wù)提供商 (CSP) 配合良好。這在創(chuàng)建和配置大量機器時非常有用。與其他自動化工具一樣,用戶以聲明性的格式描述其組件和狀態(tài)。
9.Terraform
Terraform 是一種安全有效地構(gòu)建、更改和版本控制基礎(chǔ)設(shè)施的工具 (基礎(chǔ)架構(gòu)自動化的編排工具)。幾乎可以支持所有市面上能見到的云服務(wù)。具體地說就是可以用代碼來管理維護 IT 資源,把之前需要手動操作的一部分任務(wù)通過程序來自動化完成,這樣的做的好處非常明顯:高效、不易出錯。
10.JAMStack
JAMStack 結(jié)合了 JavaScript、API 和 Markdown 來構(gòu)建基于 Web 的應(yīng)用程序。雖然更多的是一種 “headless development(無頭開發(fā))” 方法,而不是單一的開源工具,但 JAMStack 項目通常是使用開源組件構(gòu)建的。例如,JAMStack 經(jīng)常利用開源無頭內(nèi)容管理系統(tǒng),例如 Ghost、Strapi 和 / 或 Netlify CMS。
11.ELK Stack
ELK Stack 是 Elastic 維護的三個開源項目的聯(lián)合體:Elasticsearch、Logstash 和 Kibana。通過這三個組件,開發(fā)人員可以從任何來源獲取和記錄數(shù)據(jù),并創(chuàng)建有用的可視化。這種集中式日志記錄通過 NoSQL 數(shù)據(jù)庫啟用,使用 Elasticsearch 進行存儲、使用 Logstash 進行處理和數(shù)據(jù)收集以及使用 Kibana 時,都可進行可視化。提高可見性對于數(shù)據(jù)分析至關(guān)重要,有助于識別錯誤以減少平均恢復(fù)時間 (MTTR)。
借助出色的開源 DevOps 工具,可以讓越來越多的架構(gòu)師在其部署模型中采用 DevOps 方法。值得注意的是,一些流行的開源 DevOps 工具已經(jīng)被收購,比如 Docker 和 Chef,業(yè)務(wù)和開源根源之間的界限變得更加模糊。
盡管開源是 “免費的”,但使用這些開源工具或者工具組合是有較高門檻的,投入的成本可能并不亞于一款商業(yè)軟件。事實上,采用一款合適商業(yè)工具或平臺來開發(fā)產(chǎn)品不失為一種明智的選擇。
比如飛算自主研發(fā)的 SoFlu 軟件機器人雖然是一款商業(yè)軟件,但是在效率、成本等各方面都具備很強的優(yōu)勢。SoFlu 軟件機器人采用可視化開發(fā)界面,門檻極低,通過人機協(xié)同,就能自動完成軟件后端開發(fā)、前端開發(fā)、測試、運維,真正幫助開發(fā)者實現(xiàn) “一人一項目,十人抵百人” 。
其開發(fā)、測試、運維一體化的特性能夠很好地滿足企業(yè)實施 DevOps 的需求。更重要的是,SoFlu 軟件機器人是一個中立的軟件開發(fā)平臺,用戶開發(fā)出來的軟件是自己的,軟件運行不依賴任何廠商的生態(tài),意味著系統(tǒng)部署上線后,用戶數(shù)據(jù)不會留存在廠商的平臺上,數(shù)據(jù)安全有保障。
此外,飛算為大家提供了 SoFlu 軟件機器人 1 個月免費試用期,建立成熟的標(biāo)準(zhǔn)化售前、售后服務(wù)體系,能為用戶安排專屬實施顧問團隊,在試用、使用過程中提供技術(shù)支持服務(wù),讓用戶沒有后顧之憂。
了解更多軟件開發(fā)信息,可添加微信: feisuan123,備注 “加群”,入群討論。
(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對有關(guān)資料所引致的錯誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實內(nèi)容時,應(yīng)及時向本網(wǎng)站提出書面權(quán)利通知或不實情況說明,并提供身份證明、權(quán)屬證明及詳細侵權(quán)或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實,溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )