스케일 업(Scale-up)과 스케일 아웃(Scale-out)

sieun·2021년 7월 5일
0
post-thumbnail

개요

쿠팡과 유사한 e-commerce 대용량 서버라는 것을 가정한 프로젝트를 진행하였기에 사용자가 전세계적으로 점점 증가하게되면 어떻게 처리해야되는지 서버의 확장방식에 대해 생각해보게 되었습니다. 이렇게 용량 및 성능을 늘리기 위한 시스템의 확장 방식은 스케일 업(Scale-up)과 스케일 아웃(Scale-out)으로 구분할 수 있습니다.

스케일 업(Scale-up)


스케일 업은 기존의 하드웨어를 보다 높은 사양으로 업그레이드 하는 것으로, 서버의 자체 성능을 증가시키는 것이라고 생각하면 됩니다.
예를 들어, 1만큼의 처리 능력을 가진 서버 한 대를 CPU나 RAM등을 추가하거나 고성능의 부품이나 서버로 교환하여 5만큼의 처리능력을 가지도록 업그레이드 시킨 것입니다. 이렇게 한 서버의 능력을 증강시키는 스케일 업을 '수직 스케일'이라고 부르기도 합니다.

스케일 아웃(Scale-out)


스케일 아웃이란 기존에 운영중인 서버와 같거나 비슷한 사양의 서버를 여러 대 추가하여 시스템을 확장하는 방법입니다.
예를 들어, 1만큼의 처리 능력을 가진 서버 한 대를 5만큼의 처리 능력으로 향상시키기 위해 기존의 서버와 동일한 서버 4대를 추가하는 것입니다. 이러한 스케일 아웃은 서버를 추가로 확장하기 때문에 '수평 스케일'이라 부르기도 합니다.
서버의 가상화 기능을 사용하고 하나의 케이스 내에서 가상적으로 서버 여러대를 구축하여 스케일 아웃과 동등한 효과를 제공할 수도 있습니다. 이러한 방식을 '가상 스케일 아웃'또는 '스케일 위드인'이라고 부릅니다.

스케일 업(Scale-up)과 스케일 아웃(Scale-out) 장단점 비교

스케일 업스케일 아웃
확장성하드웨어 장비의 성능을 높임.
성능 확장에 한계가 있다.
여러 장비에 일을 나누어 처리.
지속적 확장이 가능하다.
서버
비용
성능 증가에 따른 비용 증가폭이 큼.
비교적 비용 부담이 큼.
비교적 비용 부담이 적음
운영
비용
관리 편의성이나 운영 비용은 큰 변화 없음.장비 수가 많아질수록 관리 편의성이 떨어지며,
서버를 적재할 수 있는 공간을 포함한 운영 비용이 증가함
장애한 대의 서버에 부하가 집중되어 장애 영향도가 큼여러 서버에 분산 처리되어 장애 시 전면 장애의 가능성이 적음
주요
용도
고성능 Legacy 어플리케이션 / DB서버분산처리 시스템 / Global 웹 어플리케이션
  • 스케일 업은 스토리지 컨트롤러의 확장성 한계의 문제, 성능/용량 확장 제한에 다다른 경우에 새 시스템을 추가해야되어 마이그레이션(한 시스템에서 다른 시스템으로 이동) 비용이 발생합니다.
  • 스케일 아웃은 병렬 컴퓨팅의 어려움(구현 및 설계)과 기본적으로 직렬화(단일 처리)되어야 할 부분이 존재하며, 기술적 문제(대역폭, 동기화)가 있습니다. 또한 코어가 늘어남에 따라 마냥 성능이 증가하지는 않고, 코어 증가에 따라 대역폭은 증가하여 지연이 발생할 가능성이 있습니다.


결론

  • 스케일 업은 한 대의 서버에서 모든 데이터를 처리하므로 데이터 갱신이 빈번하게 일어나는 데이터베이스 서버에 적합한 방식입니다. 데이터가 서로 모순 없이 일관되게 일치해야하는 정합성 때문입니다.

  • 스케일 아웃은 다수의 처리를 동시 병행적으로 실시해야하는 경우에 적합합니다. 모든 서버가 정합성 유지에 대한 요건에 맞게 동일한 데이터를 가지고 있어야 하므로, 데이터 변화가 적은 웹 서버에 적합한 방식입니다.

진행 중인 e-commerce 프로젝트는 전세계 사용자가 사용가능한 대용량 서버라는 특징을 가졌습니다. 따라서 성능 확장의 한계가 없는 스케일아웃을 사용하는 것이 접속자가 증가하여 트래픽이 많이 발생하는 경우에 더 적합하다고 판단하였기 때문에 해당 방식을 채택하였습니다.


📕Reference

https://www.weka.io/learn/scale-up-vs-scale-out/

profile
열심히 공부중입니다😇

0개의 댓글