클라우드 아키텍처 1 빅뱅배포 - 100-hours-a-week/16-Hot6-wiki GitHub Wiki
☁️ On The Top Cloud – 초기 Big Bang 배포 아키텍처
아키텍처 설명
이 인프라는 **Google Cloud Platform(GCP)**과 AWS를 조합하여 구성된 초기 환경이며, 모든 변경사항이 한 번에 배포되는 Big Bang 방식으로 운영되고 있습니다.
주요 구성요소:
영역 | 설명 |
---|---|
Frontend | React 앱, GCP VM(Nginx)에서 서빙 |
Backend | Spring 기반 API 서버 |
AI Server | FastAPI 또는 Python 기반 모델 처리 |
DB | GCP VM 내 MySQL (Private Subnet) |
AWS S3 | 정적 파일 업로드용 |
Route 53 | 도메인 관리 (예: dev.onthe-top.com ) |
GitHub | 코드 저장소 (FE/BE 공통) |
Nginx | GCP VM에서 Reverse Proxy 역할 수행 |
배포 프로세스 (Big Bang 방식)
다음은 코드 변경에서 배포까지의 흐름입니다:
개발자 → GitHub → 빌드 → 클라우드 엔지니어 수동 배포 → GCP 서버에 일괄 적용
프로세스 상세:
-
개발자가 프론트엔드/백엔드 코드를 GitHub에 Push
-
Cloud Engineer가 코드를 Pull, 수동으로 Build (React build, JAR 등)
-
모든 구성요소를 한 번에 배포
- FE 정적 파일 → GCP VM (Nginx)
- BE → Spring Boot JAR 실행
- AI → Python FastAPI 서버 실행
-
사용자는 AWS Route53을 통해
dev.onthe-top.com
으로 접근
3️⃣ Big Bang 배포란?
Big Bang 배포는 모든 코드 변경사항을 한 번에 배포하고, 전체 시스템을 한 번에 교체하는 방식입니다. 이 방식은 다음과 같은 특징을 가집니다.
특징 | 설명 |
---|---|
💣 원자적 배포 | 한 번의 배포로 모든 기능 적용 |
❗ 롤백 어려움 | 문제 발생 시 전체 시스템에 영향 |
🤹 수동 운영 | 엔지니어가 수동으로 빌드/배포 |
📋 단순 구조 | CI/CD 도구 없이도 운영 가능 |
장점
- 구조가 단순하고 빠르게 시작 가능
- 초기 소규모 프로젝트에 적합
- 엔지니어가 전 과정을 제어할 수 있어 디버깅에 용이
한계
- 배포 실패 시 전체 서비스 중단 위험
- 서비스 무중단 배포 불가
- CI/CD 자동화 부재로 배포마다 엔지니어 리소스 필요
- 스케일 아웃/이중화 구성 어려움
- 모놀리식 구조에서 서비스 분리 어려움
향후 개선 방향
현재 아키텍처는 "CI" 및 "CD" 단계로 전환되기 위한 출발점입니다. 다음과 같은 개선이 가능하며, 이는 2~4단계로 이어집니다:
개선 항목 | 설명 |
---|---|
CI 도입 | GitHub Actions 또는 Jenkins를 통해 Build 자동화 |
CD 도입 | 배포 자동화 (예: scp, S3 업로드, SSH 배포 스크립트) |
Docker화 | 컨테이너로 분리해 관리 편의성 향상 |
Blue-Green / Rolling 배포 | 서비스 무중단 배포 가능 |
EKS 전환 | 확장성과 가용성 극대화 |
요약
- 이 구조는 Big Bang 배포 기반의 초기 모놀리식 서비스 배포 구조입니다.
- 전체 서버를 한 번에 업데이트하며, 수동 프로세스와 단일 서버 운영이 특징입니다.
- **향후 Docker, CI/CD, Kubernetes(EKS)**로의 단계적 전환이 예정되어 있으며, 그 전환을 위한 **명확한 기준선(Starting Point)**이 됩니다.