Workflow management system
workflow management system (WfMS or WFMS) provides an infrastructure for the set-up, performance, and monitoring of a defined sequence of tasks arranged as a workflow application.
Projects
- NodeRed
- n8n
- Kubeflow
- Airflow
- JupyterFlow
- Argo Workflows
- jenkins
- Luigi
- MLflow
- Prefect
- DataJourney - Design-First 오픈소스 데이터 관리 툴킷
비교
Airflow vs Kubeflow
- | ||
형태 | DAG 기반 워크플로우 | Pipeline 기반 워크플로우 |
목적 | task(pipeline) orchestration | ML 학습, 실험 추적 등 ML 작업 |
특징 | 데이터 파이프라인, ML 모델링, 인프라 관리 등 다양한 작업 | ML 작업에 특화 |
환경 | 다양한 환경에서 작업할 수 있음 | 쿠버네티스 환경에서만 작업할 수 있음 |
Airflow vs Argo workflow
- | ||
구분 | Airflow | Argo workflow |
UI | webserver | Argo UI |
스케줄러 | scheduler | kube-scheduler |
메세지큐 | Celery | Argo Controller |
메타데이터 DB | postgreSQL | etcd |
Worker | Worker | Node |
DAG 정의 | Python script | YAML |
Job 단위 | Operator | Container |
Kubeflow vs MLFlow
Kubeflow와 MLFlow는 모두 Airflow나 Luigi와 같은 일반적인 작업 조정 플랫폼보다 더 작고 더 전문화된 도구입니다.
Kubeflow는 Kubernetes를 사용하는 반면 MLFlow는 기존 기계 학습 코드에 실험 추적을 추가하는 데 도움이 되는 Python 라이브러리입니다. Kubeflow를 사용하면 각 단계가 Kubernetes Pod인 전체 DAG를 구축할 수 있지만 MLFlow에는 scikit-learn 모델을 Amazon Sagemaker 또는 Azure ML에 배포하는 기능이 내장되어 있습니다.
- 기계 학습 실험을 추적하고 Kubernetes가 지원하는 보다 맞춤화된 방식으로 솔루션을 배포하려면 Kubeflow를 사용하세요.
- 실험 추적에 대한 더 간단한 접근 방식을 원하고 Amazon Sagemaker와 같은 관리형 플랫폼에 배포하려는 경우 MLFlow를 사용하십시오.