Data Engineering FinOps
데이터 인프라의 컴퓨트·스토리지·네트워크 비용을 체계적으로 관리하는 전략
핵심 개념
Data Engineering FinOps는 데이터 파이프라인과 분석 인프라의 비용을 가시화하고 최적화하는 체계다. 클라우드 컴퓨트, 오브젝트 스토리지 API, 웨어하우스 쿼리 비용이 주요 최적화 대상이며, 팀별 비용 귀속(attribution)과 자동 튜닝이 핵심 트렌드다.
컴퓨트 비용 최적화
Spot 인스턴스 전략
- Notion의 Spot Balancer: Kubernetes 웹훅으로 잡별 Spot/온디맨드 비율 제어 → 60~90% 비용 절감
- Karpenter 기반 동적 노드 프로비저닝 + MostAllocated bin-packing
- 잡별
RELIABILITY_OVER_COST선언으로 비용-신뢰성 트레이드오프 명시
FinOps 자동화 (Informatica)
- Cluster Lifecycle Manager: 수요 예측 기반 자동 스케일링
- Cluster Tuner: 인스턴스 타입/스토리지/네트워크 최적화
- Job Tuner: 히스토리 기반 Spark 런타임 파라미터 자동 조정
- 결과: 인프라 비용 1.65배 절감
스토리지 비용 최적화
S3 Shuffle 최적화
S3 shuffle 플러그인의 GET 요청 폭발(O(M×R))이 비용의 주요 원인:
- 입력 파일 coalesce + shuffle partition 튜닝으로 GET 수 10배 감소
- S3 prefix를 10개 → 500개로 확장하여 스로틀링 방지
- 결과: S3 API 비용 95% 이상 절감
DuckDB 트랜스파일링
웨어하우스 컴퓨트를 로컬 DuckDB로 전환:
- SQLGlot으로 BigQuery/Snowflake SQL을 DuckDB로 트랜스파일
- DAG 분석으로 외부 의존성 없는 스크립트만 로컬 실행
- 로컬 실행분 컴퓨트 비용: $0.00
비용 귀속과 거버넌스
- Pinterest Piqama: 이력 데이터 기반 동적 쿼터 한도 + 재무 연계로 팀별 책임성 강화
- Control plane/Data plane 분리: 컴퓨트 스파이크가 오케스트레이션에 영향 주지 않도록 격리
트레이드오프
| 접근법 | 비용 절감 | 리스크 |
|---|---|---|
| Spot 인스턴스 | 60-90% | 인터럽션으로 잡 실패 가능 |
| DuckDB 트랜스파일 | 컴퓨트 $0 | 대용량 테이블 풀링 병목 |
| S3 Shuffle 최적화 | API 비용 95%↓ | prefix 확장, 설정 복잡도 |
| FinOps 자동 튜닝 | 1.65x 절감 | 플랫폼 구축·유지 비용 |
연관 개념
Source: Taming S3 Shuffle at Scale, Inside Informaticas Spark-Based Data Integration Platform, Notion - Balancing Cost and Reliability for Spark on Kubernetes, Lower Warehouse Costs via DuckDB Transpilation