오늘의 질문
스케일 아웃과 스케일 업의 차이점을 설명해주세요.

📍 정답 확인

서버가 한계에 도달하는 경우, 스케일 업 혹은 스케일 아웃을 고려할 수 있다.


스케일 업 (Scale-Up)

기존의 서버를 더욱 높은 사양으로 업그레이드하는 것을 의미한다.

[ 장점 ]

  • 상대적으로 간단하게 서버의 성능을 향상시킬 수 있다.

[ 단점 ]

  • 특정 서버를 무한정으로 업그레이드할 수 없다.

  • 장애에 대한 자동복구나 다중화 방안을 제시하지 않는다.

  • 향후 사용량을 미리 추정하여 미리 고사양의 서버를 확보하는 경우, 실제 필요한 서버의 사양보다 과한 사양의 장비를 확보할 수 있기 때문에 비용적인 손실이 발생할 수 있다.


스케일 아웃 (Scale-Out)

비슷한 사양의 장비를 추가하여 수평으로 확장하는 방식이다.
서버로 들어오는 많은 요청을 비슷한 사양의 N대의 서버로 분산시켜 성능을 향상시킨다.

[ 장점 ]

  • 그때그때 필요한 만큼 서버를 추가할 수 있으므로 상대적으로 비용 효율적이다.

  • 특정 서버의 장애 상황이 발생하더라도 가용성이 높다.

[ 단점 ]

  • N대의 서버를 관리해야 하므로 관리 포인트가 늘어난다.

  • 부하 분산을 위한 로드밸런싱에 대한 고민이 필요하다.


😀 오토 스케일링 (Autoscaling)

관련 용어 중 오토 스케일링 이라는 용어도 있어서 추가로 정리해보았다.

서버의 과부하, 장애 등과 같이 서비스 불능 상황 발생시 자동으로 서버를 복제하여 서버 대수를 늘려주는 작업을 해주는 AWS 서비스.

오토 스케일링은 갑작스런 서버 과부하, 장애 등에 대처하기 위해 CPU 사용률, 메모리, 네트워크같은 리소스를 모니터링하다가 자동으로 서버를 증가시켜 준다. 다시 말해, 스케일 아웃의 자동화를 위한 기술인 것이다.


오토 스케일링 동작 원리

  1. 로드밸런서의 네트워크 정보와 서버의 시스템 매트릭 값들이 모니터링된다.

  2. 모니터링 결과 임계값을 벗어나는 값이 감지되면 오토스케일링 그룹으로 알람을 보낸다.

  3. 오토스케일링 정책에 따라 스케일 아웃 또는 스케일 인(스케일 아웃의 반대로, N대 서버의 갯수를 줄이는 것) 방식으로 서버 인스턴스 갯수를 조절한다.

  4. 서버 인스턴스를 생성하는 경우 로드밸런서를 사용해 새롭게 생성된 서버 인스턴스의 상태를 확인한다.

  5. 서버 인스턴스의 상태가 확인되면 서버 인스턴스를 서비스 로드밸런서에 추가한다.


🔖 참고자료

매일메일

오토스케일링