프로그래밍

스케일 업(Scale-Up), 스케일 아웃(Scale-Out)

Victory_HA 2022. 3. 20. 15:13

운영중인 서비스의 유저 수가 점점 증가가 된다면,
기존의 서버에서는 충분히 운영이 가능했지만 점점 서버의 한계가 보이기 시작한다.
이때 서버 업그레이드가 필요하다.
업그레이드 하는 방법 2가지 스케일 업스케일 아웃의 개념에 대해 알아보자.


스케일 업(Scale-Up)

  • 서버의 HW를 기존 사양보다 더 좋은 HW로 업그레이드 하는 방법이다.
  • 예를 들어, CPU나 메모리 등을 추가하는 것이다.
  • 하나의 서버의 능력을 증강하기 때문에 수직 스케일링(vertical scaling)이라고도 한다.

장점

  • 추가적인 네트워크 연결이 필요가 없다.
  • 스케일 아웃보다 유지보수 비용이나 운영이슈가 적다.

    단점

  • 성능 향상에 한계가 있다.
  • 서버 한대가 부담하는 양이 많아서 위험부담이 높다.
  • 기존 서버를 교체하기 위해 서비스 다운타임이 불가피하다.

스케일 아웃(Scale-Out)

  • 기존 서버의 사양에 준하는 서버를 여러 개로 늘리는 방법이다.
  • 서버 1대 추가하면 각 서버의 부하량은 1/n로 줄어드는 효과가 있을 수 있겠다.
  • 서버를 추가로 확장하기 때문에 수평 스케일링(horizontal scaling)이라고도 불린다.

장점

  • 확장이 자유롭다.
  • 서버당 부하량이 적어, 서비스를 안정적으로 운영할 수 있다.
  • 서버 추가 시 서비스 다운타임이 필요 없기도 하다.

단점

  • 스케일 업보다 확장 비용이 비싸다.
  • 서버가 여러대 이므로, 유지보수 비용이 크다.
  • 무엇보다 여러 노드를 연결해 병렬 컴퓨팅 환경을 구성하고 유지하려면 아키텍처에 대한 높은 이해도가 요구된다.

  • 빅데이터의 데이터 마이닝이나 검색엔진 데이터 분석 처리 등을 대표하는 OLAP(Online Analytical Processing) 어플리케이션 환경에서는 대량의 데이터 처리와 복잡한 쿼리가 이루어지기 때문에 '스케일 아웃' 구성이 더 효율적이다.

  • 반면 온라인 금융거래와 같이 워크플로우 기반의 빠르고 정확하면서 단순한 처리가 필요한 OLTP(Online Transaction Processing) 환경에서는 고성능의 '스케일 업' 방식이 적합하다고 한다.