kt-event-marketing/claude/cloud-design-patterns.md
sunmingLee 87c324f619 클라우드 아키텍처 패턴 선정서 작성 완료
- 7개 마이크로서비스별 요구사항 분석
- Top 10 패턴 정량적 평가 매트릭스 작성
- 5개 Mermaid 아키텍처 다이어그램 작성
- Phase별 구현 로드맵 (MVP/확장/고도화)
- 성능 개선 및 비용 절감 예상 지표 산출

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-21 11:06:39 +09:00

9.3 KiB

클라우드 디자인 패턴 개요

전체 분류 현황

42개의 클라우드 디자인 패턴

  • DB 성능개선: 1개
  • 읽기 최적화: 4개
  • 핵심업무 집중: 6개
  • 안정적 현대화: 2개
  • 효율적 분산처리: 13개
  • 안정성: 6개
  • 보안: 3개
  • 운영: 7개

패턴 목록

1. DB 성능개선 (1개)

No. 패턴명 목적 설명
1 Sharding 데이터 양 줄이기 데이터 저장소를 수평적으로 분할(shard)하여 대규모 데이터 저장 및 접근 시 확장성을 높이는 패턴

2. 읽기 최적화 (4개)

No. 패턴명 목적 설명
2 Index Table NoSQL DB Query 최적화 데이터 저장소에서 자주 참조되는 필드에 대한 인덱스를 생성하여 쿼리 성능을 개선하는 패턴
3 Cache-Aside 성능 향상 및 데이터 일관성 유지 데이터 저장소에서 캐시에 데이터를 필요에 따라 로드하여 성능을 개선하고, 캐시와 데이터 저장소 간의 일관성을 유지하는 패턴
4 Materialized View 쿼리 성능 최적화 데이터를 미리 변환하여 준비된 뷰를 생성함으로써 쿼리 성능을 높이고 데이터 추출을 효율화하는 패턴
5 CQRS 읽기/쓰기 분리 데이터 저장소의 읽기와 쓰기 작업을 분리하여 성능, 확장성, 보안성을 높이는 패턴

3. 핵심업무 집중 (6개)

No. 패턴명 목적 설명
6 Gateway Offloading 횡단관심사 분리 SSL 인증서 관리, 인증, 로깅 등의 공통 기능을 게이트웨이로 분리하여 애플리케이션의 복잡도를 낮추는 패턴
7 Gateway Routing 라우팅 중앙 처리 단일 엔드포인트를 통해 요청을 받아 백엔드 서비스나 인스턴스로 라우팅하는 패턴
8 Gateway Aggregation 클라이언트 요청 수 줄이기 단일 엔드포인트에서 클라이언트 요청을 받아 여러 백엔드 서비스로 분배하고 응답을 취합하는 패턴
9 Backends for Frontends 프론트엔드 유형별 전용처리 특정 프런트엔드에 특화된 백엔드 서비스를 별도로 구축하는 패턴
10 Sidecar 공통 기능 분리 애플리케이션의 일부 컴포넌트를 별도 프로세스나 컨테이너로 분리하여 격리와 확장성을 제공하는 패턴
11 Ambassador 네트워크 통신의 안정성과 보안 강화 클라이언트를 대신해 네트워크 요청을 처리하는 헬퍼 서비스를 생성하는 패턴

4. 안정적 현대화 (2개)

No. 패턴명 목적 설명
12 Strangler Fig 현대화의 위험 최소화와 점진적 전환 레거시 시스템을 점진적으로 새로운 애플리케이션 및 서비스로 교체하는 패턴
13 Anti-Corruption Layer 시스템 간 안정적 인터페이스 서로 다른 하위 시스템 간의 의미적 차이를 조정하기 위해 중간 계층을 구현하는 패턴

5. 효율적 분산처리 (13개)

No. 패턴명 목적 설명
14 Pipes and Filters 작업 단계 모듈화로 재사용성과 성능 향상 복잡한 작업을 독립적인 단계(필터)로 분리하고 메시지(파이프)로 연결하여 모듈성과 유연성을 높이는 패턴
15 Scheduler Agent Supervisor 워크플로우의 신뢰성 향상 작업 단계를 스케줄러, 에이전트, 감독자로 분리하여 신뢰성과 확장성을 높이는 패턴
16 Leader Election 분산 작업의 충돌 방지와 안정성 향상 분산 시스템에서 여러 작업 인스턴스 중 하나를 리더로 선출하여 조정 역할을 맡기는 패턴
17 Saga 데이터 일관성 보장 각 서비스의 로컬 트랜잭션을 사용하여 분산 트랜잭션의 일관성을 보장하는 패턴
18 Compensating Transaction 오류 복구로 데이터 일관성 보장 분산 트랜잭션에서 실패한 작업을 보상하기 위해 이전 작업을 취소하거나 상쇄하는 트랜잭션을 실행하는 패턴
19 Priority Queue 중요 작업의 우선 처리 보장 메시지의 우선순위에 따라 처리 순서를 조정하는 큐를 사용하는 패턴
20 Queue-Based Load Leveling 부하의 균등한 분산으로 안정성 확보 메시지 큐를 사용하여 작업과 서비스 간의 부하를 균등하게 분산시키는 패턴
21 Sequential Convoy 처리순서 보장 관련 메시지 집합을 순서대로 처리하되 다른 메시지 처리를 차단하지 않도록 하는 패턴
22 Claim Check 메시지 크기 최소화 및 성능과 보안 향상 메시지에서 페이로드를 분리하여 외부 저장소에 저장하고 참조키(클레임 체크)를 사용하는 패턴
23 Publisher-Subscriber 단일 이벤트 메시지의 복수 서비스 처리 보장 다수의 소비자(Consumer)에게 이벤트를 발행하는 패턴
24 Asynchronous Request-Reply 장시간 처리 작업의 응답시간 단축 프런트엔드(클라이언트)와 백엔드 간 비동기로 요청과 응답을 분리하여 응답 시간을 단축하는 패턴
25 Competing Consumers 병렬처리로 작업 처리 속도 향상 동일 메시지 채널에서 여러 소비자가 경쟁적으로 메시지를 처리하여 병렬성을 높이는 패턴
26 Choreography 중앙집중 처리의 병목현상 방지 중앙 조정자 없이 각 서비스가 자율적으로 이벤트를 구독하고 반응하여 전체 워크플로를 수행하는 패턴

6. 안정성 (6개)

No. 패턴명 목적 설명
27 Rate Limiting 요청 폭주 방지로 안정성 유지 일정 기간 동안 허용되는 요청 수를 제한하여 과부하를 방지하고 서비스 안정성을 높이는 패턴
28 Throttling 요청 폭주 방지로 안정성 유지 시스템의 부하 상태에 따라 요청 처리량을 동적으로 조절하여 과부하를 방지하는 패턴
29 Bulkhead 자원풀 격리로 장애 전파 방지 애플리케이션 요소를 격리된 풀로 분할하여 하나의 장애가 전체로 전파되는 것을 방지하는 패턴
30 Circuit Breaker 장애전파 방지 장애가 발생한 구성 요소를 빠르게 감지하고 요청 실패를 최소화하는 패턴
31 Retry 일시적 오류시 처리 보장 일시적인 오류에 대해 실패한 요청을 재시도하여 복원력을 높이는 패턴
32 Event Sourcing 데이터 멱등성 보장과 변경 기록 제공 데이터에 대한 모든 변경사항을 이벤트로 저장하고, 이벤트를 재생하여 데이터의 상태를 복원하는 패턴

7. 보안 (3개)

No. 패턴명 목적 설명
33 Federated Identity 사용자 인증 및 관리 효율화 인증을 외부 ID 제공자에 위임하여 사용자 관리를 간소화하고 SSO를 구현하는 패턴
34 Gatekeeper 데이터 접근 제어와 보안 강화 신뢰할 수 있는 호스트에 보안 관련 기능을 집중시켜 스토리지나 서비스의 보안을 강화하는 패턴
35 Valet Key 네트워크 대역폭 감소 클라이언트가 특정 리소스에 제한된 직접 접근을 할 수 있도록 토큰을 사용하는 패턴

8. 운영 (7개)

No. 패턴명 목적 설명
36 Geodes 글로벌 서비스 가용성과 성능 최적화 백엔드 서비스를 여러 지역에 분산 배치하여 지연 시간을 줄이고 가용성을 높이는 패턴
37 Deployment Stamps 멀티 테넌트 관리 리소스 그룹을 복제하여 작업이나 테넌트 단위로 격리된 운영 환경을 제공하는 패턴
38 Health Endpoint Monitoring 서비스 가용성 상태 점검 애플리케이션의 상태를 모니터링하기 위한 전용 API 엔드포인트를 노출하는 패턴
39 Compute Resource Consolidation 자원 사용 효율성과 비용 절감 여러 작업이나 운영을 단일 컴퓨팅 단위로 통합하여 효율성과 비용을 최적화하는 패턴
40 Static Content Hosting 정적 자원 제공, 비용절감과 성능 향상 정적 콘텐츠를 클라우드 스토리지에 배포하여 클라이언트에 직접 제공함으로써 컴퓨팅 인스턴스 사용을 줄이는 패턴
41 External Configuration Store 환경설정 중앙관리와 재배포 없이 설정 변경 적용 애플리케이션의 설정 정보를 중앙화하여 관리 효율성을 높이고 설정 값 변경 시 재배포 없이 적용하는 패턴
42 Edge Workload Configuration 엣지컴퓨팅의 효율적 관리 장치와 시스템이 혼재된 엣지 환경에서 워크로드 구성을 효율적으로 관리하여 지연 시간 단축과 네트워크 비용 절감을 하는 패턴

참고: 이 문서는 클라우드 환경에서 자주 사용되는 디자인 패턴들을 체계적으로 분류하여 정리한 것입니다. 각 패턴은 특정 목적과 상황에 맞게 적용될 수 있으며, 실제 구현 시에는 프로젝트의 요구사항과 제약사항을 충분히 고려해야 합니다.