팀 내 전처리 프레임워크 dagster 도입기
데브옵스
팀 내 전처리 프레임워크 dagster 도입기
두줄요약
문서 전처리 파이프라인의 리소스 경합과 디버깅 어려움을 해결하기 위해 dagster를 도입했습니다. K8sRunLauncher와 코드 로케이션 분리로 안정성과 운영 효율을 높인 사례를 공유했습니다.
문제 상황
- FastAPI background tasks 기반 문서 전처리에서 고객사 증가와 함께 리소스 경합, 타임아웃, OOM, 재시도 증가 발생
- 로그 의존 디버깅과 재시작 불가로 인해 실패 지점 추적과 복구가 어려웠음
원인 분석
- 한 인스턴스에서 여러 문서를 동시에 처리하는 구조로 인한 리소스 경쟁
- 작업 상태와 실행 흐름을 별도로 관리하지 못하는 단순 비동기 처리 구조
해결 방법
- 워크플로우 오케스트레이션 도구를 검토한 뒤 dagster를 도입
- K8sRunLauncher로 실행 단위 파드 격리, code location 분리로 배포 단순화
- 대시보드와 hook으로 진행 상황 추적 및 결과 알림 구성
성능/운영 포인트
- 요청이 몰려도 큐 기반 처리로 다른 작업 영향 최소화
- 실행 단위 격리로 리소스 경합 완화, 하루 1만 건 수준 전처리 처리
- 외부 모니터링 연동과 OSS 환경 RBAC 한계에 대한 보완 필요
