kt-event-marketing/design/backend/physical/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

14 KiB

KT 소상공인 이벤트 자동 생성 서비스 - 물리 아키텍처 설계서 (마스터 인덱스)

1. 개요

1.1 설계 목적

  • KT 소상공인 이벤트 자동 생성 서비스의 Azure Cloud 기반 물리 아키텍처 설계
  • 개발환경과 운영환경의 체계적인 아키텍처 분리 및 관리
  • 환경별 특화 구성과 단계적 확장 전략 제시
  • 7개 마이크로서비스의 효율적인 배포 및 운영 아키텍처 구성

1.2 아키텍처 분리 원칙

  • 환경별 특화: 개발환경과 운영환경의 목적에 맞는 최적화
  • 단계적 발전: 개발→운영 단계적 아키텍처 진화
  • 비용 효율성: 환경별 비용 최적화 전략
  • 운영 단순성: 환경별 복잡도 적정 수준 유지
  • 확장성 고려: 향후 확장 가능한 구조 설계

1.3 문서 구조

physical-architecture.md (마스터 인덱스)
├── physical-architecture-dev.md (개발환경)
├── physical-architecture-prod.md (운영환경)
├── physical-architecture-dev.mmd (개발환경 다이어그램)
├── physical-architecture-prod.mmd (운영환경 다이어그램)
├── network-dev.mmd (개발환경 네트워크 다이어그램)
└── network-prod.mmd (운영환경 네트워크 다이어그램)

1.4 참조 아키텍처

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

2. 환경별 아키텍처 개요

2.1 환경별 특성 비교

구분 개발환경 운영환경
목적 MVP 개발/검증/테스트 실제 서비스 운영
가용성 95% (09:00-18:00) 99.9% (24/7)
사용자 개발팀(10명) 실사용자(1만~10만)
확장성 고정 리소스 Auto Scaling (2x~10x)
보안 기본 수준 엔터프라이즈급
비용 최소화($200/월) 최적화($3,500/월)
복잡도 단순화 고도화
배포 수동/반자동 완전 자동화
모니터링 기본 메트릭 종합 관측성

2.2 환경별 세부 문서

2.2.1 개발환경 아키텍처

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

주요 특징:

  • 비용 최적화: Basic SKU 리소스 활용으로 월 $200 이하
  • 개발 편의성: 복잡한 설정 최소화, 빠른 배포 (5분 이내)
  • 단순한 보안: 기본 Network Policy, JWT 검증
  • Pod 기반 백킹서비스: PostgreSQL, Redis Pod으로 외부 의존성 제거

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

  • NGINX Ingress → AKS Basic → Pod Services 구조
  • 7개 애플리케이션 Pod + PostgreSQL Pod + Redis Pod 배치
  • Single Zone 배포로 비용 최적화

📊 개발환경 네트워크 다이어그램

  • VNet 단일 서브넷 구성 (10.0.0.0/16)
  • External LoadBalancer를 통한 외부 접근
  • Internal ClusterIP 서비스 간 통신

2.2.2 운영환경 아키텍처

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

주요 특징:

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

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

  • Azure Front Door → App Gateway + WAF → AKS Premium 구조
  • Multi-Zone Apps + Azure PostgreSQL Flexible + Azure Redis Premium 배치
  • Reserved Instance로 30% 비용 절약

📊 운영환경 네트워크 다이어그램

  • Multi-Subnet VNet 구성 (App/DB/Cache/Gateway 서브넷 분리)
  • Private Endpoint를 통한 보안 통신
  • WAF + Rate Limiting으로 보안 강화

2.3 핵심 아키텍처 결정사항

2.3.1 공통 아키텍처 원칙

  • 서비스 메시 제거: Istio 대신 Kubernetes Network Policies 사용으로 복잡도 감소
  • 선택적 비동기: AI 일정 생성 등 장시간 작업만 비동기, 나머지는 동기 통신
  • 캐시 우선: Redis 캐시를 통한 성능 최적화 및 서비스 간 의존성 최소화
  • Managed Identity: 키 없는 인증으로 보안 강화
  • 다층 보안: L1(Network) → L2(Gateway) → L3(Identity) → L4(Data)

2.3.2 환경별 차별화 전략

개발환경 최적화:

  • 개발 속도와 비용 효율성 우선
  • Pod 기반 백킹서비스로 Azure 관리형 서비스 비용 절약
  • 단순한 구성으로 운영 부담 최소화
  • 기능 검증 중심의 최소 보안 설정

운영환경 최적화:

  • 가용성과 확장성 우선 (99.9% SLA 달성)
  • Azure 관리형 서비스로 운영 안정성 확보
  • 엔터프라이즈급 보안 및 종합 모니터링
  • 실사용자 대응 성능 최적화

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

3.1 환경별 네트워크 전략

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

구성 요소 개발환경 운영환경 비교
인그레스 NGINX Ingress Azure App Gateway + WAF 비용 vs 보안
네트워크 Single VNet + 단일 서브넷 Multi-Subnet VNet 단순성 vs 격리
보안 Basic Network Policy WAF + Rate Limiting 기본 vs 고급
접근 Public LoadBalancer Private Endpoint 편의성 vs 보안
DNS ClusterIP 서비스 Azure Private DNS 내부 vs 통합
트래픽 HTTP/HTTPS HTTPS + TLS 1.3 기본 vs 강화

3.2 네트워크 보안 전략

3.2.1 공통 보안 원칙

  • Network Policies: Pod 간 통신 제어 및 마이크로서비스 간 격리
  • Managed Identity: Azure AD 통합 인증으로 키 관리 부담 제거
  • Private Endpoints: 운영환경에서 Azure 서비스 간 프라이빗 통신
  • TLS 암호화: 모든 서비스 간 통신에 TLS 1.2 이상 적용

3.2.2 환경별 보안 수준

보안 영역 개발환경 운영환경 강화 수준
Network Policy 기본 Pod 격리 세밀한 서비스별 제어 5배 강화
시크릿 관리 Kubernetes Secret Azure Key Vault 10배 강화
암호화 TLS 1.2 TLS 1.3 + Perfect Forward Secrecy 2배 강화
웹 보안 없음 WAF + DDoS Protection 신규 도입

4. 데이터 아키텍처 비교

4.1 환경별 데이터 전략

4.1.1 환경별 데이터 구성 비교

구분 개발환경 운영환경 성능 차이
주 데이터베이스 PostgreSQL 13 Pod Azure Database for PostgreSQL Flexible 3배 성능 향상
가용성 Single Pod Multi-Zone HA + 읽기 복제본 99.9% vs 95%
백업 수동 스냅샷 자동 백업 (35일 보존) 자동화
확장성 고정 리소스 자동 스케일링 10배 확장
비용 $20/월 $400/월 20배 차이

4.2 캐시 전략 비교

4.2.1 다층 캐시 아키텍처

캐시 레벨 용도 개발환경 운영환경
L1 Application 메모리 캐시 In-Memory (1GB) In-Memory (4GB)
L2 Distributed 분산 캐시 Redis Pod Azure Cache for Redis Premium
성능 응답 시간 100ms 50ms
가용성 캐시 SLA 95% 99.9%

4.2.2 환경별 캐시 특성 비교

특성 개발환경 운영환경 개선 효과
캐시 구성 단일 Redis Pod Redis Cluster (Multi-Zone) 고가용성
데이터 지속성 임시 저장 영구 저장 + 백업 데이터 안정성
성능 특성 기본 Premium with RDB persistence 2배 성능 향상
메모리 1GB 6GB (P2 SKU) 6배 확장

5. 보안 아키텍처 비교

5.1 다층 보안 아키텍처

5.1.1 공통 보안 계층

보안 계층 보안 기술 적용 범위 보안 목적
L1 Network Network Policies, NSG Pod/서브넷 간 통신 네트워크 격리
L2 Gateway WAF, Rate Limiting 외부 → 내부 트래픽 애플리케이션 보호
L3 Identity Azure AD, Managed Identity 서비스 인증/인가 ID 기반 보안
L4 Data TDE, 저장소 암호화 데이터 저장/전송 데이터 보호

5.2 환경별 보안 수준

5.2.1 환경별 보안 수준 비교

보안 영역 개발환경 운영환경 강화 방안
인증 JWT 기본 검증 Azure AD B2C + MFA 다단계 인증
네트워크 Basic Network Policy Micro-segmentation 세분화된 제어
시크릿 K8s Secret Azure Key Vault + HSM 하드웨어 보안
암호화 TLS 1.2 TLS 1.3 + E2E 암호화 종단간 암호화

6. 모니터링 및 운영

6.1 환경별 모니터링 전략

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

모니터링 영역 개발환경 운영환경 커버리지
모니터링 도구 Kubernetes Dashboard Azure Monitor + Application Insights 기본 vs 종합
메트릭 CPU, Memory CPU, Memory, 비즈니스 메트릭 10배 확장
알림 없음 심각도별 알림 (5분 이내) 신규 도입
로그 수집 kubectl logs 중앙집중식 Log Analytics 통합 관리
APM 없음 Application Insights 성능 추적

6.2 CI/CD 및 배포 전략

6.2.1 환경별 배포 방식 비교

배포 측면 개발환경 운영환경 자동화 수준
배포 방식 kubectl apply GitOps (ArgoCD) 수동 vs 자동
자동화 부분 자동화 완전 자동화 5배 향상
테스트 단위 테스트 단위+통합+E2E 테스트 3배 확장
다운타임 허용 (30초) Zero-downtime 배포 99.9% 개선
롤백 수동 자동 롤백 (2분 이내) 완전 자동화

7. 비용 분석

7.1 환경별 비용 구조

7.1.1 월간 비용 비교

구성 요소 개발환경 운영환경 비용 차이
AKS 클러스터 $30 (Basic) $400 (Standard) 13배
컴퓨팅 리소스 $50 (B2s) $800 (D4s_v3) 16배
데이터베이스 $20 (Pod) $600 (Flexible) 30배
캐시 $0 (Pod) $300 (Premium P2) 신규 비용
네트워킹 $10 $150 (App Gateway) 15배
스토리지 $20 $100 5배
모니터링 $0 $150 신규 비용
보안 $0 $100 (Key Vault) 신규 비용
예비비(10%) $13 $260 -
총 월간 비용 $143 $2,860 20배

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

최적화 영역 개발환경 운영환경 절약 효과
컴퓨팅 Spot Instance 활용 Reserved Instance 1년 30% 절약
백킹서비스 Pod 기반으로 무료 관리형 서비스 필요 운영비 vs 인건비
리소스 관리 고정 리소스 Auto Scaling 50% 활용률 개선

8. 전환 및 확장 계획

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

카테고리 전환 작업 예상 시간 담당자
데이터 마이그레이션 PostgreSQL Pod → Azure Database 4시간 Backend Dev
설정 변경 ConfigMap → Azure Key Vault 2시간 DevOps
네트워크 구성 NGINX → App Gateway + WAF 6시간 DevOps
모니터링 설정 Azure Monitor + Application Insights 4시간 DevOps
보안 강화 Private Endpoint + RBAC 4시간 Security
성능 테스트 부하 테스트 및 튜닝 8시간 QA + DevOps
문서화 운영 가이드 작성 4시간 Technical Writer

8.2 단계별 확장 로드맵

단계 기간 핵심 목표 주요 작업 사용자 지원 가용성
Phase 1 1-3개월 MVP 검증 개발환경 구축, 기능 개발 100명 95%
Phase 2 4-6개월 베타 런칭 운영환경 전환, 보안 강화 1,000명 99%
Phase 3 7-12개월 상용 서비스 자동 스케일링, 성능 최적화 10,000명 99.9%

9. 핵심 SLA 지표

9.1 환경별 서비스 수준 목표

SLA 지표 개발환경 운영환경 개선 비율
가용성 95% (09:00-18:00) 99.9% (24/7) 50배 개선
응답시간 <1초 (50%ile) <500ms (95%ile) 2배 개선
배포시간 10분 5분 (Zero-downtime) 2배 개선
복구시간 30분 5분 (자동 복구) 6배 개선
동시사용자 100명 10,000명 100배 확장
월간비용 $143 $2,860 -

결론

본 마스터 인덱스는 KT 소상공인 이벤트 자동 생성 서비스의 Azure 기반 물리 아키텍처를 환경별로 체계적으로 정리한 문서입니다.

핵심 성과:

  • 비용 효율성: 개발환경 월 $143로 초기 비용 최소화
  • 확장성: 운영환경에서 100배 사용자 확장 지원
  • 안정성: 99.9% SLA 달성을 위한 고가용성 아키텍처
  • 보안: 다층 보안으로 엔터프라이즈급 보안 수준 확보

향후 계획:

  1. Phase 1에서 개발환경 기반 MVP 검증
  2. Phase 2에서 운영환경 전환 및 베타 서비스
  3. Phase 3에서 상용 서비스 및 성능 최적화

이를 통해 안정적이고 확장 가능한 AI 기반 이벤트 생성 서비스를 제공할 수 있습니다.