서버, 데이터베이스, 스토리지 등 백엔드 인프라를 클라우드로 제공하는 서비스.
직접 서버를 사지 않고 필요한 만큼 빌려서 쓸 수 있음.
대표적으로 Amazon의 AWS와 Google의 GCP가 있음.
Elastic Compute Cloud
클라우드에서 돌아가는 가상 컴퓨터(서버).
FastAPI, Node.js 같은 백엔드 앱을 올려서 실행하는 공간.
Flutter 앱 → EC2(FastAPI 서버) → 응답 반환
Relational Database Service
클라우드에서 돌아가는 관계형 데이터베이스.
MySQL, PostgreSQL 등을 직접 설치 없이 바로 사용 가능.
EC2(서버) → RDS(DB) → 데이터 저장/조회
Simple Storage Service
파일 저장 공간. 이미지, 동영상, PDF 등 정적 파일을 보관하는 곳.
Flutter 앱 → 이미지 업로드 → S3 저장 → URL 반환 → 앱에서 표시
Content Delivery Network
전 세계 엣지 서버에 콘텐츠를 캐싱해서 사용자 가까운 곳에서 빠르게 전달.
사용자 → CloudFront(가까운 엣지) → 캐시 히트 시 바로 반환
→ 캐시 없으면 S3에서 가져와서 반환
AWS EC2에 대응하는 GCP의 가상 서버.
Google 인프라 위에서 돌아가는 VM 인스턴스.
Flutter 앱 → Compute Engine(서버) → 응답 반환
AWS RDS에 대응하는 GCP의 관리형 관계형 DB.
MySQL, PostgreSQL, SQL Server 지원.
AWS S3에 대응하는 GCP의 객체 스토리지.
Firebase Storage의 실제 백엔드이기도 함.
AWS CloudFront에 대응하는 GCP의 콘텐츠 전송 네트워크.
| 역할 | AWS | GCP |
|---|---|---|
| 서버 | EC2 | Compute Engine |
| 데이터베이스 | RDS | Cloud SQL |
| 스토리지 | S3 | Cloud Storage |
| CDN | CloudFront | Cloud CDN |
| 서버리스 함수 | Lambda | Cloud Functions |
Flutter 앱
│
├─ API 요청 ──────→ EC2 (FastAPI 서버)
│ │
│ ├─ 데이터 저장/조회 → RDS (DB)
│ └─ 파일 URL 반환 → S3 (스토리지)
│ │
└─ 이미지/파일 로드 ←── CloudFront (CDN) ←────┘
Firebase가 GCP 위에서 돌아간다는 걸 알고 나니까 Cloud Storage = Firebase Storage 구조가 이해됐음
AWS와 GCP는 서비스 이름만 다를 뿐 역할 구조는 거의 같음. 어느 쪽을 쓰든 개념을 알면 금방 적응할 수 있것지..?