
Dataflow로 컬리의 준실시간 수요 예측모델 파이프라인 구축하기 - 1편
두줄요약
준실시간 수요예측을 위해 Apache Beam 기반 GCP Dataflow 파이프라인을 도입한 배경과 동작 구조를 설명했습니다. Flex 템플릿·CI/CD 배포 과정과 스트리밍, 권한, 비용 관련 운영 팁을 정리했습니다.
문제 상황
- 1년치 BigQuery 주문 데이터와 최신 주문 변동을 반영하는 준실시간 수요예측 모델 서빙 필요
- 대용량 분산 처리와 변동하는 주문량에 대응할 안정적 파이프라인 요구
선택 이유
- 배치·스트리밍 처리를 함께 지원하는 Apache Beam 기반의 완전관리형 GCP Dataflow 도입
- 자동 확장과 리밸런싱을 통한 인프라 관리 부담 및 리소스 조정 부담 완화
구조와 흐름
- Beam 파이프라인을 그래프로 직렬화해 Dataflow 엔드포인트로 전송하고 worker VM에서 실행
- Flex 템플릿의 컨테이너 이미지와 GCS 템플릿 스펙을 이용한 작업 생성 및 GitHub Actions 기반 배포
- BigQuery처럼 bounded 데이터 소스는 스트리밍 모드로 지정해도 단발성 배치 실행
성능/운영 포인트
- 짧은 주기 배치는 launcher 생성 시간이 커서 부적합하며 무한 스트림 소스에 스트리밍 파이프라인 적용
- Streaming Engine으로 worker 자원 부담을 낮추되 별도 요금 고려
- worker service account와 Dataflow service agent의 권한을 모두 점검

