피드로 돌아가기
Stop Using Spark for Your Small Data - Why Azure Functions is the Right Tool for the Job
Dev.toDev.to
Infrastructure

Spark 클러스터 제거 및 Serverless 전환을 통한 비용 최적화

Stop Using Spark for Your Small Data - Why Azure Functions is the Right Tool for the Job

Luca Liu2026년 5월 6일3beginner

Context

10MB 규모의 소량 Excel 데이터 처리를 위해 Azure Databricks 및 Synapse의 Spark 클러스터를 운용함. 데이터 크기 대비 과도한 리소스 할당으로 인한 비용 낭비와 5~10분에 달하는 Cold Start 지연 시간이 주요 병목 지점으로 작용함.

Technical Solution

  • Compute 리소스를 최적화하기 위해 Spark 기반의 분산 처리 구조에서 Event-Driven 기반의 Azure Functions로 아키텍처 변경
  • Consumption Plan 채택을 통한 Serverless 환경 구축으로 실제 코드 실행 시간에 대해서만 비용을 지불하는 과금 모델 적용
  • Blob Storage Trigger 및 Timer Trigger를 결합하여 파일 업로드 시 즉시 처리 및 정기 스케줄링 요구사항을 동시에 충족
  • VS Code 기반의 Local Development 및 Git Source Control 도입을 통한 노트북 방식의 한계를 극복한 엔지니어링 워크플로우 구축
  • 단순 Python 스크립트 실행에 최적화된 경량 런타임을 활용하여 인프라 오버헤드 제거

- 처리 대상 데이터가 단일 노드 메모리 범위 내에서 처리 가능한지 검토 - Cold Start 시간이 비즈니스 요구사항(SLA)에 영향을 주는지 분석 - 분산 처리 엔진의 오버헤드가 실제 연산 시간보다 큰지 측정 - Notebook 기반 개발에서 정식 배포 파이프라인(CI/CD)으로의 전환 가능성 확인

원문 읽기