DevOps 和 MLOps 开发人员必须了解的 5 个开源工具🔥🚀

2025-06-04

DevOps 和 MLOps 开发人员必须了解的 5 个开源工具🔥🚀

在当今的软件世界中,DevOps 和 MLOps 对于确保机器学习和开发工作流程的无缝开发、部署和管理至关重要。开源通过提供灵活性、成本效益和出色的社区支持在这些领域发挥着重要作用。

DevOps 是软件开发 (Dev) 和 IT 运维 (Ops) 的结合。它专注于构建工作流程并监控软件项目的部署,以确保项目快速运行、适应用户需求并随时可用。MLOps 或机器学习运维是 DevOps 原则的延伸,但它专注于机器学习项目。它专注于在机器学习系统中学习、部署和维护模型。

在本文中,我将向您介绍 5 种开源工具,它们将在 2025 年增强您的 DevOps 和 MLOps 实践。

开始吧!🚀

跳舞 GIF by tv2norge


KitOps ——AI 流程中缺失的环节

基托普斯

KitOps 将机器学习项目的不同部分(例如代码、数据集、配置和模型)组合到一个名为 ModelKit 的包中。此工具提供了一个轻量级解决方案,可将您的应用程序部署到 Docker 或 Kubernetes 等平台上。

KitOps 的工作原理是将您的 AI 或 ML 项目捆绑到 ModelKit 中。您可以将 ModelKit 推送到仓库并与团队共享。他们可以轻松地拉取该项目来验证数据集或部署模型。

KitOps 工作流程如下

要使用 KitOps,您需要使用此安装指南在您的机器上设置其 CLI ,并确认它已正确安装。

kit version
Enter fullscreen mode Exit fullscreen mode

使用该kit init命令,您可以在当前文件夹中创建一个 Kitfile。此文件将作为您的 AI 项目的蓝图,定义您的模型、数据集和依赖项。创建并配置 Kitfile 后,使用 即可kit build根据 Kitfile 中的配置构建 ModelKit。

要将您的 ModelKit 推送到 KitOps 注册表,请使用kit push命令。

kit push <registry_url>
Enter fullscreen mode Exit fullscreen mode

要从注册表下载(拉取)您的 ModelKit,请使用kit pull命令。

kit pull <registry_url>
Enter fullscreen mode Exit fullscreen mode

为什么要使用 KitOps?

✅ KitOps 将整个项目的组件打包成一个可共享的资产,以便于提取或部署。

✅ ModelKits 可以毫无压力地部署在任何云容器上。

✅ KitOps 允许你编写 Python 脚本,用于自动化或管理你的机器学习工作流程。如果你的主要编程语言是 Python,那么 KitOps 绝对是你的不二之选。

有了 KitOps,您无需再为基础设施挑战而烦恼。它简化了流程,让您可以更加专注于 AI 或 ML 项目,而不是其部署工作流。

您可以从他们的文档中了解有关 KitOps 的更多信息,并了解它如何适合您的用例。

该项目在GitHub上有 607 颗星,每天都在改进和简化机器学习工作流程。您可以加入社区

检查 KitOps

Kubernetes - 您的生产级容器编排工具

Kubernetes

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
Enter fullscreen mode Exit fullscreen mode

您还可以通过 Kubernetes 命令(如kubectl get podskubectl get services)监控和管理您的集群,对其进行扩展和故障排除。

Kubernetes 的一些很棒的功能:

✅ Kubernetes 隐藏了应用程序的基础架构层,使其能够在本地数据中心、云提供商和混合环境之间移植。例如,如果您有一个适用于本地数据中心 Kubernetes 集群的应用程序,则可以轻松地将该应用程序部署到 AWS、Azure 或 Google Cloud,因为 Kubernetes 会在后台处理网络和存储方面的差异。

✅ Kubernetes 具有自我修复机制。当 Pod 或服务发生故障时,它会重新启动 Pod,或将崩溃 Pod 中的工作负载迁移到能够承载负载的健康 Pod 中。这使得您的容器能够平稳运行,无需手动修复任何错误,从而避免“周五产品崩溃”的发生。

Kubernetes 是一款功能强大且用途广泛的工具,用于管理云环境中的容器工作负载。它是 DevOps 或 MLOps 工具包中的重要工具。

您可以在 K8s文档中了解更多关于它如何帮助您部署的信息。该项目目前在GitHub上拥有 11.2 万颗星,并且他们提供培训,您可以在这里找到。

检查 Kubernetes

Pulumi - 自动化、保护和管理云中的一切

普卢米

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')
Enter fullscreen mode Exit fullscreen mode

此外,您还可以使用 查看更改pulumi preview,并使用 将所述更改应用到云pulumi up

Pulumi 最好的部分

✅ Pulumi 让您可以管理跨多个提供商(例如 AWS、Azure、Google Cloud 和 Kubernetes)的云资源。

✅ Pulumi 有一项名为“Pulumi insights”的功能,它使用人工智能来提高安全性、合规性和云基础设施。

✅ Pulumi 使用内置的秘密管理加密安全地管理您的秘密数据。

Pulumi 的基础设施即代码 (IaC) 方法可以简化云资源管理,使其成为 Ansible 或 Terraform 等传统 IaC 工具的绝佳替代品。

您可以通过 Pulumi 的文档了解更多关于它如何满足您产品的云需求的信息。该项目目前在GitHub上拥有超过 2.2 万颗星,并提供平台工程研讨会

检查Pulumi

Dagger - 在几分钟内构建你的管道

匕首

Dagger 简化了 CI/CD(持续集成和持续部署)流水线的编写。它旨在改进或增强软件开发流水线,允许开发人员使用 Go、TypeScript 和 Python 等语言创建流水线。

Dagger 提供了一种解决方案,让您在为软件项目构建流水线时无需编写复杂的 CI(持续集成)脚本。首先,请安装您首选编程语言的SDK,该 SDK 可以访问用于设计和管理流水线的 Dagger 函数。Dagger 的一个主要优势是能够在本地测试流水线,让您能够在部署之前发现并解决问题。这有助于缩短生产环境中的调试时间。验证完成后,Dagger 可支持在各种CI 系统(包括 Kubernetes、Podman 和 OpenShift)之间无缝部署您的流水线。

Dagger 的一些很酷的功能

✅ Dagger 提供了一个交互式终端界面,让你可以在管道发生故障或突然停止时进行调试。这使得修复管道故障变得更加容易。

✅ Dagger 有一个惊人的缓存系统,可以帮助您避免不必要的重建、重新运行和重新测试,从而使 CI/CS 过程更快。

Dagger 采用独特的方法来创建 CI/CD 流水线。它不仅高效、可靠,而且易于维护。您可以通过 Dagger 的文档了解更多关于 Dagger 的信息。

目前,Dagger 在GitHub上拥有 11k+ 颗星,并且他们拥有Daggerverse,其中具有可用于增强 DevOps 体验的 Dagger 功能。

检查匕首

Jenkins——领先的开源自动化服务器

詹金斯

Jenkins 是一个自动化服务器,可改进软件项目的持续集成和持续交付 (CI/CD) 流程。它通过提高 CI/CD 流程的速度和可靠性,实现软件开发生命周期 (SDLC) 各个阶段(包括构建、测试和部署软件应用程序)的自动化。

Jenkins 是一个基于 Java 的平台,兼容任何操作系统,包括 Windows、Unix 系统、MacOS 和 Linux。因此,要使用它,您需要在计算机上安装 Java。您可以参考安装文档安装 Jenkins ,并配置系统设置和安全选项。Jenkins 拥有众多插件,可让您将其与众多版本控制系统、构建工具和云平台集成。

詹金斯有何不同?

除了作为领先且使用最广泛的自动化服务器并拥有众多插件之外,该工具还有一些独特的功能使其脱颖而出:

✅ Jenkins 允许开发人员以代码形式创建流水线。使用代码,您可以定义流水线、共享代码以供审核、设置版本控制,并在构建的 CI/CD 流程阶段进行协作。

✅ Jenkins 支持跨多台机器的分布式构建,从而提高性能并满足项目日益增长的技术需求。它会在多台机器之间均匀分配工作负载,以防止崩溃。

Jenkins 是任何开发人员或 DevOps 工具包中非常有用的工具,因为它可以帮助您实现简化、自动化的 CI/CD 流程,并提高软件的质量和速度。

该项目目前在GitHub上拥有 23k+ 颗星,您有机会参加他们的线上或线下聚会,并深入了解 DevOps 和云。

检查詹金斯

就这样结束了!

这 5 款适用于 DevOps 和 MLOps 工作流程的开源工具,你绝对应该了解。本文介绍的工具各有其独特的优势,无论你是该领域的新手还是专业人士,它们都能助力你的 DevOps 和 MLOps 之旅。


如果您发现这篇文章有用,请与您的同行和社区分享。

还有其他很棒的开源项目吗?快来评论区分享吧!

感谢阅读

如果你喜欢我的内容!在 Twitter上关注我

查看我使用的 SaaS 工具👉🏼从这里访问

我愿意在博客文章和来宾帖子上进行合作🫱🏼‍🫲🏼📅联系这里

文章来源:https://dev.to/astrodevil/5-must-know-open-source-tools-for-devops-and-mlops-developers-29bp
PREV
只需 3 个步骤即可使用免费的 DeepSeek R1 和 V3 API 与 Bolt.DIY 和 Cursor(欧盟托管的编码模型)🎉💥
NEXT
被低估的数组方法