데이터 엔지니어링에 쓰이는 GCP 서버리스 플랫폼

yeahcold·2025년 3월 20일
0

Data Engineering

목록 보기
3/20

GCP에는 다양한 서버리스 서비스가 존재하며, 각각의 역할과 사용 목적이 다릅니다. 이번 글에서는 Cloud Functions, Cloud Run, BigQuery의 개요와 특징을 정리하고, 언제 어떤 서비스를 선택해야 하는지 알아보겠습니다.


1️⃣ Cloud Functions 🚀

✅ 개요

  • 이벤트 기반 서버리스 함수 실행 서비스
  • 특정 이벤트 발생 시 함수 자동 실행
  • 코드 단위로 배포 가능 (Python, Node.js 등 지원)

✅ 특징

  • 자동 확장 → 트래픽 증가 시 자동 스케일링
  • 이벤트 드리븐 → Pub/Sub, Cloud Storage 트리거 가능
  • 빠른 배포main.py 기준 배포

✅ 사용 예시

  • 데이터 변환 & 처리 (ETL 파이프라인 일부)
  • API 응답 처리 (Webhook 이벤트 처리)
  • 크롤링 및 자동화 스크립트 실행

2️⃣ Cloud Run 🚀

✅ 개요

  • 컨테이너 기반 서버리스 플랫폼
  • HTTP 요청을 처리하는 서비스 실행 가능
  • 필요할 때만 컨테이너 실행하여 비용 절감

✅ 특징

  • 컨테이너 지원 → Docker 기반 애플리케이션 실행 가능
  • 자동 확장 → 트래픽에 따라 인스턴스 자동 증가/감소
  • 유지 비용 절감 → 요청이 없을 때는 0으로 스케일링 가능

✅ 사용 예시

  • REST API 서버 배포
  • 데이터 처리 서비스 구축
  • 크론잡(Cron Job) 대체 서비스

3️⃣ BigQuery 📊

✅ 개요

  • 완전 관리형 데이터 웨어하우스
  • 초대용량 데이터 분석 가능 (페타바이트급 처리)
  • SQL 기반 쿼리 실행

✅ 특징

  • 서버리스 → 인프라 관리 필요 없음
  • 빠른 분석 속도 → Dremel 엔진 사용
  • 스케일링 자동 조정 → 사용량에 따라 리소스 최적화

✅ 사용 예시

  • 실시간 로그 분석
  • 마케팅 & 광고 데이터 분석
  • 머신러닝 모델 학습용 데이터 저장

4️⃣ 서버리스 개념 정리 ☁️

✅ 서버리스란?

  • 서버를 직접 관리하지 않고, 필요한 기능만 실행하는 방식
  • 클라우드 제공 업체가 인프라 운영을 자동 처리

✅ 서버리스의 장점

  • 운영 부담 감소 → 서버 유지보수 불필요
  • 비용 절감 → 사용한 만큼만 비용 청구
  • 확장성 → 트래픽 변화에 따라 자동 조정

✅ 서버리스 주요 서비스 비교

서비스사용 방식주요 기능
Cloud Functions단일 함수 실행이벤트 기반 트리거
Cloud Run컨테이너 실행HTTP 요청 처리
BigQuerySQL 기반 분석대규모 데이터 웨어하우스

5️⃣ Cloud Functions vs Cloud Run

비교 항목Cloud FunctionsCloud Run
실행 방식개별 함수 실행컨테이너 실행
트리거이벤트 기반 (Pub/Sub, Cloud Storage 등)HTTP 요청 (REST API 등)
언어 지원Python, Node.js, Go 등모든 언어 (컨테이너 기반)
스케일링자동 확장, 트래픽 없으면 비용 0자동 확장, 트래픽 없으면 비용 0
사용 예시ETL, 데이터 변환, Webhook 처리API 서버, 배치 작업, 크론잡 대체

✅ 언제 사용해야 할까?

  • Cloud Functions → 간단한 이벤트 처리, 트리거 기반 작업
  • Cloud Run → 컨테이너 기반 애플리케이션 실행, REST API 구축

6️⃣ Cloud Run vs 예약된 쿼리 vs Airflow

비교 항목Cloud RunBigQuery 예약된 쿼리Airflow (Composer)
주요 역할컨테이너 기반 데이터 처리SQL 쿼리 예약 실행워크플로우 관리 & ETL
실행 방식HTTP 요청 or 스케줄링일정 주기마다 SQL 실행DAG(Directed Acyclic Graph) 기반 워크플로우 실행
사용 사례ETL, 크롤링, API 데이터 수집정기적인 데이터 분석복잡한 ETL & 파이프라인 자동화
유지보수쉬움 (컨테이너만 관리)거의 없음 (쿼리만 작성)중간 이상 (DAG 작성 필요)
비용 효율성사용량 기반 과금 (서버리스)BigQuery 비용만 지불실행 환경 운영 비용 존재

✅ 언제 사용해야 할까?

  • Cloud Run → 컨테이너 기반 데이터 처리, 크롤링, API 호출
  • 예약된 쿼리 → SQL 기반 데이터 분석 및 정제 작업
  • Airflow → 복잡한 ETL 파이프라인 관리, 여러 작업을 연결

📌 정리

  • Cloud Functions → 이벤트 기반 함수 실행
  • Cloud Run → 컨테이너 실행 + HTTP 요청 처리
  • BigQuery 예약된 쿼리 → 정기적인 SQL 데이터 처리
  • Airflow → 복잡한 ETL 파이프라인 자동화
profile
Software Engineer

0개의 댓글