적당한 고통은 희열이다

- 댄 브라운 '다빈치 코드' 중에서

컴퓨터시스템

스케일링 Scaling

hongssup_ 2024. 8. 20. 18:12
반응형

스케일링 작업이란?

시스템의 처리 능력을 확장하거나 축소하는 작업.

사용자 트래픽 변화에 대응하기 위해 리소스를 조정하여 애플리케이션 성능과 가용성을 유지

 

스케일링의 종류

1. 수직 스케일링 (Vertical Scaling)

기존의 서버 성능을 업그레이드하거나 다운그레이드하는 방식.

CPU, 메모리, 디스크 용량 등을 확장 또는 축소.

예: 서버의 RAM을 16GB에서 32GB로 업그레이드.

장점:

구조가 단순하고 설정이 쉬움.

소프트웨어 변경 없이 구현 가능.

단점:

하드웨어의 물리적 한계에 도달하면 더 이상 확장 불가능.

한 서버에 문제가 발생하면 전체 서비스에 영향을 미침.

 

2. 수평 스케일링 (Horizontal Scaling)

동일한 서버를 추가하거나 제거하여 시스템을 확장 또는 축소.

여러 서버로 작업을 분산(로드밸런서 필요).

예: 트래픽이 증가할 때 동일한 서버를 추가하여 부하를 분산.

장점:

확장이 무한에 가깝게 가능.

장애 허용(Fault Tolerance): 한 서버가 문제가 발생해도 나머지 서버로 서비스 유지 가능.

단점:

설정이 복잡하며, 데이터 동기화와 로드밸런싱 구성 필요.

네트워크와 애플리케이션의 분산 처리 설계가 필요.

 

스케일링 작업이 필요한 경우

1. 트래픽 증가:

사용자가 증가하거나 이벤트(프로모션, 할인 등)로 인해 웹사이트/앱 방문자가 급증하는 경우.

예: 쇼핑몰에서 블랙프라이데이 세일 기간.

2. 애플리케이션 성능 저하:

요청 처리 시간이 늘어나거나 서버 응답이 느려지는 경우.

서버가 과부하 상태에 도달했을 때.

3. 가용성 확보:

특정 서버에 장애가 발생했을 때 나머지 서버로 트래픽을 분산해 서비스 중단을 방지.

예: 하나의 데이터센터가 다운되었을 때 다른 데이터센터로 전환.

4. 비용 효율화:

비정상적으로 낮은 트래픽 시간대(야간 등)에 리소스를 축소하여 비용 절감.

5. 글로벌 사용자 확장:

여러 지역에서 사용자에게 더 빠른 응답을 제공하기 위해 각 지역에 서버를 배치.

 

스케일링 작업의 목표

성능 유지: 트래픽 증가에도 빠른 응답 시간과 원활한 서비스 제공.

가용성 확보: 장애 상황에서도 서비스 중단 없이 동작.

비용 최적화: 필요한 리소스만 사용하여 비용을 효율적으로 관리.

 

스케일링과 클라우드 서비스

클라우드 플랫폼(AWS, Azure, GCP 등)은 스케일링 작업을 쉽게 수행할 수 있도록 다양한 기능을 제공한다

Auto Scaling: 트래픽 변화에 따라 자동으로 서버를 확장/축소.

Load Balancing: 서버 간 트래픽을 자동 분산.

 

스케일링은 시스템의 안정성과 성능을 유지하는 데 필수적인 작업이다.

728x90
반응형

'컴퓨터시스템' 카테고리의 다른 글

로드밸런스 헬스체크  (0) 2024.10.01
DNS 와 도메인에 대하여  (0) 2024.09.30
.env 파일이란? + 생성하기  (0) 2023.12.15
command line 명령어  (0) 2023.09.12
Runtime vs. Compile time 런타임과 컴파일타임  (0) 2023.02.06