Scaling up(수직 확장)
더 많은 요청을 처리하기 위해 단일 서버 스펙을 업그레이드한다. 단일 서버에서 모든 데이터를 처리하기 때문에, Data Integrity(데이터 무결성)와 Data Consistency(데이터 정합성)가 중요한 DB 서버 등에서 활용된다.
단일 서버에 부하가 집중되는 특징이 있고, 서버 이상 시 전체 시스템이 동작하지 않는 SPOF(Single Point of Failure) 문제가 발생할 수 있다. 하드웨어에 의존적이기 때문에 업그레이드 시 서버가 필연적으로 다운되고, 필요 부품 비용이 높을 수 있다.
여러 서버를 묶어 클러스터를 구성하거나, 데이터 일관성을 유지하기 위한 노력이 필요 없어 확장 과정이 비교적 단순하다. 물론 그 만큼 유연성은 떨어진다.
Scaling out(수평 확장)
더 많은 요청을 처리하기 위해 여러 대의 서버를 추가로 설치한다. 따라서 SPOF 문제가 발생하지 않는다. 여러 서버가 데이터를 처리하는 만큼, 정합성 유지가 상대적으로 쉬운 경우에 적합하다.
다수의 처리를 병렬적으로 시행할 수 있어, 빅데이터 처리 서버로 활용된다. 또한 수요에 따라 서버를 유연하게 늘리고 줄일 수 있어, 서비스의 웹 서버로도 많이 활용된다.
여러 대의 서버를 하나의 서버처럼 활용하기 위한 클러스터링 구성과 Load Balancing(로드 밸런싱) 작업이 추가로 필요하다. 그래서 수직 확장에 비해 기술적으로 더 까다롭다.
참고