Skip to Content
프로젝트원큐오더설계인프라 환경 구성

인프라 환경 구성

원큐오더 프로젝트의 인프라 환경을 어떻게 구축했는지, 그리고 왜 그런 결정을 내렸는지 공유합니다.

1. 클라우드 플랫폼 선택: GCP를 선택한 이유

1-1. Free Tier 비교 분석

개발 환경 구축 시 가장 먼저 고려한 것은 비용이었습니다. 교육생 신분으로 프로젝트를 진행하면서 어떻게 하면 무료로, 또는 최소한의 비용으로 실제 서비스와 유사한 환경을 구축할 수 있을지 고민했습니다.

각 클라우드 서비스의 Free Tier를 꼼꼼히 비교해본 결과는 다음과 같습니다:

클라우드무료 제공 내역비고
AWS• t2.micro (1 vCPU, 1GB RAM) 750시간/월 × 12개월
• EC2, RDS 각각 750시간씩 제공
Azure• B1S (1 vCPU, 1GB RAM) 750시간/월 × 12개월
• $200 크레딧 (30일)
• Windows/Linux 각각 750시간
GCP• e2-micro (2 vCPU, 1GB RAM) 720시간/월 영구 무료
• $300 크레딧 (90일)
• e2-micro는 특정 US 리전만 무료
• 크레딧은 모든 리전 사용 가능
Oracle• AMD 기반 컴퓨트 VM (1/8 OCPU, 1GB) × 2개 영구 무료
• $300 크레딧 (30일)
• Home 리전만 가능
• Idle 시 회수 가능
NCP• 마이크로 서버 1년간 무료
• 10만원 크레딧 (3개월 유효)
• 한국 거주자만
• Public IP 별도 과금
Kakao Cloud• 무료 체험 없음
• 크레딧 제공 없음
• 사업자 등록 필요

1-2. GCP 선택 결정 요인

원큐오더 프로젝트는 실제 결제 시스템을 구현하기 위해 총 10개의 서비스가 필요했습니다. 주문, PG, 카드, 앱카드, 은행 서버 등 5개의 백엔드 서비스와 사용자, 가맹점, PG 관리자를 위한 3개의 프론트엔드 서비스, 그리고 MySQL과 SonarQube라는 2개의 인프라 서비스로 구성되었습니다.

빠른 개발 속도를 위해서는 서비스당 최소 4GB가 필요했고, 10개 서비스면 총 40GB였습니다. 이는 AWS나 Azure 무료 티어로는 불가능한 구성이었고, NCP의 10만원 크레딧도 3주면 소진될 금액이었습니다. 반면 GCP의 $300 크레딧은 프로젝트 기간 동안 운영할 수 있는 유일한 선택지였습니다.

2. 개발 환경

GCP의 서울 리전에 구축한 개발 환경은 빠른 피드백 루프를 최우선으로 설계했습니다. Self-hosted Runner를 통한 무료 CI/CD, 1분대 빌드를 목표로 리소스를 할당했습니다.

2-1. 인프라 구성도

2-2. CI/CD 파이프라인

개발 환경 CI/CD 파이프라인

2-3. GitHub Actions 워크플로우

3. 운영 환경

개발 환경에서 검증을 마친 후 지급받은 AWS 계정으로 마이그레이션한 운영 환경입니다. 고가용성과 확장성을 중점으로 노드를 구성하고, Prometheus + Grafana 기반 모니터링 체계를 구축했습니다.

3-1. 인프라 구성도

A. 아키텍처

운영 환경 아키텍처

B. 서비스 구성

운영 환경 서비스 구성

C. 모니터링 구성

운영 환경 모니터링 구성

3-2. CI/CD 파이프라인

운영 환경 CI/CD 파이프라인

3-3. GitHub Actions 워크플로우

Last updated on