개요 읽기 10분
한밭푸드 시나리오 브리핑¶
"오늘부터 여러분은 한밭푸드 인프라팀 소속입니다. 이 회사가 처한 상황과 여러분의 임무를 파악하세요."
회사 프로필¶
| 항목 | 내용 |
|---|---|
| 회사명 | 한밭푸드 주식회사 |
| 본사 | 대전광역시 유성구 |
| 설립 | 2011년 |
| 직원 수 | 120명 |
| 사업 | 대전·충청권 식자재 유통 및 온라인 주문 플랫폼 |
| 연매출 | 약 200억 원 |
| IT 직원 | 개발팀 5명, 인프라팀 3명 |
인프라팀 구성¶
| 이름 | 직책 | 경력 | 배경 |
|---|---|---|---|
| 김팀장 | 인프라팀장 | 10년 | 온프레미스 서버 관리 전문. 클라우드 경험 거의 없음 |
| 이대리 | 시스템 엔지니어 | 4년 | Docker 실무 경험 있음. K8s는 기초 수준 |
| 박주임 ⭐ | 신입 | 1년 | Docker 공부 중. Azure는 이번이 처음 |
실습에서 여러분의 역할
여러분은 박주임의 역할을 맡습니다. 처음엔 모르는 게 당연합니다. 가이드를 따라가다 보면 자연스럽게 익혀집니다.
현재 상황¶
기술 스택 전환 현황¶
한밭푸드는 2021년부터 PHP 모놀리식 시스템을 마이크로서비스로 전환 중입니다.
| PHP 모놀리식 (레거시) | Python 마이크로서비스 (전환 중) |
|---|---|
| 회원 관리 | 주문 조회 API ← 이번 실습 대상 |
| 결제 | 재고 API (향후) |
| 주문 | 배송 API (향후) |
| 상품 관리 | — |
주문 조회 시스템 현황¶
이번 실습 대상인 주문 조회 시스템은 사내 Ubuntu VM에서 Docker Compose로 운영 중입니다.
| 컨테이너 | 기술 | 외부 포트 | 역할 |
|---|---|---|---|
| web | nginx (정적 HTML/JS) | 8000 | 고객이 접속하는 화면 |
| api | Python (FastAPI) | 8080 | 주문 조회 데이터 제공 |
문제 상황¶
CS팀에서 올라온 컴플레인 Top 3¶
🔥 문제 1: 배포할 때마다 서비스 다운
새 버전 배포 시 평균 2~3분 서비스 중단. 점심·저녁 피크 시간에 배포하면 CS팀에 전화 폭주. 🔥 문제 2: 점심 피크 때 API 응답 느려짐
12시~13시 주문 조회 트래픽이 3배 급증. VM 1대로는 버티기 힘들고, 수동으로 서버를 늘리는 것도 한계. 🔥 문제 3: 점진적 배포 불가
"v2에 버그가 있을 것 같아서 20%만 먼저 배포하고 싶은데" → docker-compose만으로는 불가능. 이번 프로젝트¶
목표: 주문 조회 시스템을 Azure Container Apps(ACA)로 이관
성공 기준¶
| 기준 | 목표값 |
|---|---|
| 배포 중단 시간 | 0초 (무중단 배포) |
| 스케일 아웃 | 트래픽 증가 시 자동 (수동 작업 없음) |
| 점진적 배포 | 트래픽 비율 조절 가능 (예: 80:20) |
| 월 비용 | 50만 원 이내 |
| 이관 완료 기한 | 이번 달 말 |
이관 범위¶
| 구분 | 대상 |
|---|---|
| ✅ 이관 대상 | 주문 조회 Web, 주문 조회 API |
| ❌ 이관 제외 | PHP 모놀리식 (별도 프로젝트), 결제 시스템 (추후 검토) |