# Scalability
Scalability, 즉 애플리케이션을 스케일링(=확장)한다는 건, 시스템이 더 큰 부하를 처리할 수 있도록 하는 과정이다.
클라우드의 확장성의 두 종류
- 수직 확장성
- 부품을 업그레이드 시키는 것. ex) 인스턴스의 크기 증가
- 데이터베이스와 같이 분산되지 않은 시스템에서 흔히 사용 -> DB의 성능을 높이기 위해 DB의 크기를 늘림
- 하드웨어의 한계로 인해 수직 확장에도 한계가 있다.
- 증가하면 Scale up
- 감소하면 Scale down
2. 수평 확장성
- 크기 대신 숫자를 늘리는 경우
- 수평 확장 시, 분산 시스템이어야 함. ex) 모든 인스턴스가 동시에 작동할 필요 없이, 각 인스턴스가 개별 작업을 처리할 수 있음.
- 숫자를 늘릴 때 Scale out
- 숫자를 줄이면 Scale in
AWS에서는 로드 밸런서(Load Balancer)와 (ASG)오토 스케일링 그룹을 사용하여 쉽게 애플리케이션 및 시스템을 확장할 수 있다.
(로드밸런서, ASG는 추후 포스팅에서 깊게 다룰 예정)
# High Availability
고가용성(High Availability)은 같은 애플리케이션 및 시스템을 AWS의 여러 가용 영역(AZ)에서 (최소 2군데) 실행하는 것을 의미한다.
하나의 AZ에만 데이터 센터가 있는 경우, 해당 지역에 지진이나 정전 처럼 재앙이 발생했을 경우 데이터를 모두 잃어버리게 될 가능성이 있다.
반면 2개 이상의 AZ를 사용하면, 데이터 센터의 손실과 같은 위험에서 벗어날 수 있다. 하나의 AZ에서 문제가 발생하더라도, 다른 AZ가 정상적으로 작동할 때 가용성이 높다고 할 수 있을 것이다. 즉 '고가용성'인 것.
다중 AZ 모드의 ASG과 다중 AZ의 로드 밸런서를 이용해 고가용성을 누릴 수 있다.
'AWS' 카테고리의 다른 글
클라우드에서의 탄력적인 서버 관리 - ASG와 로드 밸런서를 활용한 자동 확장 및 트래픽 분산 (0) | 2025.02.19 |
---|---|
Load Balancer에 대해 알아보기 - AWS의 대표적인 로드 밸런서 3가지(ALB, NLB, GWLB)까지 (0) | 2025.02.18 |
EC2 인스턴스의 데이터를 저장하고 관리하는 방법 - EBS, 스냅샷, AMI, EFS의 활용과 차이점 (0) | 2025.02.16 |
AWS EC2 인스턴스 유형별 선택 전략과 공동 책임 모델 (0) | 2025.02.16 |
Amazon EC2 - 인스턴스, 보안, 스토리지까지 (0) | 2025.02.15 |