멀티태스킹(4) - Scale Up vs Scale Out

미남로그·2021년 8월 23일
0
post-custom-banner

Scale Up과 Scale Out은 컴퓨터의 성능을 높여주는 것과 관련이 있어 보인다.

참고 자료 출처: 티스토리

| Scale Up

정의

서버 그 자체를 증강하는 것에 의해서 처리 능력을 향상 시키는 것이다. 수직 스케일로 불리기도 한다. 전형적으로 SMP에 대해 프로세서를 추가하는 것이나 그 자체를 고성능 모델로 옮겨 놓는 것을 말한다.

장점

별도의 서버를 추가하지 않기 때문에 여러 대의 서버를 관리하며 발생하는 데이터 정합성 이슈에 자유롭다. 또한, 별도의 소프트웨어 라이선스 추가 비용이 발생하지 않는다. 스케일 업은 하드웨어를 추가하고 교체하는 작업이기 때문에 구현이 어렵지 않다.

단점

하나의 서버 장비에 설치 가능한 CPU, 메모리, 디스크 수의 제한이 있다. 이는 수직 확장의 한계라 볼 수 있다. 한정된 자원을 초과하여 성능을 증가시키기 위해서는 서버 자체를 변경해야 한다. 또한, 일정 수준이 넘어가는 순간 성능 증가 폭은 약해진다. 마지막으로 비용이 비싸다. 한대의 서버에 부하가 집중되므로 장애시 영향도가 큼.

| Scale Out

정의

접속된 서버의 대수를 늘려 처리 능력을 향상 시킨다. 수평 스케일이라고 불리기도 한다. 동일한 사양의 새로운 서버를 추가하여 성능을 증가시키는 방법을 말한다. 하나의 노드에서 장애가 발생하더라도 다른 노드에서 서비스 제공이 가능하여 가용성을 높일 수 있다. 또한, 서버를 추가하고 감소시키는 것이 가능하다.

장점

스케일 아웃을 하려면 Load Balancer를 구현해야 한다. 트래픽이 증가함에 따라 서버의 로드율, 부하량, 처리 속도 등을 고려하여 여러 대의 서버가 트래픽을 적절히 분담하여 처리한다. 이를 통해 단일 서버에 작업이 쌓여 발생하는 병목현상을 줄일 수 있다. 지속적인 수평 확장이 가능하다. 읽기/쓰기가 여러 대의 서버에 분산되어 처리되기 때문에 장애시 전면 장애의 가능성이 적다.

단점

여러 대의 서버로 하나의 서비스를 위해 사용하니 데이터 불일치가 잠재적으로 발생할 수 있다. 대수가 늘어날수록 관리 편의성이 떨어지며, 서버 운영 비용 증가하는 문제 발생.

Scale-Up vs Scale-Out

스케일 업의 경우에는 빈번한 갱신이 일어나는 가운데 철저하게 ACID를 지켜야만 하는 관계형 데이터베이스 서버와 같은 시스템에서 적절하다. 스케일 아웃은 정합성 이슈에서 자유로울 수 없기 때문이다.

스케일 아웃의 경우에는 각각의 트랜잭션 처리는 비교적 단순하지만 다수의 처리를 동시 병행적으로 실시하지 않으면 안 되는 경우에 적절하다. 가장 적절한 예가 웹 서버이다. 웹 서버는 네트워크로부터 보내온 다수의 요구를 동시 병행하여 처리할 필요가 있지만 각각 처리는 비교적 단순하기 때문이다.

정리

  1. Scale-Up은 서버의 성능을 높이기 위해서 CPU, 메모리, 디스크 등의 하드웨어를 추가하거나 더 좋은 하드웨어로 교체하여 단일 서버 자체의 성능을 높이는 것을 의미

  2. Scale-Out은 서버의 성능을 높이기 위해서 동일 성능의 서버를 추가하여 부하를 분산시켜 처리 능력이 향상하는 것을 의미

  3. Scale-Up과 Scale-Out은 각각 장점과 단점을 갖고 있지만 이에 따라 적절한 시스템에 사용하면 서버 성능에 있어서 긍정적인 효과를 얻을 수 있다.

profile
미남이 귀엽죠
post-custom-banner

0개의 댓글