DevOps 和 MLOps 對於確保當今軟體世界中機器學習和開發工作流程的無縫開發、部署和管理變得非常重要。開源透過提供靈活性、成本效益和出色的社群支援在這些領域發揮作用。
DevOps 是軟體開發 (Dev) 和 IT 營運 (Ops) 的結合。它專注於建立工作流程並監控軟體專案的部署,以確保它們快速、可容納使用者並隨時為使用者做好準備。同時,MLOps 或機器學習操作,是 DevOps 原則的延伸,但它專注於機器學習專案。它專注於在機器學習系統中學習、部署和維護模型。
在本文中,我將向您介紹 5 個開源工具,它們將在 2025 年增強您的 DevOps 和 MLOps 實踐。
讓我們開始吧! 🚀


KitOps 將機器學習專案的不同部分(例如程式碼、資料集、配置和模型)組合到一個稱為 ModelKit 的套件中。該工具提供了一個輕量級解決方案,用於在 Docker 或 Kubernetes 等平台上部署應用程式。
KitOps 的工作原理是將您的 AI 或 ML 專案捆綁到 ModelKit 中。 ModelKit 可以推送到註冊表並與您的團隊共用。他們可以輕鬆地提取專案來驗證資料集或部署模型。
要使用 KitOps,您需要使用本安裝指南在您的電腦上設定其 CLI,並確認其已正確安裝。
kit version
使用kit init指令,您可以在目前資料夾中建立 Kitfile。該文件將充當您的 AI 專案的藍圖,定義您的模型、資料集和依賴項。建立並配置 Kitfile 後,使用kit build根據 Kitfile 中的配置建立 ModelKit。
若要將 ModelKit 推送到 KitOps 登錄,請使用kit push指令。
kit push <registry_url>
若要從登錄機碼下載(拉取)ModelKit,請使用kit pull指令。
kit pull <registry_url>
✅ KitOps 將整個專案的元件打包成一個可共享的資產,以便於拉取或部署。
✅ ModelKit 可以部署在任何雲端容器上,幾乎沒有任何壓力。
✅ KitOps 可讓您編寫 Python 腳本,協助自動化或管理機器學習工作流程。如果 Python 是您選擇的主要語言,那麼這是理所當然的。
透過 KitOps,您無需因基礎設施挑戰而感到壓力。它簡化了流程,因此您可以更專注於 AI 或 ML 專案,而不是其部署工作流程。
您可以從 KitOps 的文件中了解有關 KitOps 的更多訊息,並了解它如何適合您的用例。
該專案在GitHub上有 607 顆星,每天都在改進和簡化機器學習工作流程。你可以加入社區
https://git.new/kitops 檢查 KitOps

Kubernetes(通常稱為 K8s)是一個容器編排平台,旨在自動將專案部署到容器中、對其進行擴展和管理。該工具最初由 Google 開發,但現在由雲端原生運算基金會 (CNCF) 維護。多年來,K8s 已成為當今雲端原生環境中容器編排的標準。
Kubernetes 提供了解決現代分散式系統困難的解決方案。它使開發人員能夠專注於建立應用程式,而不是複雜的部署應用程式。
要設定 Kubernetes 集群,您需要建立一個 YAML 設定檔來定義要部署應用程式的位置,該檔案應如下所示:
apiVerion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: app-container
image: my-app-image:latest
ports:
- containerPort: 80
您也可以透過kubectl get pods和kubectl get services等 Kubernetes 指令監控和管理叢集、擴充叢集並排除故障。
✅ Kubernetes 隱藏應用程式的基礎架構層,使其可以跨本地資料中心、雲端供應商和混合環境移植。例如,如果您在本地資料中心有一個用於 Kubernetes 叢集的應用程式,您可以輕鬆地將應用程式部署到 AWS、Azure 或 Google Cloud,因為 Kubernetes 會在幕後處理網路和儲存方面的差異。
✅ Kubernetes 有自我修復機制。當 Pod 或服務發生故障時,它會重新啟動或將崩潰的 Pod 中的工作負載轉移到可以容納負載的健康 Pod 上。這使得您的容器能夠順利執行,無需任何手動錯誤修復,並為您節省“週五產品崩潰時刻”。
Kubernetes 是一個強大且多功能的工具,用於管理雲端環境中容器中的工作負載。它是 DevOps 或 MLOps 工具包中的重要工具。
您可以在其文件中了解有關 K8s 的更多資訊以及它如何幫助您的部署之旅。該專案目前在GitHub上有 112k star,他們提供培訓,您可以在這裡找到。
https://github.com/kubernetes/kubernetes 檢查 Kubernetes

Pulumi 是一個雲端平台,可讓開發人員和基礎架構 (SRE) 團隊使用您最喜歡的程式語言(如 .NET、Python、Go、C# 和 Java)定義、部署、維護和管理雲端資源。
要使用 Pulumi,您需要下載並安裝CLI 工具,並使用pulumi new啟動新專案並使用您選擇的語言定義雲端資源。例如,您可以在 Python 中定義 S3 AWS 儲存桶,如下所示:
import pulumi
from pulumi_aws import s3
bucket = s3.Bucket('my-bucket')
此外,您可以使用pulumi preview查看您的更改,並使用pulumi up將所述更改應用到雲
✅ Pulumi 讓您可以跨多個供應商(例如 AWS、Azure、Google Cloud 和 Kubernetes)管理雲端資源。
✅ Pulumi 有一項名為「Pulumi Insights」的功能,它使用 AI 來提高安全性、合規性和雲端基礎設施。
✅ Pulumi 透過內建的秘密管理加密來安全地管理您的秘密資料。
Pulumi 的基礎設施即程式碼 (IaC) 方法可以簡化雲端資源管理,使其成為 Ansible 或 Terraform 等傳統 IaC 工具的絕佳替代品。
您可以透過其文件了解有關 Pulumi 的更多資訊以及它如何滿足您產品的雲端要求。該專案目前在GitHub上有 22k+ 星,他們提供平台工程研討會。
https://github.com/pulumi/pulumi 檢查 Pulumi

Dagger 讓編寫 CI/CD(持續整合和持續部署)管道變得容易。它旨在讓開發人員使用 Go、TypeScript 和 Python 等語言建立軟體開發流程,從而改善或增強軟體開發流程。
Dagger 提供了一種解決方案,無需在建立軟體專案管道時編寫複雜的 CI(持續整合)腳本。首先,使用您首選的程式語言安裝SDK ,該語言提供對用於設計和管理管道的 Dagger 功能的存取。 Dagger 的一個關鍵優勢是能夠在本地測試管道,使您能夠在部署之前辨識並解決問題。這有助於減少生產中的除錯時間。經過驗證後,Dagger 可以跨各種CI 系統(包括 Kubernetes、Podman 和 OpenShift)無縫部署管道。
✅ Dagger 提供了一個互動式終端介面,讓您可以在管道失敗或突然停止時進行偵錯。這使得修復管道故障變得更加容易。
✅ Dagger 擁有令人驚嘆的快取系統,可幫助您避免不必要的重建、重新執行和重新測試,從而使 CI/CS 流程更快。
Dagger 採用獨特的方法來建立 CI/CD 管道。它還非常高效、可靠且易於維護。您可以透過其文件了解有關 Dagger 的更多資訊。
目前,Dagger 在GitHub上有 11k+ 顆星,並且他們有Daggerverse ,它具有 Dagger 功能,您可以使用它們來增強 DevOps 體驗。
https://github.com/dagger/dagger 檢查 Dagger

Jenkins 是一個自動化伺服器,可以改善軟體專案的持續整合和持續交付(CI/CD)流程。它的工作原理是透過提高 CI/CD 流程的速度和可靠性來自動化軟體開發生命週期 (SDLC) 的各個階段 - 建置、測試和部署軟體應用程式。
Jenkins 是一個基於 Java 的平台,與任何作業系統相容,包括 Windows、基於 Unix 的系統、MacOS 和 Linux。因此,要使用它,您需要在電腦上安裝 Java。您可以使用安裝文件安裝 Jenkins 並設定係統設定和安全選項。 Jenkins 有許多插件,可讓您將其與許多版本控制系統、建置工具和雲端平台整合。
除了成為領先且最常用的自動化伺服器並擁有如此多的插件之外,以下一些獨特功能使該工具脫穎而出:
✅ Jenkins 允許開發人員將管道建立為程式碼。使用程式碼,您可以定義管道、共享程式碼以供審閱、設定版本控制以及在建置的 CI/CD 流程階段進行協作。
✅ Jenkins 支援跨多台機器的分散式建置,這可以提高效能並滿足專案不斷增長的技術要求。它在機器之間均勻分配工作負載以防止崩潰。
Jenkins 在任何開發人員或 DevOps 工具包中都是非常有用的工具,因為它可以幫助您實現簡化、自動化的 CI/CD 流程,並提高軟體的品質和速度。
該專案目前在GitHub上擁有超過 23,000 顆星,您有機會參加他們的線上或面對面聚會,並探索 DevOps 和雲端。
https://github.com/jenkinsci/jenkins 檢查 Jenkins
這就是一個包裝!
您絕對應該了解以下 5 個用於 DevOps 和 MLOps 工作流程的開源工具。本文介紹的工具各有其獨特的優勢,無論您是該領域的初學者還是專業人士,它們都可以促進您的 DevOps 和 MLOps 之旅。
如果您發現本文有用,請與您的同儕和社群分享。
還有其他很棒的開源專案嗎?將它們放在評論中!

如果你❤️我的內容!在Twitter上聯絡我
檢查我使用的 SaaS 工具 👉🏼存取此處!
我願意在部落格文章和來賓貼文上合作🫱🏼🫲🏼📅在這裡聯繫
原文出處:https://dev.to/astrodevil/5-must-know-open-source-tools-for-devops-and-mlops-developers-29bp