kt-event-marketing/claude/sample-physical-architecture.md
jhbkjh 3075a5d49f 물리아키텍처 설계 완료
 주요 기능
- Azure 기반 물리아키텍처 설계 (개발환경/운영환경)
- 7개 마이크로서비스 물리 구조 설계
- 네트워크 아키텍처 다이어그램 작성 (Mermaid)
- 환경별 비교 분석 및 마스터 인덱스 문서

📁 생성 파일
- design/backend/physical/physical-architecture.md (마스터)
- design/backend/physical/physical-architecture-dev.md (개발환경)
- design/backend/physical/physical-architecture-prod.md (운영환경)
- design/backend/physical/*.mmd (4개 Mermaid 다이어그램)

🎯 핵심 성과
- 비용 최적화: 개발환경 월 $143, 운영환경 월 $2,860
- 확장성: 개발환경 100명 → 운영환경 10,000명 (100배)
- 가용성: 개발환경 95% → 운영환경 99.9%
- 보안: 다층 보안 아키텍처 (L1~L4)

🛠️ 기술 스택
- Azure Kubernetes Service (AKS)
- Azure Database for PostgreSQL Flexible
- Azure Cache for Redis Premium
- Azure Service Bus Premium
- Application Gateway + WAF

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 15:13:01 +09:00

13 KiB

물리 아키텍처 설계서 - 마스터 인덱스

1. 개요

1.1 설계 목적

  • AI 기반 여행 일정 생성 서비스의 Azure Cloud 기반 물리 아키텍처 설계
  • 개발환경과 운영환경의 체계적인 아키텍처 분리 및 관리
  • 환경별 특화 구성과 단계적 확장 전략 제시

1.2 아키텍처 분리 원칙

  • 환경별 특화: 개발환경과 운영환경의 목적에 맞는 최적화
  • 단계적 발전: 개발→운영 단계적 아키텍처 진화
  • 비용 효율성: 환경별 비용 최적화 전략
  • 운영 단순성: 환경별 복잡도 적정 수준 유지

1.3 문서 구조

physical-architecture.md (마스터 인덱스)
├── physical-architecture-dev.md (개발환경)
└── physical-architecture-prod.md (운영환경)

1.4 참조 아키텍처

  • HighLevel아키텍처정의서: design/high-level-architecture.md
  • 논리아키텍처: design/backend/logical/logical-architecture.md
  • 아키텍처패턴: design/pattern/아키텍처패턴.md
  • API설계서: design/backend/api/*.yaml

2. 환경별 아키텍처 개요

2.1 환경별 특성 비교

구분 개발환경 운영환경
목적 MVP 개발/검증 실제 서비스 운영
가용성 95% 99.9%
사용자 개발팀(5명) 실사용자(1만~10만)
확장성 고정 리소스 자동 스케일링
보안 기본 수준 엔터프라이즈급
비용 최소화($150/월) 최적화($2,650/월)
복잡도 단순 고도화

2.2 환경별 세부 문서

2.2.1 개발환경 아키텍처

📄 물리 아키텍처 설계서 - 개발환경

주요 특징:

  • 비용 최적화: Spot Instance, 로컬 스토리지 활용
  • 개발 편의성: 복잡한 설정 최소화, 빠른 배포
  • 단순한 보안: 기본 Network Policy, JWT 검증
  • Pod 기반 백킹서비스: PostgreSQL, Redis Pod 배포

핵심 구성: 📄 개발환경 물리 아키텍처 다이어그램

  • NGINX Ingress → AKS Basic → Pod Services 구조
  • Application Pods, PostgreSQL Pod, Redis Pod 배치

2.2.2 운영환경 아키텍처

📄 물리 아키텍처 설계서 - 운영환경

주요 특징:

  • 고가용성: Multi-Zone 배포, 자동 장애조치
  • 확장성: HPA 기반 자동 스케일링 (10배 확장)
  • 엔터프라이즈 보안: 다층 보안, Private Endpoint
  • 관리형 서비스: Azure Database, Cache for Redis

핵심 구성: 📄 운영환경 물리 아키텍처 다이어그램

  • Azure Front Door → App Gateway + WAF → AKS Premium 구조
  • Multi-Zone Apps, Azure PostgreSQL, Azure Redis Premium 배치

2.3 핵심 아키텍처 결정사항

2.3.1 공통 아키텍처 원칙

  • 서비스 메시 제거: Istio 대신 Kubernetes Network Policies 사용
  • 비동기 통신 중심: 직접적인 서비스 간 호출 최소화
  • Managed Identity: 키 없는 인증으로 보안 강화
  • 다층 보안: L1(Network) → L2(Gateway) → L3(Identity) → L4(Data)

2.3.2 환경별 차별화 전략

개발환경 최적화:

  • 개발 속도와 비용 효율성 우선
  • 단순한 구성으로 운영 부담 최소화
  • Pod 기반 백킹서비스로 의존성 제거

운영환경 최적화:

  • 가용성과 확장성 우선
  • 관리형 서비스로 운영 안정성 확보
  • 엔터프라이즈급 보안 및 모니터링

3. 네트워크 아키텍처 비교

3.1 환경별 네트워크 전략

3.1.1 환경별 네트워크 전략 비교

구성 요소 개발환경 운영환경 비교
인그레스 NGINX Ingress Controller Azure Application Gateway + WAF 운영환경에서 WAF 보안 강화
네트워크 단일 서브넷 구성 다중 서브넷 (Application/Database/Cache) 운영환경에서 계층적 분리
보안 기본 Network Policy Private Endpoint, NSG 강화 운영환경에서 엔터프라이즈급 보안
접근 인터넷 직접 접근 허용 Private Link 기반 보안 접근 운영환경에서 보안 접근 제한

3.2 네트워크 보안 전략

3.2.1 공통 보안 원칙

  • Network Policies: Pod 간 통신 제어
  • Managed Identity: 키 없는 인증
  • Private Endpoints: Azure 서비스 보안 접근
  • TLS 암호화: 모든 외부 통신

3.2.2 환경별 보안 수준

보안 요소 개발환경 운영환경 보안 수준
Network Policy 기본 (개발 편의성 고려) 엄격한 적용 운영환경에서 강화
시크릿 관리 Kubernetes Secrets Azure Key Vault 운영환경에서 HSM 보안
암호화 HTTPS 인그레스 레벨 End-to-End TLS 1.3 운영환경에서 완전 암호화
웹 보안 - WAF + DDoS 보호 운영환경 전용

4. 데이터 아키텍처 비교

4.1 환경별 데이터 전략

4.1.1 환경별 데이터 구성 비교

데이터 서비스 개발환경 운영환경 가용성 비용
PostgreSQL Kubernetes Pod (hostPath) Azure Database Flexible Server 95% vs 99.9% 무료 vs $450/월
Redis Memory Only Pod Azure Cache Premium (Cluster) 단일 vs 클러스터 무료 vs $250/월
백업 수동 (주 1회) 자동 (35일 보존) 로컬 vs 지역간 복제 -
데이터 지속성 재시작 시 손실 가능 Zone Redundant - -

4.2 캐시 전략 비교

4.2.1 다층 캐시 아키텍처

캐시 계층 캐시 타입 TTL 개발환경 설정 운영환경 설정 용도
L1_Application Caffeine Cache 5분 max_entries: 1000 max_entries: 2000 애플리케이션 레벨 로컬 캐시
L2_Distributed Redis 30분 cluster_mode: false cluster_mode: true 분산 캐시, eviction_policy: allkeys-lru

4.2.2 환경별 캐시 특성 비교

캐시 특성 개발환경 운영환경 비고
Redis 구성 단일 Pod Premium 클러스터 운영환경에서 고가용성
데이터 지속성 메모리 전용 지속성 백업 운영환경에서 데이터 보장
성능 기본 성능 최적화된 성능 운영환경에서 향상된 처리 능력

5. 보안 아키텍처 비교

5.1 다층 보안 아키텍처

5.1.1 공통 보안 계층

보안 계층 보안 기술 적용 범위 보안 목적
L1_Network Kubernetes Network Policies Pod-to-Pod 통신 제어 내부 네트워크 마이크로 세그먼테이션
L2_Gateway API Gateway JWT 검증 외부 요청 인증/인가 API 레벨 인증 및 인가 제어
L3_Identity Azure Managed Identity Azure 서비스 접근 클라우드 리소스 안전한 접근
L4_Data Private Link + Key Vault 데이터 암호화 및 비밀 관리 엔드투엔드 데이터 보호

5.2 환경별 보안 수준

5.2.1 환경별 보안 수준 비교

보안 영역 개발환경 운영환경 보안 강화
인증 JWT (고정 시크릿) Azure AD + Managed Identity 운영환경에서 엔터프라이즈 인증
네트워크 기본 Network Policy 엄격한 Network Policy + Private Endpoint 운영환경에서 네트워크 격리 강화
시크릿 Kubernetes Secrets Azure Key Vault (HSM) 운영환경에서 하드웨어 보안 모듈
암호화 HTTPS (인그레스 레벨) End-to-End TLS 1.3 운영환경에서 전 구간 암호화

6. 모니터링 및 운영

6.1 환경별 모니터링 전략

6.1.1 환경별 모니터링 도구 비교

모니터링 요소 개발환경 운영환경 기능 차이
도구 Kubernetes Dashboard, kubectl logs Azure Monitor, Application Insights 운영환경에서 전문 APM 도구
메트릭 기본 Pod/Node 메트릭 포괄적 APM, 비즈니스 메트릭 운영환경에서 비즈니스 인사이트
알림 기본 알림 (Pod 재시작) 다단계 알림 (PagerDuty, Teams) 운영환경에서 전문 알림 체계
로그 로컬 파일시스템 (7일) Log Analytics (90일) 운영환경에서 장기 보존

6.2 CI/CD 및 배포 전략

6.2.1 환별별 배포 방식

6.2.1 환경별 배포 방식 비교

배포 요소 개발환경 운영환경 안정성 차이
배포 방식 Rolling Update Blue-Green Deployment 운영환경에서 무중단 배포
자동화 develop 브랜치 자동 tag 생성 + 수동 승인 운영환경에서 더 신중한 배포
테스트 기본 헬스체크 종합 품질 게이트 (80% 커버리지) 운영환경에서 더 엄격한 테스트
다운타임 허용 (1-2분) Zero Downtime 운영환경에서 서비스 연속성 보장

7. 비용 분석

7.1 환경별 비용 구조

7.1.1 월간 비용 비교 (USD)

구성요소 개발환경 운영환경 차이
컴퓨팅
AKS 노드 $120 (Spot) $1,200 (Reserved) 10배
데이터
PostgreSQL $0 (Pod) $450 (Managed) 무제한
Redis $0 (Pod) $250 (Premium) 무제한
네트워킹
Load Balancer $20 $150 7.5배
기타
Service Bus $10 $150 15배
모니터링 $0 $100 무제한
총합 $150 $2,650 17.7배

7.1.2 비용 최적화 전략

7.1.2 환경별 비용 최적화 전략 비교

최적화 영역 개발환경 운영환경 절약 효과
컴퓨팅 비용 Spot Instances 사용 Reserved Instances 70% vs 30% 절약
백킹서비스 Pod 기반 (무료) 관리형 서비스 100% 절약 vs 안정성
리소스 관리 비업무시간 자동 종료 자동 스케일링 시간 절약 vs 효율성
사이징 전략 고정 리소스 성능 기반 적정 sizing 단순 vs 최적화

8. 전환 및 확장 계획

8.1 개발환경 → 운영환경 전환 체크리스트

카테고리 체크 항목 상태 우선순위 비고
데이터 마이그레이션 개발 데이터 백업 높음 pg_dump 사용
데이터 마이그레이션 스키마 마이그레이션 스크립트 높음 Flyway/Liquibase 고려
데이터 마이그레이션 Azure Database 프로비저닝 높음 Flexible Server 구성
설정 변경 환경 변수 분리 높음 ConfigMap/Secret 분리
설정 변경 Azure Key Vault 설정 높음 HSM 보안 모듈
설정 변경 Managed Identity 구성 높음 키 없는 인증
모니터링 Azure Monitor 설정 중간 Log Analytics 연동
모니터링 알림 정책 수립 중간 PagerDuty/Teams 연동
모니터링 대시보드 구축 낮음 Application Insights

8.2 단계별 확장 로드맵

단계 기간 핵심 목표 주요 작업 사용자 지원 가용성
Phase 1 현재-6개월 안정화 개발환경 → 운영환경 전환
기본 모니터링 및 알림 구축
1만 사용자 99.9%
Phase 2 6-12개월 최적화 성능 최적화 및 비용 효율화
고급 모니터링 (APM) 도입
10만 동시 사용자 99.9%
Phase 3 12-18개월 글로벌 확장 다중 리전 배포
글로벌 CDN 및 로드 밸런싱
100만 사용자 99.95%

9. 핵심 SLA 지표

9.1 환경별 서비스 수준 목표

SLA 항목 개발환경 운영환경 글로벌환경 (Phase 3)
가용성 95% 99.9% 99.95%
응답시간 < 10초 < 5초 < 2초
배포시간 30분 10분 5분
복구시간 수동 복구 < 5분 < 2분
동시사용자 개발팀 (5명) 10만명 100만명
월간비용 $150 $2,650 $15,000+
보안인시던트 모니터링 없음 0건 목표 0건 목표