Scale up 과 Scale out

jin·2023년 6월 1일
0

아키텍처

목록 보기
1/1

사용자가 많아지면 기존 서버로는 한계가 있어, 서버를 확장해야 한다.
이 때 인프라 확장흘 할 때 두 가지 옵션이 존재한다.

Scale up (스케일 업)

💡 Scale up이란?
현재 사용하고 있는 서버 자체의 성능을 증강시켜 처리 능력을 향상
예를 들어 CPU,RAM 과 같은 하드웨어 장비 성능을 높임

  • 장점
    • 여러대의 서버를 두는 것보다 데이터 정합성 이슈에서 자유로움
    • 네트워크 인프라 비용이 추가로 발생하지 않는다.
    • 하드웨어 추가/교체라 구현과 설계가 쉽다
  • 단점
    • 일정 수준의 스케일 업을 넘어가면 성능 증가 폭이 미미함
    • 하나의 서버가 모든 클라이언트의 트래픽을 담당하므로 해당 서버에 문제가 발생시 서버 복구까지 서비스 중단이 발생함.
    • 물리적인 용량, 성능 확장의 한계가 존재함.

스케일 아웃 (Scale out)

💡 스케일 아웃이란?
기존 서버와 비슷한 사양의 서버 대수를 추가해서 여러대의 서버를 두는 방법.
인프라 재구성에 있어 스케일 업보다 유연한 방법

  • 장점
    - 용량, 성능 확장의 한계가 없다. 지속적인 확장 가능
    • 여러대의 서버로 분산처리하기 때문에, 하나의 서버에 장애가 발생해도 다른 서버가 트래픽 감당 가능.
    • 병목현상 방지
    • 스케일 업에 비해 비용이 저렴
  • 단점
    - 여러대의 서버를 관리하기 때문에 관리 비용이 증가함
    • 모든 서버에서 데이터의 일관성을 유지해야하기 때문에 설계 및 관리가 복잡
      (데이터 불일치 발생할 수 있음)
    • 병렬 컴퓨팅 환경을 구성하려면 '로드 밸런싱'에 대한 높은 이해도가 요구됨
      ** 병렬 컴퓨팅 환경 : 여러 개의 프로세서를 통해 하나의 프로그램을 처리하는 환경
      ** 로드 밸런싱 : 여러 대의 서버를 구성했을 때, 여러 서버로 트래픽이 적절하게 분산되도록 트래픽을 분할하는 방법

0개의 댓글