[ReSeller Project] 스케일 업 vs 스케일 아웃

홍정완·2022년 8월 27일
0

ReSeller Project

목록 보기
4/15
post-thumbnail

1000명의 사용자를 예상하고 서버를 구축했는데, 10000명의 사용자가 애플리케이션 사용한다고 가정해 보자.

이러한 경우 기존에 사용하던 서버로는 한계가 있다. 사용자가 늘어감에 따라 서버에는 부하가 증가한다.
따라서 스케일 업스케일 아웃중 하나를 선택해서 인프라를 재구성해야 한다.



💡 스케일 업(Scale up)


  • 성능이나 용량 증강을 목적으로 하나의 서버에 디스크를 추가하거나 CPU나 메모리를 업그레이드하는 것

스케일 업이란, 우리가 현재 사용하고 있는 서버 자체의 성능을 증강시켜 처리 능력을 향상시키는 것으로, CPU 업그레이드 또는 RAM 추가 등으로 하드웨어 장비의 성능을 높이는 접근 방법이다.

우리가 사용하는 컴퓨터가 느려졌다면 성능이 더 좋은 새로운 컴퓨터를 구매하는 것이 가장 간편한 방법인 것과 비슷한 논리이다.


✅ 스케일 업 장점

  • 가장 큰 장점으로 단순히 하드웨어만 추가/교체하는 작업이기 때문에 구현과 설계가 쉽다.
  • 여러 대의 서버를 두는 것보다 데이터 정합성 이슈에서 자유롭다.
  • 네트워크 인프라 비용(라이센스 등)이 추가로 발생 ❌

✅ 스케일 업 단점

  • 용량, 성능 확장의 한계

    • 가장 좋은 CPU와 가장 큰 용량의 RAM을 사용하더라도,
      그것을 초과하는 성능으로 업그레이드하는 것은 불가능하다.

  • 성능 증가 폭이 미미해진다.

    • CPU를 예로 들자면 i3 👉 i5로 스케일 업 하는 경우 1.5배 이상의 성능 변화가 있는 반면,
      i5 👉 i7로 스케일 업 하는 경우에는 1.2배의 성능 변화

  • 하나의 서버가 모든 클라이언트의 트래픽을 담당

    • 서버에 문제가 생길 경우 복구될 때까지 서비스 중단 상황 발생



💡 스케일 아웃(Scale out)


  • 기존의 서버와 같은 사양 또는 비슷한 사양의 서버 대수를 증가시키는 방법으로 처리 능력을 향샹시키는 것

  • 스케일 업 보다는 인프라 재구성에 있어서 다소 유연한 방법


스케일 아웃이란 기존 서버와 비슷한 사양의 서버의 대수를 추가해 여러 대의 서버를 두는 방법이다.

‘1’의 처리 능력을 가진 서버에 동일한 서버 4대를 더 추가하여, 총 ‘5’의 처리 능력을 만드는 것이다.


✅ 스케일 아웃 장점

  • 용량, 성능 확장의 한계가 없다.

  • 여러 개의 서버를 두어 분산처리하기 때문에 장애 가능성이 감소한다.
    즉, 단일 서버에 작업이 쌓여서 멈춰있는 병목현상을 줄일 수 있다.

  • 스케일 업에 비해 비용 저렴


✅ 스케일 아웃 단점

  • 여러 개의 서버를 관리하기 때문에 관리 비용이 증가한다. (라이센스 비용)

  • 모든 서버에서 데이터의 일관성을 유지해야 하기 때문에 설계 및 관리가 복잡하고,
    데이터의 불일치가 발생할 수 있다.

  • 병렬 컴퓨팅 환경을 구성하고 유지하려면 로드 밸런싱에 대한 높은 이해도가 요구된다.



💡 병렬 컴퓨팅 환경 : 여러 개의 프로세서를 통해 하나의 프로그램을 처리하는 환경
💡 로드 밸런싱 : 한 대의 서버로 부하가 집중되지 않도록 트래픽을 관리한다.



결론



스케일 업 : 한 대의 서버에서 모든 데이터를 처리하므로 데이터 갱신이 빈번하게 일어나는 경우 적합

  • 정합성을 유지하기 어려운 경우
  • OLTP
  • 데이터베이스 서버

스케일 아웃 : 모든 서버가 동일한 데이터를 가지고 있어야 하므로, 데이터의 변화가 적은 경우 적합

  • 높은 병렬성을 실현하기 쉬운 경우
  • 정합성을 유지하기 쉬운 경우
  • 웹 서버



참고

스토리지 기초 지식 3편: 스케일 업과 스케일 아웃

profile
습관이 전부다.

0개의 댓글