100,000명 이상
- 컨테이너 기반 서비스 고려해야할 때
- DB 고성능화 (읽기 성능 향상을 위해 캐쉬사용)
- Amazon ElsastiCache 사용
컨테이너
- 코드, 의존성, 런타임을 묶어서 만든 하나의 Immutable 단일 객체이다.
- 마이크로 아키텍처 구현에 있어 필수적인 플랫폼이다.
특징
컨테이너 관리
호스팅
이미지 저장소
1,000,000명 이상
- 목적에 맞는 DB 분리
- 샤딩을 통한 데이터셋 분리
- 재해복구 및 멀티리전 서비스
- IaC 사용으로 편리한 복구작업
- DB 교차 리전 복제
DB 샤딩
- DB 트래픽을 분산할 목적으로 사용하는 방법
- 하나의 DB에 데이터가 늘어나면 용량 이슈도 생기고, 느려지는 CRUD는 자연스레 서비스 성능에 영향을 주게 된다.
AWS DB Service
리전 복제
- S3 교차 리전 복제
- RDS snapshot 교차 리전 복사
멀티리전 DR 아키텍처
- 평소 1번으로 서비스 구축
- 장애 발생시 리전 2번에서 CDK를 통해 빠른 리소스 복구
- S3, DB snapshot 통해 서비스 복구
10,000,000명 이상
- 다중 리전별 서비스 활성화
- DB의 글로벌 서비스
Aurora 글로벌 DB
DynamoDB
- 각 리전별 읽기 쓰기 가능
- 짧은 시간안에 데이터 동기화
ElsastiCache
최종 아키택처
Summary
정리
이번 영상을 통해 서비스 사용자별 아키택처에 대해 알 수 있었다. 비록 가이드라인이지만 내가 서비스를 구축할 때 중요하게 고려해야될 부분들을 알 수 있었다.
모니터링, 로깅 아주 중요하다고 한다.
서비스 운영 측면, 사용자 행동 데이터 수집을 통해 더 좋은 서비스를 제공할 수 있기 때문이다.
참고문서
천만 사용자를 위한 AWS 클라우드 아키텍처 진화하기 - 이일구, AWS | AWS Builders 온라인 시리즈