ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 스케일 아웃(Sclae-out)과 스케일 업(Scale-up)의 차이
    CS 지식 2023. 9. 19. 18:08

    두 방법은 모두 대용량 트래픽으로 기존에 사용하고 있던 서버에 부하가 걸렸을 때 조치할 수 있는 인프라 확장 방법들이다. 

    둘의 확장 방법이 어떻게 다른지 아래에서 알아보도록 하자.

     


    💡 스케일 아웃이란?

    Scale-out : 서버의 개수를 늘리는 것 
     
    스케일 아웃은 기존 서버가 용량이나 성능의 한계에 달했을 경우, 기존 서버와 같은 사양 또는 비슷한 사양의 '서버 대수'를 추가하여 처리 능력을 향상시키는 것을 의미한다. 이를 통해 트래픽을 분산하여 서버의 부하를 분담할 수 있게 된다. (로드벨런싱)

     

    클라우드 서비스에서는 자원 사용량을 모니터링해서 자동으로 서버를 증설(Scale Out)하는 Auto Scaling 기능도 있다. 
    처음에 이해가 어렵다면, 단순하게 개수를 늘리는 것이라고 생각하면 쉽다.

    개수를 늘리는 것이므로 Horizontal 이라는 표현으로 나타내기도 한다.(수평적 확장)

     

    Ex) 하나의 업무를 보는데 업무량이 늘어 비슷한 수준의 직원을 더 뽑아 업무 강도를 분담하는 느낌!!!

    출처 : https://portworx.com/blog/scale-up-vs-scale-out/

     

    장점

    • 가장 큰 장점은 유연한 확장성이다.
    • 서버 한대가 장애로 다운되어도 다른 서버로 서비스 제공이 가능하다.
    • 필요한 만큼의 서버를 추가할 수 있으므로, 확장에 제한이 없다.

    단점

    • 여러 노드를 연결해 병렬 컴퓨팅 환경을 구성하고 유지하려면 아키텍처에 대한 높은 이해도가 요구된다. 
    • 여러 서버가 존재하므로 데이터의 일관성에 대한 문제가 발생할 수 있다. (아키텍처 설계 중요)
    • 여러 노드에 부하를 균등하게 분산시키기 위해서 로드벨런서가 필요하다.

    💡 스케일 업이란?

    Scale-out : 서버의 개수를 늘리는 것

     
    스케일 업은 '서버 자체 성능'을 향상시키는 것으로 생각하면 된다.
    즉 스케일 업은 기존 서버를 더욱 뛰어난 성능을 가진 서버로 변경하기 위해 하드웨어 적으로는 CPU나 메모리를 추가하는 것을 의미하고, 소프트웨어적으로는 AWS EC2 인스턴스 사양을 높이는 것을 말한다.

    따라서 스케일 업은 서버의 성능을 확장하는 것이므로, Vertical(수직적) Scaling 이라는 표현으로 표현된다.

     

    예를 들어 일하는 직원의 역량을 올려주는 것이라고 생각하자. 
    어떤 업무를 하는데 업무량이 늘어남에 따라 그 업무를 소화할 수 있게 인강을 결제하고 도서를 제공해줌으로써 직원이 능숙하게 일을 처리할 수 있게 해주는 것이라고 생각하니 이해가 금방 되었다.
     

    출처 : https://portworx.com/blog/scale-up-vs-scale-out/

     

    장점 

    • 추가적인 네트워크 연결 없이 용량을 증감할 수 있다. 
    • 스케일 아웃보다 관리 비용이나 운영 이슈가 적고, 사양만 올리면 되는 것이기 때문에 비교적 간단하다.
    • 서버 개수가 1대이므로, 데이터의 일관성을 유지할 수 있다.

    단점

    • 하드웨어적 비용부담이 크고, 하드웨어 업그레이드 허용 범위가 정해져 있으므로 성능 향상에 한계가 있다. 
    • 서버 한 대가 부담하는 양이 많고, 만약 해당 서버에 문제가 생기면 다운타임이 발생

     



    가상화 환경은 인프라를 확장할 때 스케일 아웃(scale out) 방식을 사용하고 메임프레임은 스케일 업(sclae up) 방식으로 확장한다. 
     

    'CS 지식' 카테고리의 다른 글

    로드 벨런서란 ? (LB)  (0) 2023.09.19
    [ 운영체제 ] OS, 그리고 커널과 쉘  (0) 2023.08.17
    선언적 API란?  (0) 2023.05.29
    Docker의 Bash 컴플리션 스크립트란?  (0) 2023.05.23
    yum 이란?  (0) 2023.05.22

    댓글

SSOONTORY Blog.