[Infra] Scale-UP, Scale-Out 이해
서비스를 운영하다보면, 사용자 증가, 서비스 확장 등의 이유로 베어메탈 장비 혹은 클라우드 리소스 등의 확장이 필요하게 된다.
그 때, 스케일 업 (scale up) 스케일 아웃 (scale out)의 방식으로 확장할 수 있다.
Scale-Up
베어메탈 장비 등의 사양을 추가, 교체 등을 통해 업그레이드 하는 것을 의미한다.
물론 서버, 스토리지와 같은 장비에만 해당되는 것이 아닌, 쿠버네티스 혹은 도커, 클라우드 등과 같은 환경에서 할당된 리소스를 추가하는 의미도 포함되어 있다.
스케일 업의 경우, 하나의 서비스에 모든 부하가 집중되며, 장애 시 대처가 어려운 단점이 있다.
한대의 서버에서 모든 데이터를 다루어야 하는 데이터베이스 서비스에 적합한 방식이다.
반대로 비용감소를 위해 스케일을 줄이는 것을 Scale-Down이라고 한다.
Scale-Out
쿠버네티스의 replicaset의 갯수를 늘리거나, 여러대의 서버를 증설 혹은 클라우드 인스턴스를 증설하는 것처럼 확장하는 것을 의미한다.
또한, 서비스가 받을 부하를 균등하게 분산해주는 로드 밸런싱이 되어야 한다.
여러개로 분산되어있는 형태이기 때문에 하나에 장애가 생겨도 받는 부하의 양은 많아지더라도 서비스가 가능하다는 장점이 있다.
해당 방식은 웹 서비스에 적합한 방식이다. ( 데이터베이스 sharding도 Scale Out 기술 중에 하나이다. )
반대로 갯수를 줄여주는 것을 Scale-In이라고 한다.
댓글남기기