‘수직 확장'(scale up) 과 ‘수평 확장’ (scale out)

수직 확장.

수직 확장 :
하드웨어를 기준으로 하드웨어의 사양을 늘린다.
램을 추가하고, HDD를 추가하고, CPU를 추가하는 등.
단순하긴 하지만 RAM 뱅크가 꽉 차면 램을 더 꽂을 수 없고, CPU소켓도 한정적이고,
확장에 한계가 있다는 단점과
경우에 따라서는 특정 제조사 전용 장비만 써야 하는 등의 단점이 있다.

어플리케이션을 수정할 필요는 없다는 장점이 있다.
어플리케이션의 수정, 업데이트가 쉽다. (수정 내역을 한곳에만 반영하면 되니까)

수직 확장

수평 확장 :
기존의 하드웨어는 그대로 두고 장비를 추가하여 소프트웨어적으로 하나처럼 묶는다.
클러스터링 하려는 소프트웨어만 구동할 수 있으면 되기 때문에 하드웨어 종속성이 덜하다.
이론상으로는 무한한 확장이 가능하고,
쿠버네티스 같은 오케스트레이션을 이용해 중단 없는 자동 확장도 가능하다.

일반적으로 네트워크로 연결 되므로 네트워크 환경이 좋지 않으면 확장이 불가능하거나,
확장을 해도 원하는 성능을 못 얻는 경우가 있다.
어플리케이션의 수정이 필요한 경우가 많고,
어플리케이션의 수정, 업데이트의 경우 각 노드에 반영해야 하므로 작업량이 늘어난다.