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 요청 처리 |
BigQuery | SQL 기반 분석 | 대규모 데이터 웨어하우스 |
5️⃣ Cloud Functions vs Cloud Run
비교 항목 | Cloud Functions | Cloud 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 Run | BigQuery 예약된 쿼리 | 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 파이프라인 자동화