DevOps

[MlOps] Local MLOps 실습 환경 구축 (Airflow + MLflow)

Sophie소피 2025. 10. 26. 18:15

이번 단계에서는 Airflow로 Pipeline을 관리하고,
MLflow로 실험 결과를 추적할 수 있는 Local MLOps 환경을 만듭니다.

모든 구성은 ~/hybrid-mlops-demo 폴더 내에서 진행됩니다. 

📂  Repository 골격 만들기

mkdir -p ~/hybrid-mlops-demo/{airflow/dags,mlflow,ray_inference,infra/minikube,observability}
cd ~/hybrid-mlops-demo

 

디렉토리 구조가 아래와 같이 생성됩니다.

hybrid-mlops-demo/
├─ airflow/
│  └─ dags/
├─ mlflow/
├─ ray_inference/
├─ infra/
│  └─ minikube/
└─ observability/

 

 

 


 

🌬️  Airflow (Local Pipeline 실행)

Airflow는 Data Pipeline을 자동화하고 Shedudling 할 수 있는 Workflow Engine입니다.
공식 Docker Compose 설정 파일을 이용해 바로 실행해보겠습니다.

cd airflow
curl -LfO 'https://airflow.apache.org/docs/apache-airflow/stable/docker-compose.yaml'
echo "AIRFLOW_UID=$(id -u)" > .env
docker compose up -d

 

 

 

정상 결과 : 

 

컨테이너가 모두 뜨면 아래 명령으로 확인할 수 있습니다.

docker ps

 

 

Dashboard로  접속

브라우저에서 해당 링크로 이동: http://localhost:8080
ID: airflow / PW: airflow

이제 DAG을 생성하면 이곳에서 바로 실행할 수 있습니다. (다음 편에.. )

 

 

 

 


🧠 MLflow (Experiment Management & Model Tracking)

Airflow DAG에서 학습 결과를 기록하려면, MLflow UI 서버를 함께 띄워둡니다.

 

혹시 안한 분들을 위한 가이드

먼저 Python 패키지 관리자를 설치합니다. 

그다음 MLflow 설치...할 수 있어요.

sudo apt update
sudo apt install -y python3-pip

 

 

 

MLflow UI 실행

pip install --user mlflow
~/.local/bin/mlflow ui --port 5000 >/dev/null 2>&1 &

정상결과: 

실행 여부 확인 :

 

 

 

웹 대시보드 접속

브라우저에서 해당 링크로 이동: http://localhost:5000

MLflow가 성공적으로 실행되면 아래처럼 UI을 볼 수 있습니다.

 

 

 

 


다음 단계 예고

다음 글 에서는 Airflow DAG → MLflow 연동을 통해
Model 학습 코드를 자동화하고,
학습 결과를 MLflow UI에서 Tracking 하는 Pipeline을 만들어보겠습니다.

예: Airflow가 하루 1회 train.py 실행 →
MLflow가 실험 결과(accuracy, loss, run_id)를 기록

 

 

https://github.com/daeun-ops/hybrid-mlops-demo