기존 개발하고 있던 서비스의 서버가 한계에 도달하는 경우, 스케일 업(Scale-Up) 혹은 스케일 아웃(Scale-Out) 을 고려할 수 있다.
기존의 서버를 더욱 높은 사양으로 업그레이드하는 것을 의미한다.
예를 들어, AWS에서 EC2 t2.micro에서 t2.smaill로 업그레이드하는 방식이 스케일 업이다.
스케일 업 방식은 상대적으로 간단하게 서버의 성능을 항상 시킬 수 있다는 장점이 있다.
하지만, 특정 서버를 무한정 업그레이드할 수 없으며, 장애에 대한 자동복구(failover)나 다중화(re-dundancy) 방안을 제시하지 않는다.
또한 스케일 업 전략을 선택하는 경우에는 향후 사용량을 미리 추정하여 미리 고사양의 서버를 확보하는 경우가 있다.
이러한 경우 실제 필요한 서버의 사양보다 과한 사양의 장비를 확보할 수 있기 때문에 비용적인 손실이 존재할 수 있다.
비슷한 사양의 장비를 추가하여 수평으로 확장하는 방식이다.
서버로 들어오는 많은 요청을 비슷한 사양의 서버 n대로 분산시켜 성능을 향상시킨다.
스케일 아웃 방식은 그때그때 필요한 만큼 서버를 추가할 수 있으므로 상대적으로 스케일 업 방식보다 비용 효율적일 수 있다.
또한, 특정 서버의 장애 발생 상황에서도 스케일 업 방식보다 가용성이 높다.
하지만, 스케일 아웃 방식은 n대의 서버를 관리해야 하므로 관리 포인트가 늘어나며,
각 서버에 부하를 분산하기 위한 로드 밸런싱에 대한 고민이 추가로 필요하다는 단점이 있다.