이 영역을 누르면 첫 페이지로 이동
Coding Groot 블로그의 첫 페이지로 이동

Coding Groot

페이지 맨 위로 올라가기

Coding Groot

코딩 블로그

수평적 확장(Scale-Out)과 수직적 확장(Scale-Up)

  • 2022.07.18 01:04
  • DevOps, Infra/Cloud
글 작성자: Coding Groot

이용자가 증가하거나 서비스를 확장시키는 등 다양한 이유로 서버를 확장해야 될 때가 있다.
서버를 확장 시키는데에는 크게 두 가지의 방법이 있다. 

  • 수평적 확장(Scale-Out)
  • 수직적 확장(Scale-Up)

클라우드 서비스에서는 수직적 확장(Scale-Up)보다는 수평적 확장(Scale-Out)을 자주한다. 이것을 위해 Stateless하게 설계를 하라~~ 등등 많이 듣게 될 것인데 이 두가지 방법에 대해 간단히 정리해보겠다.

수평적 확장(다른 말로, Scale-Out)

수평적 확장은 아래의 그림과 같이 서버를 여러대를 추가해서 옆으로 확장시킨다고 생각하면 된다. 

수평적 확장(Scale-Out)

서버의 자체적인 스펙을 업그레이드 시키는 것이 아니라 여러대의 서버 갯수를 늘리는 방법이다. 

이렇게 똑같은 역할을 인스턴스를 늘리면 기존에 잘 작동되는 것을 건드릴 필요가 없어서 무중단 배포가 가능해진다. 

요즘은 Autoscaling과 같은 기능을 쓰면 이 모든 것을 자동화해준다. CPU 사용률, 상태, 네트워크 트래픽 양 등을 보면서 자동으로 Scale-Out을 해주고 다시 사용자 수가 적어지면 잉여 서버 인스턴스를 없애준다.

수직적 확장(다른 말로, Scale-Up)

수직적 확장은 서버의 스펙(CPU, RAM, 등)을 업그레이드한다는 것이다. 더 좋은 성능을 내는 컴퓨터로 업그레이드 시키는 것이다.

Scale-Up

수직적 확장을 하면 재부팅을 해야 한다. 새로 교체된 고성능의 부품(CPU, RAM, 등)을 운영체제가 인식할 수 있다.  
이렇게 변화가 생길 때마다 재부팅하고 재부팅할 때마다 서비스가 일시적으로 DOWN되면 별로 UX적인 측면에서 별로라서 많이 사용하지 않는다고 한다.

소프트웨어의 라이센스가 서버에 한대 당 하나를 사야하면 어쩔 수 없이 Scale-Up을 하는 경우도 있다고 한다.

반응형

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [AWS] VPC에 Subnet, NAT Gateway, Internet Gateway를 구성해보자

    [AWS] VPC에 Subnet, NAT Gateway, Internet Gateway를 구성해보자

    2022.08.07
  • [AWS] NestJS 프로젝트를 Code Pipeline을 사용해서 Elastic Beanstalk으로 배포하는 법

    [AWS] NestJS 프로젝트를 Code Pipeline을 사용해서 Elastic Beanstalk으로 배포하는 법

    2022.07.22
  • [AWS] Certificate Manager에서 발급 받은 인증서 로드밸런서에 붙이기

    [AWS] Certificate Manager에서 발급 받은 인증서 로드밸런서에 붙이기

    2022.07.09
  • [AWS] Certificate Manager를 사용해서 인증서 생성하는 법

    [AWS] Certificate Manager를 사용해서 인증서 생성하는 법

    2022.07.08
다른 글 더 둘러보기

정보

Coding Groot 블로그의 첫 페이지로 이동

Coding Groot

  • Coding Groot의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 방명록
  • 소개
  • 블로그 저작권

카테고리

  • 분류 전체보기 (182)
    • Git (23)
      • Git Tutorial (9)
      • Git Note (7)
      • Git Lecture (7)
    • Programming Language (1)
      • C (2)
      • C Sharp (5)
      • Java (4)
      • JavaScript (7)
      • Julia (5)
      • Python (4)
    • Programming (8)
      • Algorithm (2)
      • Compiler (5)
      • Data Structure (0)
      • Web (12)
      • NestJS (2)
    • DevOps, Infra (36)
      • Apple (6)
      • Cloud (15)
      • Database (1)
      • Network (4)
      • Linux (8)
    • Game Programming (11)
      • Unity Tutorial (5)
      • Unity Note (6)
    • Hardware Design (1)
      • Digital Circuit (1)
    • Note (49)
      • Coffee (2)
      • Retrospect (15)
      • Reading List (14)
    • Mathematics (1)

최근 글

인기 글

댓글

공지사항

아카이브

태그

  • Github
  • javascript
  • tutorial
  • aws
  • git
  • 회고
  • 한빛미디어
  • 서평
  • 전체 보기…

정보

Coding Groot의 Coding Groot

Coding Groot

Coding Groot

블로그 구독하기

  • 구독하기
  • RSS 피드

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기

나의 외부 링크

  • GitHub
  • SlideShare
  • 유니티 2020 수업
  • TIL Blog
  • 모도코

방문자

  • 전체 방문자
  • 오늘
  • 어제
Powered by Tistory / Kakao. Copyright © Coding Groot.

티스토리툴바