기존의 서버를 보다 높은 사양으로 업그레이드 하는 것
하드웨어 적으로 성능이나 용량 증강을 목적으로 하나의 서버에 디스크를 추가하거나 CPU나 메모리를 업그레이드 시키는 것을 의미한다.
기존의 서버를 교체함으로써 성능을 올릴 때에는 서비스를 이용할 수 없는 다운타임이 불가피하다.
장비를 추가해서 확장하는 것
비슷한 사양의 서버를 추가로 연결하여 처리할 수 있는 데이터 용량이 증가할 뿐만 아니라 기존 서버의 부하를 분담해 성능 향상의 효과를 기대할 수 있다.
클라우드 서비스에서는 자원 사용량을 모니터링하여 자동으로 서버를 증설(Scale Out)하는 Auto Scaling 기능도 있다.
| 구분 | Scale-up | Scale-out |
|---|---|---|
| 확장성 | 하드웨어 장비의 성능을 높이는 것이기에 성능 확장에 한계가 있음 | 지속적인 확장이 가능 |
| 비용 | 성능 증가에 다른 비용 증가 폭이 큼 | 비교적 저렴한 서버 사용으로 비용 부담이 적음 |
| 장애 | 한 대의 서버에 부하가 집중되어 장애 영향도가 큼 | 읽기/쓰기가 여러 대의 서버에 분산 처리되어 전면 장애의 가능성이 적음 |
| 단점 | 기존의 서버를 교체하여 성능을 올릴 때 다운 타임이 불가피하다 | 서버의 수가 늘어날수록 관리가 힘들어져 아키텍처 설계 단계에서부터 고려되어야 한다. |
이렇게 보면 Scale-out이 무조건 좋아보이지만, 그렇지 않다.
경우에 따라 맞는 확장 방식을 선택하면 된다.
빅데이터의 데이터 마이닝이나 검색엔진 데이터 분석 처리 등을 대표하는 OLAP(Online Analytical Processing) 어플리케이션 환경에서는 대량의 데이터 처리와 복잡한 쿼리가 이루어지기 때문에 스케일아웃 구성이 더 효율적이다.
반면 온라인 금융거래와 같이 워크플로우 기반의 빠르고 정확하면서 단순한 처리가 필요한 OLTP(Online Transaction Processing) 환경에서는 고성능의 스케일 업 방식이 적합하다고 한다.