DIVE AND RISE

데이터 엔지니어링에서 FastAPI가 필요한 이유 본문

기술노트/데이터엔지니어링

데이터 엔지니어링에서 FastAPI가 필요한 이유

newlamb 2025. 5. 4. 15:36

FastAPI와 같은 백엔드 API 프레임워크는 전통적인 웹 개발뿐 아니라 데이터 엔지니어링의 실무에서도 점점 중요해지고 있는 기술입니다. 어떤 부분에서, 왜 필요한지를 아래에 정리해 드릴게요.

 

 

✅ 데이터 엔지니어링에서 FastAPI가 필요한 이유

1. 데이터 파이프라인의 API 인터페이스

  • 데이터 수집 / ingestion 단계에서 외부에서 데이터를 넣어야 할 때 → API가 필요함
    예: 외부 센서 데이터, 사용자 입력, 다른 시스템의 웹훅 등

✅ FastAPI 역할:

@app.post("/ingest-data/")
async def ingest(data: SensorData):
    저장 or Kafka 전송

2. ETL/ELT 작업 자동화 - API 트리거

  • ETL 배치 작업이나 파이프라인 실행을 API로 트리거할 수 있도록 만들면 유연한 자동화 가능

✅ 예시:

  • /start-job 호출 시 Airflow DAG 시작
  • /load-to-warehouse → S3 데이터 적재 트리거

3. 모델 서빙 / 데이터 서빙

  • 머신러닝 모델 결과 제공 API
  • 분석 데이터 결과 제공 (예: 사용자 리포트)

✅ FastAPI + MLflow or ONNX Runtime 연동:

@app.post("/predict/")
async def predict(input: InputData):
    return model.predict(input)

4. 모니터링 및 헬스체크용 API

  • 데이터 파이프라인 상태, 실패율, 백필 작업 등을 API로 점검
  • /health, /metrics, /status 같은 엔드포인트 사용

5. 내부 데이터 포털/플랫폼 구축

  • FastAPI는 경량이므로, 내부용 포털 서버로도 적합
    • 내부 사용자 데이터 조회용 API
    • 테이블/ETL 상태 조회
    • FastAPI + Streamlit 같이 쓰면 내부 대시보드 구축도 가능

🎯 정리: 데이터 엔지니어링에서 FastAPI 활용 위치

 
[ 데이터 수집 → 처리/저장 → 분석/서빙 → 자동화/모니터링 ]
     ↑       ↑         ↑           ↑
     │       │         │           │
   FastAPI로 REST API 생성 (트리거, 조회, 서빙, 상태 확인 등)

✅ 이런 경우 FastAPI 학습이 필수

상황                                                                                                                                          FastAPI 학습 필요성
외부 시스템과 연결된 수집 API 구현 🔥 필수
파이프라인 자동화 및 제어 API 구축 🔥 필수
내부 분석 도구와 연결되는 경량 API 구축 🔥 매우 유용
ML 모델 서빙 및 예측 API 필요 ✅ 필요
단순한 백오피스 조회 페이지 구축 ✅ 있으면 좋음
 

다음 단계 제안

  • ✅ Kafka나 Airflow와 FastAPI 연동 실습
  • ✅ ML 모델을 FastAPI로 서빙 실습
  • ✅ API 요청으로 Spark job 트리거하기 실습

필요하면 위 항목 중 실습 예제
예: FastAPI + Kafka 이벤트 수집 API, FastAPI로 Airflow DAG 실행 API 등.

'기술노트 > 데이터엔지니어링' 카테고리의 다른 글

Linux 활용  (0) 2025.05.08
FastAPI 필수 개념  (0) 2025.05.04
리눅스 필수 개념 & 명령어 정리 (TIL)  (0) 2025.05.03