volcano VS argo

Compare volcano vs argo and see what are their differences.

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
volcano argo
2 43
3,760 14,259
3.3% 1.4%
9.1 9.8
1 day ago 6 days ago
Go Go
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

volcano

Posts with mentions or reviews of volcano. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-08-19.
  • Can we specify nodeSelector inline for a kubectl command
    2 projects | /r/kubernetes | 19 Aug 2022
    Also, if you are creating bare pods, this sounds like batch scheduling and you should consider using Jobs instead, to have a pod controller. And then you could also consider the https://volcano.sh/ scheduler if it has a fitting scheduling plugin for your use case.
  • My Journey With Spark On Kubernetes... In Python (1/3)
    4 projects | dev.to | 12 Apr 2021
    For our experiments, we will use Volcano which is a batch scheduler for Kubernetes, well-suited for scheduling Spark applications pods with a better efficiency than the default kube-scheduler. The main reason is that Volcano allows "group scheduling" or "gang scheduling": while the default scheduler of Kubernetes schedules containers one by one, Volcano ensures that a gang of related containers (here, the Spark driver and its executors) can be scheduled at the same time. If for any reason it is not possible to deploy all the containers in a gang, Volcano will not schedule that gang. This article explains in more detail the reasons for using Volcano.

argo

Posts with mentions or reviews of argo. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-05.
  • StackStorm – IFTTT for Ops
    7 projects | news.ycombinator.com | 5 Nov 2023
    Like Argo Workflows?

    https://github.com/argoproj/argo-workflows

  • Creators of Argo CD Release New OSS Project Kargo for Next Gen Gitops
    3 projects | news.ycombinator.com | 18 Sep 2023
    Dagger looks more comparable to Argo Workflows: https://argoproj.github.io/argo-workflows/ That's the first of the Argo projects, which can run multi-step workflows within containers on Kubernetes.

    For what it's worth, my colleagues and I have had great luck with Argo Workflows and wrote up a blog post about some of its advantages a few years ago: https://www.interline.io/blog/scaling-openstreetmap-data-wor...

  • Practical Tips for Refactoring Release CI using GitHub Actions
    5 projects | dev.to | 17 Aug 2023
    Despite other alternatives like Circle CI, Travis CI, GitLab CI or even self-hosted options using open-source projects like Tekton or Argo Workflow, the reason for choosing GitHub Actions was straightforward: GitHub Actions, in conjunction with the GitHub ecosystem, offers a user-friendly experience and access to a rich software marketplace.
  • (Not) to Write a Pipeline
    2 projects | news.ycombinator.com | 27 Jun 2023
    author seems to be describing the kind of patterns you might make with https://argoproj.github.io/argo-workflows/ . or see for example https://github.com/couler-proj/couler , which is an sdk for describing tasks that may be submitted to different workflow engines on the backend.

    it's a little confusing to me that the author seems to object to "pipelines" and then equate them with messaging-queues. for me at least, "pipeline" vs "workflow-engine" vs "scheduler" are all basically synonyms in this context. those things may or may not be implemented with a message-queue for persistence, but the persistence layer itself is usually below the level of abstraction that $current_problem is really concerned with. like the author says, eventually you have to track state/timestamps/logs, but you get that from the beginning if you start with a workflow engine.

    i agree with author that message-queues should not be a knee-jerk response to most problems because the LoE for edge-cases/observability/monitoring is huge. (maybe reach for a queue only if you may actually overwhelm whatever the "scheduler" can handle.) but don't build the scheduler from scratch either.. use argowf, kubeflow, or a more opinionated framework like airflow, mlflow, databricks, aws lamda or step-functions. all/any of these should have config or api that's robust enough to express rate-limit/retry stuff. almost any of these choices has better observability out-of-the-box than you can easily get from a queue. but most importantly.. they provide idioms for handling failure that data-science folks and junior devs can work with. the right way to structure code is just much more clear and things like structuring messages/events, subclassing workers, repeating/retrying tasks, is just harder to mess up.

  • what technologies are people using for job scheduling in/with k8s?
    3 projects | /r/kubernetes | 23 Jun 2023
    Argo Workflows + Argo Events
  • What are some good self-hosted CI/CD tools where pipeline steps run in docker containers?
    4 projects | /r/devops | 14 May 2023
    Drone, or Tekton, Argo Workflows if you’re on k8s
  • job scheduling for scientific computing on k8s?
    5 projects | /r/kubernetes | 13 May 2023
    Check out Argo Workflows.
  • Orchestration poll
    1 project | /r/dataengineering | 8 Apr 2023
  • What's the best way to inject a yaml file into an Argo workflow step?
    1 project | /r/codehunter | 8 Apr 2023
  • Which build system do you use?
    7 projects | /r/golang | 2 Feb 2023
    go-git has a lot of bugs and is not actively maintained. The bug even affects Argo Workflow, which caused our data pipeline to fail unexpectedly (reference: https://github.com/argoproj/argo-workflows/issues/10091)

What are some alternatives?

When comparing volcano and argo you can also consider the following projects:

kube-batch - A batch scheduler of kubernetes for high performance workload, e.g. AI/ML, BigData, HPC

temporal - Temporal service

spark-operator - Kubernetes operator for managing the lifecycle of Apache Spark applications on Kubernetes.

keda - KEDA is a Kubernetes-based Event Driven Autoscaling component. It provides event driven scale for any container running in Kubernetes

singularity-cri - The Singularity implementation of the Kubernetes Container Runtime Interface

Airflow - Apache Airflow - A platform to programmatically author, schedule, and monitor workflows

warewulf - Warewulf is a stateless and diskless container operating system provisioning system for large clusters of bare metal and/or virtual systems.

flyte - Scalable and flexible workflow orchestration platform that seamlessly unifies data, ML and analytics stacks.

charts - ⚠️(OBSOLETE) Curated applications for Kubernetes

StackStorm - StackStorm (aka "IFTTT for Ops") is event-driven automation for auto-remediation, incident responses, troubleshooting, deployments, and more for DevOps and SREs. Includes rules engine, workflow, 160 integration packs with 6000+ actions (see https://exchange.stackstorm.org) and ChatOps. Installer at https://docs.stackstorm.com/install/index.html

kubernetes-operator-roiergasias - 'Roiergasias' kubernetes operator is meant to address a fundamental requirement of any data science / machine learning project running their pipelines on Kubernetes - which is to quickly provision a declarative data pipeline (on demand) for their various project needs using simple kubectl commands. Basically, implementing the concept of No Ops. The fundamental principle is to utilise best of docker, kubernetes and programming language features to run a workflow with minimal workflow definition syntax. It is a Go based workflow running on command line or Kubernetes with the help of a custom operator for a quick and automated data pipeline for your machine learning projects (a flavor of MLOps).

n8n - Free and source-available fair-code licensed workflow automation tool. Easily automate tasks across different services.