Scalability 와 Elasticity

박영준·2023년 2월 19일
0

Cloud

목록 보기
2/2

1. 정의

Scalability

  • Cloud 에서 workload 가 증가할 시, 부하를 감당할 수 있을만한 Resource Capacity를 갖고 있느냐

  • 예상되는 요청에 대해서 아키텍쳐적인 관점에서 "Scalable 하다." 는 것은 "예상치를 충분히 감당할만한 Resource를 갖고있다." 는 의미

  • 서버는 많은 양의 요청을 처리하기 위해 충분한 Scalability 를 갖추고 있어야 한다.

  • 충분한 Scalability 를 갖추기 위해, Scale Out / Scale Up 등...을 통해 리소스를 확보

  • 장기적 관점에서 인프라 증설 (Scale up/down)

Elasticity

  • Elasticiy : 탄력성/수요에 따라, 필요 시에 늘어나고/줄어드는 특성

  • 막대한 양의 resource 용량에 대해서 순간적으로 할당하거나 해제하는 능력에 대한 성질
    → 즉, 요구에 걸맞는 resource 를 얼마나 빠르고 효과적으로 할당하는지

  • 단기적 관점에서 수요에 따라 확장/감소 (Sclae in/out)

    참고: 서버 인증 - 3. 인증 방식 - (3) 쿠키, 세션

2. 상황별

1) EC2

Scalability
예약 인스턴스를 이용하여, 인스턴스 사이즈를 증가시키는 것

Elasticity
Autoscaling 에 기반하여, EC2 의 숫자를 늘리는 것

2) DynamoDB

Scalability
무제한의 스토리지와 처리량

Elasticity
트래픽 폭증 시, IOPS를 추가 증설하고, 감소 후에 그 수를 줄이는 것
(IOPS : 읽기/쓰기 용량)

  • On-demand Mode : AWS 에 의해 자동으로 워크로드에 따른 읽기/쓰기 용량 조절

  • Provision Mode

    • 초당 읽기/쓰기 용량 지정 가능.
    • Autoscaling 을 통해, 최소/최대 프로비져닝과 목표 사용량 설정 가능

3) RDS

Scalability
인스턴스 사이즈를 증가시키는 것
(small --> medium)

Elasticity
수요에 따라 scale in/out 불가

4) Aurora

Scalability
인스턴스 타입 변경

Elasticity
Aurora Serverless


Scalable 한 시스템을 구축하기 위해서는 Elasticity 를 갖고 있어야 하며,
클라우드 환경에서는 리소스 추상화를 통해 빠른 할당과 회수를 가능하도록 환경을 구축하는 것이 중요하다.


참고: Scalability 와 Elasticity 의 차이점
참고: SOA #7, Elastic and Scalability -1

profile
개발자로 거듭나기!

0개의 댓글