서울 날씨 예측 MLOps 시스템
프로젝트 개요 (프로젝트 기간: 약 2주)
ASOS 기상관측 API를 활용한 기온 & 습도 동시 예측 MLOps 파이프라인 구축
Apache Airflow 기반 완전 자동화된 ML 워크플로우 구현
MLflow를 통한 실험 관리 및 이중 모델(기온/습도) 버전 관리
FastAPI + 반응형 웹 UI로 실시간 예측 서비스 및 식물 관리 알림 제공
Docker Compose 기반 마이크로서비스 아키텍처로 확장 가능한 MLOps 플랫폼 구현
핵심 가치
"실시간 기상 데이터 수집부터 AI 예측, 실생활 활용까지의 완전한 MLOps 생태계"
🔄 완전 자동화: 매일 새벽 2시 데이터 수집 → 모델 훈련 → 성능 평가 → 자동 배포
🎯 실용성: 단순한 예측을 넘어 식물 관리라는 구체적 활용 사례 제시
🏗️ 확장성: 마이크로서비스 아키텍처로 손쉬운 기능 확장 및 유지보수
📊 투명성: MLflow 기반 모델 성능 추적 및 A/B 테스팅 지원
팀 구성원

개발 환경 및 기술 스택
ML/AI 스택
머신러닝: LightGBM 4.3.0 (Gradient Boosting)
실험 관리: MLflow 2.11.0 (모델 레지스트리 & 실험 추적)
데이터 처리: Pandas 2.2.2, NumPy
MLOps 인프라
워크플로우: Apache Airflow 2.9.0 (DAG 스케줄링)
컨테이너: Docker Compose (마이크로서비스)
객체 스토리지: MinIO (S3 호환)
데이터베이스: SQLite (예측 결과 저장)
웹 서비스
API 프레임워크: FastAPI 0.111.0
웹 서버: Uvicorn
프론트엔드: Vanilla JS + 모던 CSS (반응형 디자인)
개발 도구
주 언어: Python 3.11
버전 관리: Git, GitHub
협업 툴: GitHub Issues, Notion
API 연동: 기상청 ASOS API
프로젝트 구조

데이터 수집 & 처리
머신러닝 모델
실시간 웹 서비스
FastAPI 기반 REST API:
반응형 웹 대시보드
자동화 ML 파이프라인

데이터 관리
시스템 아키텍처

컨테이너 구성
실행 순서
1. 프로젝트 클론
git clone https://github.com/AIBootcamp13/mlops-cloud-project-mlops_5.git
cd mlops-cloud-project-mlops_5
2. 환경 변수 설정
cat > .env << EOF
KMA_API_KEY=your_weather_api_key_here
MLFLOW_TRACKING_URI=http://localhost:5000
MINIO_ROOT_USER=minio
MINIO_ROOT_PASSWORD=minio123
AWS_ACCESS_KEY_ID=minio
AWS_SECRET_ACCESS_KEY=minio123
EOF
3. 서비스 시작
docker-compose up -d
docker-compose logs -f
4. 서비스 접속
5. 첫 예측 실행
docker-compose exec airflow airflow dags trigger weather_daily
curl http://localhost:8000/predict
프로젝트 수행 절차

데이터 전처리

모델 개발

훈련 과정

모델 성능 평가 RMES


CI/CD 파이프라인, 모델 버전 관리

실시간 트래킹

데이터 수집 후 처리 결과

팀 전체 성과
프로젝트 회고

참고자료
공식 문서
🌤️ 기상청 ASOS API 가이드 - 기상관측 데이터 활용법
🐝 Apache Airflow 공식 문서 - 워크플로우 오케스트레이션
🔬 MLflow 공식 문서 - ML 생명주기 관리
⚡ FastAPI 공식 문서 - 모던 웹 API 프레임워크
🌳 LightGBM 공식 문서 - 그래디언트 부스팅
🐳 Docker Compose 가이드 - 컨테이너 오케스트레이션
기술 리소스