Horizontal vs. Vertical Scaling

시스템의 확장성은 성능과 안정성에 직접적인 영향을 미친다.

수평/수직 확장은 시스템 확장성을 달성하는 상호보완적 전략이다. 수직 확장은 단일 노드의 CPU/RAM/Storage 업그레이드로 신속한 대응이 가능하나 하드웨어 한계와 Single Point of Failure(SPOF) 리스크가 존재한다. 수평 확장은 분산 아키텍처 기반으로 무한 확장성과 내결함성을 제공하나 데이터 일관성 유지가 어렵다.

2025 년 트렌드로는 Kubernetes 기반 Hybrid Scaling(60% 기업 채택) 과 AI-Driven Auto-scaling(리소스 사용률 40% 개선) 이 주목받으며, Netflix 는 두 방식을 결합해 초당 5TB 스트리밍 데이터를 처리한다.

목적 및 필요성

확장성의 중요성

확장성은 시스템이 증가하는 부하나 요청을 성능 저하 없이 처리할 수 있는 능력을 의미한다.

확장성은 다음과 같은 이유로 중요하다:

  1. 사용자 경험 유지: 트래픽 증가 시에도 일관된 응답 시간과 성능을 유지하여 사용자 경험을 저하시키지 않는다.
  2. 비즈니스 성장 지원: 비즈니스가 성장함에 따라 증가하는 수요를 효율적으로 처리할 수 있어야 한다.
  3. 비용 효율성: 적절한 확장 전략을 통해 필요한 리소스만 사용하여 비용을 최적화할 수 있다.
  4. 시스템 안정성: 부하 증가로 인한 시스템 장애나 성능 저하를 방지한다.
  5. 경쟁 우위 확보: 빠르고 안정적인 서비스를 제공함으로써 경쟁 우위를 확보할 수 있다.

수평적 확장 Vs 수직적 확장의 필요성

두 가지 확장 접근법은 서로 다른 상황과 요구사항에 대응하기 위해 필요하다:

  1. 다양한 워크로드 특성: 다양한 유형의 워크로드와 애플리케이션에 따라 적합한 확장 전략이 달라진다.
  2. 비용 구조 최적화: 각 접근법은 서로 다른 비용 구조를 가지고 있어, 비즈니스 요구사항과 예산에 맞는 전략을 선택할 수 있다.
  3. 기술적 제약 대응: 특정 애플리케이션이나 기술 스택은 특정 확장 방식에 더 적합할 수 있다.
  4. 가용성 및 내결함성 요구사항: 고가용성이 필요한 시스템은 수평적 확장을 통한 중복성을 활용할 수 있다.
  5. 지리적 분산 요구: 글로벌 서비스는 지리적으로 분산된 인프라를 통해 지연 시간을 줄이고 가용성을 높일 수 있다.

Horizontal vs. Vertical Scaling

항목수평 확장 (Horizontal Scaling)수직 확장 (Vertical Scaling)
확장 방법서버 수를 늘려 부하 분산기존 서버의 성능 향상
구조 변경 필요성높음 (분산 시스템 구조 필요)낮음 (기존 구조 유지 가능)
확장 한계높음 (서버 추가로 확장 가능)하드웨어 한계로 제한적
가용성높음 (서버 장애 시 다른 서버로 대체 가능)낮음 (단일 서버 장애 시 전체 서비스 영향)
비용초기 비용 높음 (서버 추가 및 인프라 구축)초기 비용 낮음 (하드웨어 업그레이드 비용)
유지보수복잡함 (여러 서버 관리 필요)간단함 (단일 서버 관리)

수평적 확장 (Horizontal Scaling)

수평적 확장은 시스템의 처리 능력을 향상시키기 위해 더 많은 서버나 노드를 추가하는 방식이다.

수평적 확장의 핵심 개념은 다음과 같다:

  1. 분산 처리: 여러 서버나 노드에 작업 부하를 분산시켜 전체 시스템의 처리 능력을 향상시킨다.
  2. 스케일 아웃 (Scale-out): 시스템 용량을 확장하기 위해 더 많은 서버나 인스턴스를 추가하는 과정을 의미한다.
  3. 로드 밸런싱 (Load Balancing): 여러 서버 간에 트래픽이나 작업량을 균등하게 분배하는 기술로, 수평적 확장의 핵심 구성 요소이다.
  4. 샤딩 (Sharding): 데이터베이스 컨텍스트에서 데이터를 여러 서버에 분산 저장하는 기술이다.
  5. 레플리케이션 (Replication): 데이터나 서비스의 복제본을 여러 서버에 배포하여 가용성과 내결함성을 향상시키는 기술이다.
  6. 탄력성 (Elasticity): 트래픽이나 수요 변화에 따라 자동으로 리소스를 추가하거나 제거할 수 있는 능력이다.

수평적 확장의 주요 기능 및 역할

  1. 부하 분산: 여러 서버나 노드에 걸쳐 작업 부하를 균등하게 분산시킨다.
  2. 고가용성 확보: 여러 인스턴스를 통해 단일 장애점을 제거하고 시스템 가용성을 향상시킨다.
  3. 지리적 분산 지원: 다양한 지역에 서버를 배치하여 지연 시간을 최소화하고 지역적 장애에 대응할 수 있다.
  4. 탄력적 확장: 수요 변화에 따라 리소스를 동적으로 추가하거나 제거할 수 있다.
  5. 비용 효율적인 확장: 필요에 따라 점진적으로 리소스를 추가할 수 있어 비용을 효율적으로 관리할 수 있다.

수평적 확장의 주요 특징

  1. 분산 아키텍처: 시스템이 여러 노드에 분산되어 있어 개별 노드의 장애가 전체 시스템에 영향을 미치지 않는다.
  2. 선형적 확장성: 노드 추가에 따라 처리 능력이 선형적으로 증가할 수 있다.
  3. 자동화 지원: 클라우드 환경에서는 자동 확장 기능을 통해 수요에 따라 자동으로 인스턴스를 추가하거나 제거할 수 있다.
  4. 로드 밸런싱 필요: 여러 서버 간에 트래픽을 균등하게 분배하기 위한 로드 밸런싱 메커니즘이 필요하다.
  5. 데이터 일관성 과제: 분산 환경에서 데이터 일관성을 유지하는 것이 복잡할 수 있다.

수평적 확장의 핵심 원칙

  1. 분산 처리: 작업 부하를 여러 노드에 분산시켜 전체 시스템의 처리 능력을 향상시킨다.
  2. 로드 밸런싱: 요청이나 작업을 여러 서버에 균등하게 분배하여 개별 서버의 부하를 최소화한다.
  3. 독립적 확장: 각 구성 요소나 서비스를 독립적으로 확장할 수 있어 리소스를 효율적으로 활용할 수 있다.
  4. 내결함성: 여러 인스턴스를 통해 단일 장애점을 제거하고 전체 시스템의 가용성을 향상시킨다.
  5. 데이터 샤딩: 데이터를 여러 서버에 분산 저장하여 데이터 처리 능력을 향상시킨다.

수평적 확장의 작동 원리

  1. 노드 추가: 시스템 용량을 확장하기 위해 서버나 노드를 추가한다.
  2. 로드 밸런싱: 로드 밸런서는 들어오는 요청을 여러 서버에 분배한다. 이를 위해 라운드 로빈, 최소 연결, 가중치 기반 등 다양한 알고리즘을 사용할 수 있다.
  3. 세션 관리: 사용자 세션을 유지하기 위해 세션 클러스터링, 스티키 세션, 세션리스 아키텍처 등의 방법을 사용한다.
  4. 데이터 분산: 데이터베이스 샤딩이나 파티셔닝을 통해 데이터를 여러 서버에 분산 저장한다.
  5. 서비스 복제: 동일한 서비스의 여러 인스턴스를 실행하여 부하를 분산시킨다.
  6. 자동 확장: 트래픽이나 리소스 사용량에 따라 자동으로 인스턴스를 추가하거나 제거한다.

수평적 확장 다이어그램

수평 확장은 로드 밸런서를 통해 여러 서버에 트래픽을 분산시키는 구조로, 각 서버는 동일한 기능을 수행하며, 서버 수를 늘려 확장성을 확보한다.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
+-------------------+      +-------------------+
|     클라이언트     |----->|    로드 밸런서     |
+-------------------+      +-------------------+
                                   |
                                   |
          +------------------------+------------------------+
          |                        |                        |
+-----------------+     +-----------------+     +-----------------+
|    서버 인스턴스 1  |     |    서버 인스턴스 2  |     |    서버 인스턴스 3  |
+-----------------+     +-----------------+     +-----------------+
          |                        |                        |
          |                        |                        |
          +------------------------+------------------------+
                                   |
                                   V
                          +-------------------+
                          |  분산 데이터 스토리지  |
                          +-------------------+

수평적 확장 아키텍처

수평적 확장 아키텍처는 여러 서버나 노드로 구성되며, 이들은 함께 작동하여 부하를 분산시키고 전체 시스템의 처리 능력을 향상시킵니다.

  1. 클라이언트 계층: 사용자나 클라이언트 애플리케이션으로부터 요청을 받는다.
  2. 로드 밸런싱 계층: 들어오는 요청을 여러 서버에 분배한다. 하드웨어 로드 밸런서나 소프트웨어 로드 밸런서를 사용할 수 있다.
  3. 애플리케이션 계층: 여러 서버 인스턴스가 동일한 애플리케이션 코드를 실행하여 요청을 처리한다.
  4. 데이터 계층: 데이터베이스 서버가 데이터를 저장하고 관리합니다. 샤딩이나 레플리케이션을 통해 데이터를 분산 저장할 수 있다.
  5. 캐싱 계층 (선택 사항): 자주 액세스하는 데이터를 캐싱하여 데이터베이스 부하를 줄이고 응답 시간을 개선한다.
  6. 모니터링 및 관리 계층: 시스템 상태를 모니터링하고 문제를 감지하며 자동 확장을 관리한다.

수평적 확장 구조

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
                                   +-------------------+
                                   |     사용자 요청     |
                                   +-------------------+
                                           |
                                           V
+-------------------+             +-------------------+
|  자동 확장 그룹 관리   |<-----------|    로드 밸런서     |
+-------------------+             +-------------------+
        |                                 |
        |           +---------------------+---------------------+
        |           |                     |                     |
        |    +-------------+      +-------------+      +-------------+
        +--->| 웹 서버 인스턴스 |      | 웹 서버 인스턴스 |      | 웹 서버 인스턴스 |
             +-------------+      +-------------+      +-------------+
                   |                     |                     |
                   |                     |                     |
                   +---------------------+---------------------+
                                         |
                                         V
                               +-------------------+
                               |     캐시 계층      |
                               +-------------------+
                                         |
                                         V
                               +-------------------+
                               |    데이터베이스     |
                               |    (샤딩/복제)     |
                               +-------------------+

수평적 확장의 주요 구성 요소

구성 요소기능역할
로드 밸런서 (Load Balancer)요청을 여러 서버에 균등하게 분배트래픽 분산, 서버 가용성 모니터링, 장애 서버 감지 및 트래픽 우회
웹/애플리케이션 서버 클러스터클라이언트 요청 처리동일한 애플리케이션 실행, 비즈니스 로직 수행, 응답 생성
분산 데이터베이스 시스템데이터 저장 및 관리샤딩으로 데이터 분산, 레플리케이션으로 복제, 데이터 정합성 유지
분산 캐시자주 액세스하는 데이터 캐싱데이터베이스 부하 감소, 빠른 응답 제공, 일관된 캐시 동기화
세션 관리 시스템사용자 세션 유지 및 상태 관리분산 환경에서도 세션 공유, 인증 상태 유지
자동 확장 그룹 (Auto Scaling)서버 인스턴스 수를 자동으로 조절리소스 모니터링, 수요에 따른 서버 자동 생성 및 제거
서비스 디스커버리동적으로 서비스 인스턴스 감지 및 등록서비스 레지스트리 유지, 새 인스턴스 자동 등록 및 검색
클라우드 스토리지정적 파일 저장 및 백업 지원확장 가능한 저장 공간 제공, 중복성 확보, 백업/복구 기능 제공

장단점

구분항목설명
✅ 장점무한한 확장성서버를 계속 추가할 수 있어 트래픽 증가에 유연하게 대응 가능
고가용성다수의 서버가 분산되어 있어 단일 장애점 (SPOF, Single Point of Failure) 이 없음
비용 효율성고사양 장비 대신 저비용 장비 여러 대로 구성 가능
탄력적 확장자동 확장을 통해 트래픽 변화에 따라 빠르게 대응 가능
지리적 분산다양한 지역에 서버를 배치해 사용자 지연 시간 최소화 가능
무중단 확장운영 중인 시스템에 영향을 주지 않고 서버를 추가할 수 있음
⚠ 단점아키텍처 복잡성분산 시스템 설계 및 유지 관리가 복잡해짐
데이터 일관성 문제여러 노드 간 동기화가 어렵고 일관성 모델 선택이 필요함
네트워크 오버헤드서버 간 통신 및 데이터 동기화에 따른 트래픽 증가
로드 밸런싱 필요트래픽을 균등 분산시키기 위한

수평적 확장의 유형

확장 유형설명특징적용 사례
클러스터 기반 확장여러 서버를 클러스터로 구성하여 동일 애플리케이션 실행로드 밸런싱, 서버 간 상태 공유 가능, 일관된 사용자 경험 제공웹 서버 클러스터, 애플리케이션 서버 팜
마이크로서비스 기반 확장애플리케이션을 독립적인 서비스 단위로 분할하여 각각 확장서비스 단위 확장 가능, 장애 격리 용이, 기술 스택 독립성 확보마이크로서비스 아키텍처, SOA(Service-Oriented Architecture)
샤딩 기반 확장데이터를 여러 데이터베이스에 나누어 저장키/범위/지역 기반 샤딩 전략 활용, 쓰기 확장성 우수대규모 사용자 DB, 분산 빅데이터 플랫폼
레플리케이션 기반 확장동일한 데이터를 여러 서버에 복제하여 읽기 성능 향상읽기 부하 분산, 장애 대응 강화, 다양한 복제 모델 (Master-Slave, Multi-Master) 사용읽기 집약 시스템, CDN, 글로벌 콘텐츠 서비스
서버리스 확장함수 단위 코드 실행, 요청에 따라 자동 확장사용량 기반 과금, 무서버 인프라, 이벤트 기반 실행AWS Lambda, Azure Functions, GCP Functions

수직적 확장 (Vertical Scaling)

수직적 확장은 기존 서버나 시스템의 성능을 향상시키기 위해 더 많은 리소스를 추가하는 방식이다.

수직적 확장의 핵심 개념은 다음과 같다:

  1. 스케일 업 (Scale-up): 기존 서버의 CPU, 메모리, 스토리지와 같은 하드웨어 리소스를 증가시키는 과정을 의미한다.
  2. 단일 노드 강화: 단일 시스템의 처리 능력을 향상시켜 더 많은 요청이나 작업을 처리할 수 있게 한다.
  3. 하드웨어 업그레이드: 더 강력한 CPU, 더 많은 RAM, 더 빠른 스토리지 등으로 서버를 업그레이드하는 과정이다.
  4. 소프트웨어 최적화: 하드웨어 리소스 외에도 소프트웨어 최적화를 통해 시스템 성능을 향상시키는 접근법도 수직적 확장에 포함될 수 있다.
  5. 물리적 한계: 수직적 확장은 단일 시스템의 물리적 한계에 제약을 받으며, 특정 지점 이상으로 확장하기 어렵다.
  6. 무중단 확장의 어려움: 일반적으로 수직적 확장은 시스템 다운타임을 필요로 하는 경우가 많다.

수직적 확장의 주요 기능 및 역할

  1. 단일 시스템 성능 향상: 개별 서버의 처리 능력을 향상시켜 더 많은 작업을 처리할 수 있다.
  2. 단순한 아키텍처 유지: 추가 서버 없이 기존 시스템을 강화하므로 아키텍처를 단순하게 유지할 수 있다.
  3. 관리 복잡성 감소: 관리해야 할 서버 수가 적어 운영 복잡성이 감소한다.
  4. 특정 워크로드 최적화: 메모리 집약적이거나 CPU 집약적인 특정 워크로드에 대해 최적화된 리소스 할당을 제공한다.
  5. 즉각적인 성능 향상: 하드웨어 업그레이드를 통해 즉각적인 성능 향상을 달성할 수 있다.

수직적 확장의 주요 특징

  1. 단일 시스템 강화: 하나의 서버나 시스템의 성능과 용량을 향상시키는 데 중점을 둔다.
  2. 하드웨어 한계: 확장성은 단일 서버에 추가할 수 있는 하드웨어 리소스의 물리적 한계에 제약을 받는다.
  3. 다운타임 가능성: 일반적으로 하드웨어 업그레이드 시 시스템 다운타임이 발생할 수 있다.
  4. 즉각적인 성능 향상: 하드웨어 리소스 증가 후 즉시 성능 향상을 체감할 수 있다.
  5. 관리 용이성: 추가 서버나 분산 시스템 관리가 필요 없어 관리가 상대적으로 단순하다.

수직적 확장의 핵심 원칙

  1. 리소스 집중화: 단일 시스템에 리소스를 집중시켜 성능을 최대화한다.
  2. 단순성 유지: 추가 서버 없이 기존 시스템을 강화하여 아키텍처 단순성을 유지한다.
  3. 하드웨어 최적화: CPU, 메모리, 스토리지 등의 하드웨어 리소스를 최적화하여 성능을 향상시킨다.
  4. 소프트웨어 최적화: 하드웨어 외에도 소프트웨어 최적화를 통해 시스템 성능을 향상시킨다.
  5. 자원 활용 극대화: 단일 시스템의 자원 활용을 극대화하여 효율성을 높인다.

수직적 확장의 작동 원리

  1. 하드웨어 업그레이드: CPU, 메모리, 스토리지 등의 하드웨어 리소스를 증가시킨다.
  2. 서버 교체: 기존 서버를 더 강력한 서버로 교체하거나 업그레이드된 서버로 워크로드를 이전한다.
  3. 리소스 할당 최적화: 시스템 리소스 할당을 최적화하여 성능을 향상시킨다.
  4. 소프트웨어 최적화: 코드 최적화, 캐싱, 인덱싱 등의 소프트웨어 최적화 기법을 적용한다.
  5. 하드웨어 통합: 여러 물리적 서버를 하나의 더 강력한 서버로 통합할 수 있다.
  6. 가상화 활용: 가상화 기술을 활용하여 하드웨어 리소스를 효율적으로 활용한다.

수직적 확장 다이어그램

수직 확장은 단일 서버의 하드웨어를 업그레이드하여 성능을 향상시키는 구조로, 구조 변경 없이 빠른 성능 향상이 가능하지만, 하드웨어 한계로 인해 확장성에 제한이 있다.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
                +-------------------+
                |     클라이언트     |
                +-------------------+
                        |
                        V
                +-------------------+
                |       서버        |
                |                   |
                | CPU: 8코어 -> 16코어 |
                | RAM: 16GB -> 64GB |
                | SSD: 1TB -> 4TB   |
                +-------------------+
                        |
                        V
                +-------------------+
                |    데이터 스토리지   |
                +-------------------+

수직적 확장 아키텍처

수직적 확장 아키텍처는 단일 서버의 성능과 용량을 강화하는 데 중점을 둔다.

  1. 클라이언트 계층: 사용자나 클라이언트 애플리케이션으로부터 요청을 받는다.
  2. 애플리케이션 계층: 강화된 단일 서버가 모든 애플리케이션 코드를 실행하여 요청을 처리한다.
  3. 데이터 계층: 강화된 단일 데이터베이스 서버가 모든 데이터를 저장하고 관리한다.
  4. 백업 및 복구 계층: 시스템 장애 시 데이터 손실을 방지하기 위한 백업 및 복구 메커니즘이 필요하다.
  5. 모니터링 계층: 시스템 성능과 리소스 사용량을 모니터링하여 추가 업그레이드가 필요한 시점을 파악한다.

수직적 확장 구조

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
                               +-------------------+
                               |     사용자 요청     |
                               +-------------------+
                                        |
                                        V
                               +-------------------+
                               |    고성능 서버     |
                               |                   |
                               | - 다중 코어 CPU     |
                               | - 대용량 메모리     |
                               | - 고속 SSD        |
                               | - 고대역폭 네트워크  |
                               +-------------------+
                                        |
                                        V
                               +-------------------+
                               |    고성능 DB      |
                               |                   |
                               | - 고성능 스토리지   |
                               | - 최적화된 인덱싱   |
                               | - 메모리 내 캐싱    |
                               +-------------------+
                                        |
                                        V
                               +-------------------+
                               |   백업 및 복구     |
                               +-------------------+

수직적 확장의 주요 구성 요소

구성 요소기능역할
고성능 서버 하드웨어요청 처리 및 애플리케이션 실행다중 코어 CPU, 대용량 메모리, 고속 스토리지로 고속 처리 환경 제공
고성능 데이터베이스 서버데이터 저장 및 관리대량 데이터 처리, 고속 쿼리 수행, 트랜잭션 안정성 확보
서버 가상화 환경하드웨어 리소스의 효율적 활용리소스 동적 할당, 워크로드 격리, 효율적 인프라 운영
로컬 캐시자주 사용하는 데이터 캐싱디스크 I/O 감소, 메모리 기반 데이터 응답 속도 향상
백업 및 복구 시스템정기적인 데이터 백업 및 복구데이터 무결성 보장, 장애 복구 지원, 재해 대비
고성능 네트워크 인터페이스네트워크 통신 최적화고대역폭 전송, 지연 최소화, 대용량 데이터 처리
성능 모니터링 시스템시스템 자원 및 성능 상태 실시간 모니터링병목 지점 감지, 리소스 분석, 업그레이드 타이밍 평가
최적화된 운영 체제 및 소프트웨어하드웨어 리소스의 효율적 활용 및 시스템 안정성 유지프로세스 스케줄링, 커널 최적화, 성능 및 자원 활용 최적화

장단점

구분항목설명
✅ 장점아키텍처 단순성서버 한 대에서 운영되므로 시스템 구조가 단순하고 이해하기 쉬움
구현 용이성리소스만 추가하면 되므로 코드나 구조 변경 없이 확장 가능
낮은 네트워크 지연모든 처리 및 데이터가 단일 노드에서 수행되어 레이턴시가 낮음
데이터 일관성 용이단일 시스템 기반이므로 데이터 정합성 유지가 쉬움
소프트웨어 호환성대부분의 기존 애플리케이션과 호환되며 수정 없이 운영 가능
관리 오버헤드 감소다수의 노드를 관리할 필요가 없어 관리 및 운영 복잡성이 줄어듦
⚠ 단점물리적 한계단일 서버의 CPU, 메모리, 디스크 등 하드웨어에는 확장 한계가 존재
비용 비효율고성능 장비는 가격이 급격히 비싸지며 성능 대비 효율이 떨어질 수 있음
다운타임 발생 가능리소스 추가나 유지보수 시 시스템 재시작 등으로 인한 중단이 필요할 수 있음
단일 장애점 존재서버에 문제가 생기면 전체 서비스가 중단될 위험이 있음
지리적 제약단일 위치에서 처리되기 때문에 글로벌 사용자 대상 성능 보장이 어려움
자원 낭비 가능성최대 트래픽에 맞춰 리소스를 고정하면 비성수기 동안 과잉 리소스가 낭비될 수 있음

수직적 확장의 유형

확장 방식설명특징적용 사례
하드웨어 업그레이드물리 서버의 CPU, 메모리, 스토리지 등 리소스를 증설물리적 한계 존재, 다운타임 발생 가능, 즉각적인 성능 향상온프레미스 서버, 물리 DB 서버
가상 머신 확장가상 머신의 vCPU, vRAM 리소스를 증설유연한 리소스 할당, 하이퍼바이저 오버헤드, 라이브 마이그레이션 가능클라우드 VM, VMware, Hyper-V 기반 환경
컨테이너 리소스 확장컨테이너 단위로 CPU/메모리 할당량 증설세분화된 자원 제어, 빠른 확장 적용, 호스트 자원 한계 내에서만 확장 가능Docker, Kubernetes Pod
데이터베이스 수직 확장DB 서버의 메모리/CPU 증가, 캐시 및 인덱스 성능 최적화쿼리 성능 향상, 캐시 크기 증가, 단일 노드 기반 확장PostgreSQL, MySQL, Redis 등 관계형/인메모리 DB
클라우드 인스턴스 유형 변경기존 인스턴스를 고사양 인스턴스 유형으로 교체간편한 업그레이드, 다양한 스펙 선택, 요금 증가 가능AWS EC2, Azure VM, Google Compute Engine 등

실무 적용 예시

산업적용 사례확장 유형구현 방식결과 및 이점
전자상거래블랙프라이데이 세일 대비수평적 확장자동 확장 그룹 구성, 로드 밸런서 도입, 데이터베이스 읽기 복제본 추가트래픽 증가에도 안정적 서비스 제공, 판매 기회 손실 방지, 고객 경험 향상
금융 서비스핵심 거래 시스템 성능 향상수직적 확장고성능 서버 도입, 인메모리 데이터베이스 적용, SSD 스토리지 확장트랜잭션 처리 시간 단축, 안정성 향상, 데이터 무결성 보장
미디어 스트리밍글로벌 콘텐츠 전송 최적화수평적 확장CDN 활용, 지역별 서버 배포, 콘텐츠 복제지연 시간 감소, 사용자 경험 개선, 대역폭 비용 최적화
게임 서비스새 게임 출시에 따른 인프라 준비하이브리드 확장게임 서버는 수평적 확장, 데이터베이스는 수직적 확장플레이어 수요 대응, 게임 지연 최소화, 데이터 일관성 유지
헬스케어의료 영상 처리 시스템수직적 확장GPU 서버 도입, 대용량 메모리 확장, 고속 스토리지 적용영상 처리 속도 향상, 진단 시간 단축, 정확도 개선
소셜 미디어사용자 증가에 따른 피드 시스템 확장수평적 확장마이크로서비스 아키텍처, 데이터 샤딩, 캐시 클러스터실시간 피드 업데이트, 개인화 서비스 제공, 사용자 증가에도 안정적 서비스
SaaS다중 테넌트 애플리케이션 확장수평적 확장테넌트별 데이터 분리, 서버 클러스터 구성, API 게이트웨이 도입테넌트 격리, 개별 확장 가능, 리소스 효율적 사용
IoT센서 데이터 처리 시스템분산 확장에지 컴퓨팅, 데이터 분산 처리, 시계열 데이터베이스실시간 데이터 처리, 네트워크 대역폭 최적화, 확장성 확보
AI/ML모델 학습 인프라수직적 확장고성능 GPU 클러스터, 대용량 메모리, 고속 스토리지학습 시간 단축, 복잡한 모델 처리 가능, 정확도 향상
정부/공공세금 신고 시스템계절적 수평 확장피크 시즌에 클라우드 인스턴스 추가, 로드 밸런싱, 캐싱신고 기간 중 안정적 서비스, 비용 효율성, 사용자 만족도 향상

활용 사례

사례 1

시나리오: 대형 전자상거래 플랫폼이 연례 세일 이벤트를 앞두고 트래픽이 평소보다 10 배 이상 증가할 것으로 예상된다. 이 플랫폼은 사용자가 제품을 검색하고, 구매하며, 리뷰를 남기는 기능을 제공한다. 이벤트 기간 동안 시스템 안정성을 유지하면서 사용자 경험을 최적화하기 위한 확장 전략이 필요하다.

수평적 확장 접근법
계층접근 방식설명
웹/애플리케이션 서버자동 확장 그룹 구성트래픽 변화에 따라 서버 인스턴스를 자동으로 추가/제거
로드 밸런서 구성여러 가용 영역 (AZ) 에 걸쳐 트래픽을 분산하여 고가용성 확보
컨테이너 오케스트레이션Kubernetes 를 이용해 마이크로서비스 단위로 수평 확장
데이터베이스 계층읽기/쓰기 분리마스터 DB 는 쓰기 전용, 읽기 전용 복제본은 수평 확장
데이터 샤딩키/범위/지역 기반 샤딩을 통해 데이터 분산
캐싱 계층 추가Redis/Memcached 로 자주 조회되는 데이터를 캐싱하여 DB 부하 감소
검색 서비스분산 검색 클러스터Elasticsearch 를 다수 노드로 구성하여 검색 처리 확장
검색 인덱스 복제읽기 성능 향상을 위한 인덱스 복제본 구성
검색 결과 캐싱인기 검색 결과를 캐싱하여 응답 속도 향상
정적 자산 배포CDN 활용정적 파일 (이미지, JS 등) 을 글로벌 CDN 으로 전송
지역별 캐시사용자 지리적 위치에 가까운 엣지 서버에 콘텐츠 캐싱
정적 자산 최적화이미지 압축, JS/CSS 번들링 등 최적화를 통해 네트워크 부하 감소
수직적 확장 접근법
계층접근 방식설명
트랜잭션 DB고성능 DB 서버고성능 CPU 및 대용량 메모리를 갖춘 DB 서버로 교체
인메모리 DB 도입주문 처리 등 고속 처리가 필요한 영역에 Redis 등 인메모리 DB 사용
SSD 스토리지 사용고속 I/O 처리를 위한 SSD 기반 저장소 활용
분석 시스템병렬 처리 DB대용량 분석 처리를 위한 MPP 기반 데이터베이스 사용
메모리 최적화분석 쿼리 성능을 위해 대용량 메모리를 DB 인스턴스에 할당
스토리지 계층화핫 데이터는 SSD, 콜드 데이터는 HDD 등 계층화된 스토리지 구성
백엔드 API 서버다중 코어 최적화API 요청 병렬 처리를 위해 다중 코어 CPU 활용
네트워크 최적화NIC(Network Interface Card) 성능 향상으로 응답 지연 최소화
커널 튜닝OS 커널 파라미터 조정 (Linux sysctl 등) 으로 시스템 성능 극대화
하이브리드 확장 전략

실제 구현에서는 수평적 확장과 수직적 확장을 조합한 하이브리드 접근법이 가장 효과적일 수 있다:

계층수평 확장 적용수직 확장 적용
웹/애플리케이션 계층서버 수 자동 조절 (ASG, Kubernetes 등)-
데이터베이스 계층읽기 전용 복제본 분산 (수평 확장)마스터 DB 성능 강화 (고성능 인스턴스, 인메모리 활용 등)
캐싱 계층Redis/Memcached 클러스터 확장-
검색 서비스Elasticsearch 클러스터 확장-
백엔드 처리 시스템-주문, 결제 등 트랜잭션 중심 시스템에 고성능 서버 적용
전자상거래 확장 다이어그램
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
                                     +-------------------+
                                     |     사용자 요청     |
                                     +-------------------+
                                              |
                                              v
+-------------------+               +-------------------+               +-------------------+
|       CDN        |<------------->|    로드 밸런서     |<------------->|  자동 확장 그룹 관리  |
|(수평적 확장 - 정적 자산)|               |(수평적 확장 - 트래픽)|               |(수평적 확장 - 인스턴스)|
+-------------------+               +-------------------+               +-------------------+
                                              |
                    +-------------------------|-------------------------+
                    |                         |                         |
            +-------------+           +-------------+           +-------------+
            | 웹 서버 인스턴스 |           | 웹 서버 인스턴스 |           | 웹 서버 인스턴스 |
            |(수평적 확장)    |           |(수평적 확장)    |           |(수평적 확장)    |
            +-------------+           +-------------+           +-------------+
                    |                         |                         |
                    +-------------------------|-------------------------+
                                              |
                    +-------------------------|-------------------------+
                    |                         |                         |
            +-------------+           +-------------+           +-------------+
            |  API 서버   |           |  API 서버   |           |  검색 서비스   |
            |(수평적 확장)  |           |(수평적 확장)  |           |(수평적 확장)  |
            +-------------+           +-------------+           +-------------+
                    |                         |                         |
                    +-------------------------|-------------------------+
                                              |
                    +-------------------------|-------------------------+
                    |                         |                         |
            +-------------+           +-------------+           +-------------+
            |  Redis 캐시  |           |  Redis 캐시  |           |  Redis 캐시  |
            |(수평적 확장)  |           |(수평적 확장)  |           |(수평적 확장)  |
            +-------------+           +-------------+           +-------------+
                    |                         |                         |
                    +-------------------------|-------------------------+
                                              |
                                      +-------------+
                                      | 마스터 DB 서버 |
                                      |(수직적 확장)  |
                                      +-------------+
                                              |
                    +-------------------------|-------------------------+
                    |                         |                         |
            +-------------+           +-------------+           +-------------+
            | 읽기 전용 복제본 |           | 읽기 전용 복제본 |           | 읽기 전용 복제본 |
            |(수평적 확장)    |           |(수평적 확장)    |           |(수평적 확장)    |
            +-------------+           +-------------+           +-------------+
수평적 확장과 수직적 확장의 차이점 비교 (전자상거래 시나리오 기준)
측면수평적 확장 적용수직적 확장 적용
트래픽 처리로드 밸런서를 통해 여러 웹 서버에 분산강력한 단일 서버로 모든 트래픽 처리
데이터베이스 처리읽기/쓰기 분리, 샤딩, 읽기 복제본 추가고성능 데이터베이스 서버로 업그레이드
검색 기능여러 검색 노드에 분산된 인덱스단일 고성능 검색 서버
장애 대응일부 서버 장애 시에도 서비스 지속중복 시스템 필요, 장애 시 전체 영향
지역적 분산전 세계 여러 지역에 서버 배포 가능단일 위치에 제한됨
확장 시간자동 확장으로 빠른 용량 확보하드웨어 업그레이드에 시간 소요
비용 구조트래픽에 따라 유연하게 비용 조정피크 트래픽에 맞춘 고정 비용
복잡성분산 시스템 관리의 복잡성단순한 아키텍처 유지

최신 동향

주제항목설명
클라우드 네이티브 확장서버리스 아키텍처서버리스 컴퓨팅이 더욱 보편화되어 수평적 확장을 자동화하고 관리 오버헤드를 줄이는 접근법이 증가하고 있습니다. AWS Lambda, Azure Functions, Google Cloud Functions 등을 활용한 이벤트 기반 아키텍처가 주류로 자리잡고 있습니다.
멀티 클라우드 확장 전략기업들이 벤더 종속성을 줄이기 위해 여러 클라우드 제공업체에 걸쳐 시스템을 확장하는 전략을 채택하고 있습니다. Kubernetes 와 같은 컨테이너 오케스트레이션 도구를 통해 클라우드 간 일관된 배포 및 확장이 가능해졌습니다.
자동화 및 지능형 확장AI 기반 자동 확장머신러닝 모델을 활용하여 트래픽 패턴을 예측하고 선제적으로 리소스를 확장하는 지능형 자동 확장 시스템이 등장하고 있습니다. 이를 통해 성능 저하 없이 비용을 최적화할 수 있습니다.
FinOps 와 비용 최적화클라우드 리소스 사용 비용을 최적화하기 위한 FinOps 관행이 확산되고 있습니다. 자동화된 비용 모니터링 및 최적화 도구를 통해 효율적인 확장 전략을 구현하는 기업이 증가하고 있습니다.
데이터베이스 확장분산 데이터베이스의 발전CockroachDB, TiDB 와 같은 분산 SQL 데이터베이스와 MongoDB, Cassandra 와 같은 NoSQL 데이터베이스는 수평적 확장성을 개선하여 글로벌 규모의 데이터 처리가 가능해졌습니다.
서버리스 데이터베이스Amazon Aurora Serverless, Azure Cosmos DB 와 같은 서버리스 데이터베이스 솔루션이 자동 확장 기능을 제공하여 수동 확장 관리의 필요성을 줄이고 있습니다.
엣지 컴퓨팅엣지 기반 수평적 확장5G 네트워크의 확산과 함께 엣지 컴퓨팅이 보편화되면서, 사용자에 가까운 위치에서 처리를 수행하는 수평적 확장 전략이 증가하고 있습니다. 이를 통해 지연 시간을 줄이고 사용자 경험을 개선할 수 있습니다.
지역 분산 아키텍처글로벌 서비스 제공을 위해 여러 지역에 걸쳐 리소스를 분산시키는 아키텍처가 표준이 되고 있습니다. 이를 통해 지역적 장애에 대한 내성을 높이고 데이터 주권 요구사항을 충족할 수 있습니다.
하이브리드 확장동적 하이브리드 확장워크로드 특성에 따라 수평적 확장과 수직적 확장을 동적으로 조합하는 하이브리드 접근법이 증가하고 있습니다. 컨테이너화된 마이크로서비스는 수평적으로 확장하고, 데이터베이스는 수직적으로 확장하는 등의 전략이 보편화되고 있습니다.
클라우드 - 온프레미스 하이브리드클라우드와 온프레미스 환경을 결합한 하이브리드 모델이 확산되고 있습니다. 민감한 워크로드는 온프레미스에 유지하면서 확장이 필요한 워크로드는 클라우드로 이동하는 전략이 채택되고 있습니다.
클라우드 확장 전략대각선 확장 (Diagonal Scaling)수직 확장과 수평 확장을 결합하여 초기에는 서버 성능을 향상시키고, 이후에는 서버 수를 늘려 확장성을 확보하는 전략입니다.

실무에서 효과적으로 적용하기 위한 고려사항 및 주의할 점

  • 수평 확장:

    • 분산 시스템에 대한 이해와 경험 필요
    • 데이터 일관성 유지 방안 마련
    • 모니터링 및 로깅 시스템 구축
  • 수직 확장:

    • 하드웨어 업그레이드 시 다운타임 최소화 방안 고려
    • 비용 대비 성능 향상 효과 분석
    • 장기적인 확장성 계획 수립

수평적 확장 Vs 수직적 확장 선택 기준

기준수평적 확장 선택수직적 확장 선택
워크로드 특성병렬 처리 가능한 워크로드
무상태 (Stateless) 애플리케이션
읽기 중심 워크로드
단일 스레드 성능이 중요한 워크로드
상태 유지 (Stateful) 애플리케이션
트랜잭션 중심 워크로드
확장 규모대규모 확장이 필요한 경우
글로벌 서비스
사용자 수 지속 증가
제한된 규모의 확장이 필요한 경우
로컬 또는 지역 서비스
안정적인 사용자 기반
비용 구조유연한 비용 구조
사용량 기반 지불
점진적 투자
초기 투자 가능
예측 가능한 부하
장기적 사용을 위한 하드웨어
가용성 요구사항고가용성 필요
지역 장애 대응
무중단 서비스
제한된 가용성 요구사항
계획된 다운타임 허용
백업 시스템으로 대응
개발 팀 역량분산 시스템 경험
마이크로서비스 아키텍처 이해
DevOps 문화
단일 시스템 최적화 경험
하드웨어 성능 튜닝 지식
전통적인 운영 접근법
시간 제약빠른 확장 필요
동적 환경
시장 변화에 빠른 대응
계획된 확장
안정적인 환경
충분한 계획 시간

최적화하기 위한 고려사항 및 주의할 점

  • 리소스 모니터링: CPU, 메모리, 네트워크 사용량 등을 지속적으로 모니터링하여 병목 현상 파악
  • 자동 확장 설정: 트래픽 변화에 따라 자동으로 확장되도록 설정하여 효율적인 리소스 활용
  • 캐싱 전략: 반복되는 요청에 대해 캐싱을 활용하여 응답 속도 향상

주제와 관련하여 주목할 내용들

주제항목설명
확장성 패턴CQRS(Command Query Responsibility Segregation)명령 (쓰기) 과 쿼리 (읽기) 책임을 분리하여 각각 독립적으로 확장할 수 있는 아키텍처 패턴입니다. 쓰기 작업은 수직적 확장, 읽기 작업은 수평적 확장을 적용할 수 있습니다.
이벤트 소싱 (Event Sourcing)상태 변경을 이벤트 시퀀스로 저장하는 패턴으로, 수평적 확장에 적합한 이벤트 기반 아키텍처를 구현할 수 있습니다.
백프레셔 (Backpressure)시스템 과부하를 방지하기 위해 처리 속도를 제어하는 메커니즘으로, 효율적인 확장을 위한 중요한 개념입니다.
확장 기술서비스 매시 (Service Mesh)Istio, Linkerd 와 같은 서비스 매시는 마이크로서비스 간 통신을 제어하고 관리하여 수평적 확장의 복잡성을 줄여줍니다.
데이터 샤딩 전략다양한 샤딩 전략 (해시 기반, 범위 기반, 지역 기반) 을 통해 데이터베이스 확장성을 최적화할 수 있습니다.
함수형 프로그래밍불변성과 순수 함수를 강조하는 함수형 프로그래밍은 병렬 처리와 수평적 확장에 유리한 특성을 제공합니다.
확장 관리카오스 엔지니어링프로덕션 환경에서 의도적으로 장애를 발생시켜 시스템의 복원력을 테스트하는 방법으로, 확장 전략의 견고성을 검증할 수 있습니다.
SRE(Site Reliability Engineering)Google 이 선도한 이 방법론은 확장성, 신뢰성, 효율성을 균형 있게 관리하기 위한 체계적인 접근법을 제공합니다.
퍼포먼스 예산 (Performance Budget)확장 계획의 일부로 성능 목표를 설정하고 추적하여 사용자 경험 저하 없이 효율적으로 확장할 수 있습니다.
신기술WebAssembly브라우저 외부에서도 사용 가능한 이 기술은 엣지 컴퓨팅과 결합하여 새로운 형태의 분산 확장을 가능하게 합니다.
에너지 효율적 확장탄소 발자국을 줄이기 위한 에너지 효율적인 확장 전략이 중요해지고 있으며, 이는 데이터 센터 위치, 하드웨어 선택, 워크로드 최적화 등을 포함합니다.
양자 컴퓨팅 준비향후 양자 컴퓨팅이 상용화되면 특정 워크로드에 대한 수직적 확장의 개념이 크게 변화할 수 있으며, 이에 대한 준비가 필요합니다.

앞으로의 전망

주제항목설명
지능형 자동화자가 최적화 시스템AI/ML 을 활용하여 워크로드 패턴을 분석하고 최적의 확장 전략을 자동으로 결정하는 시스템이 보편화될 것입니다. 이러한 시스템은 수평적/수직적 확장을 동적으로 조합하여 비용과 성능 균형을 최적화할 것입니다.
예측적 확장과거 데이터와 외부 요인 (이벤트, 마케팅 캠페인 등) 을 분석하여 부하를 예측하고 선제적으로 확장하는 시스템이 발전할 것입니다.
클라우드 발전수평적/수직적 경계 희석클라우드 기술의 발전으로 수평적 확장과 수직적 확장 간의 경계가 모호해질 것입니다. 자원 할당이 더욱 유연해지고 워크로드에 따라 동적으로 조정될 것입니다.
서버리스 2.0현재의 서버리스 아키텍처를 넘어, 더 복잡한 워크로드와 상태 유지 애플리케이션도 효과적으로 처리할 수 있는 차세대 서버리스 플랫폼이 등장할 것입니다.
분산 컴퓨팅엣지 - 클라우드 연속체엣지 디바이스에서 클라우드 데이터 센터까지 연속적인 컴퓨팅 환경이 구축되어, 워크로드가 최적의 위치에서 자동으로 실행될 것입니다.
P2P 리소스 공유블록체인 기술을 활용한 분산형 컴퓨팅 자원 공유 네트워크가 발전하여, 기존 클라우드 제공업체에 대한 대안이 될 수 있습니다.
지속가능성그린 컴퓨팅탄소 발자국 최소화를 위한 에너지 효율적인 확장 전략이 더욱 중요해질 것입니다. 재생 에너지 사용이 많은 지역에서의 워크로드 실행, 저전력 하드웨어 선택 등이 확장 결정에 영향을 미칠 것입니다.
탄소 인식 컴퓨팅워크로드 실행 시 탄소 배출량을 고려하여 확장 결정을 내리는 시스템이 등장할 것입니다. 이는 재생 에너지 가용성이 높을 때 배치 작업을 실행하는 등의 전략을 포함합니다.
새로운 컴퓨팅 패러다임양자 컴퓨팅 통합양자 컴퓨팅이 특정 워크로드에 활용되기 시작하면서, 기존의 확장 패러다임을 넘어선 새로운 형태의 하이브리드 아키텍처가 등장할 것입니다.
뉴로모픽 컴퓨팅뇌 구조를 모방한 뉴로모픽 하드웨어의 발전으로, AI 워크로드에 대한 새로운 형태의 수직적 확장이 가능해질 것입니다.

주제와 관련하여 추가 학습해야 할 내용

카테고리주제설명
분산 시스템CAP 이론일관성 (Consistency), 가용성 (Availability), 분단 허용성 (Partition tolerance) 의 트레이드오프에 대한 이해. 수평적 확장 시 분산 시스템의 한계를 이해하는 데 필수적입니다.
분산 트랜잭션 관리2 단계 커밋 (Two-Phase Commit), SAGA 패턴 등 분산 환경에서 트랜잭션 일관성을 보장하는 방법에 대한 학습이 필요합니다.
합의 알고리즘Paxos, Raft 와 같은 알고리즘을 통해 분산 시스템에서 노드 간 합의를 이루는 방법을 학습해야 합니다.
데이터베이스데이터베이스 샤딩 전략해시 기반, 범위 기반, 디렉토리 기반 샤딩 등 다양한 데이터 분산 전략과 각각의 장단점을 이해해야 합니다.
NoSQL 확장성 패턴MongoDB, Cassandra, DynamoDB 등 다양한 NoSQL 데이터베이스의 확장 메커니즘과 적합한 사용 사례를 학습해야 합니다.
데이터 일관성 모델강한 일관성, 최종 일관성, 인과적 일관성 등 다양한 일관성 모델과 각각의 트레이드오프를 이해해야 합니다.
클라우드 기술컨테이너 오케스트레이션Kubernetes, Docker Swarm 등의 컨테이너 오케스트레이션 도구를 활용한 수평적 확장 구현 방법을 학습해야 합니다.
서버리스 아키텍처AWS Lambda, Azure Functions 등 서버리스 플랫폼의 확장 모델과 한계, 적합한 워크로드를 이해해야 합니다.
클라우드 네이티브 패턴12 요소 앱 (12-Factor App) 방법론, 클라우드 네이티브 설계 원칙을 학습하여 확장 가능한 애플리케이션을 설계해야 합니다.
성능 최적화성능 테스트 및 분석병목 현상 식별, 부하 테스트 도구 (JMeter, Gatling 등) 활용, 성능 지표 분석 방법을 학습해야 합니다.
캐싱 전략로컬 캐시, 분산 캐시, CDN 등 다양한 수준의 캐싱 전략과 적합한 사용 사례를 이해해야 합니다.
비동기 처리 패턴이벤트 루프, 비동기 I/O, 메시지 큐 등을 활용한 확장성 향상 방법을 학습해야 합니다.
DevOps 및 자동화인프라스트럭처 자동화Terraform, CloudFormation 등 IaC 도구를 활용한 확장 가능한 인프라 구축 방법을 학습해야 합니다.
모니터링 및 관측성Prometheus, Grafana, ELK 스택 등을 활용한 분산 시스템 모니터링 및 문제 해결 방법을 이해해야 합니다.
CI/CD 파이프라인지속적 통합 및 배포 파이프라인을 구축하여 확장 가능한 개발 및 배포 프로세스를 구현하는 방법을 학습해야 합니다.
시스템 설계마이크로서비스 아키텍처서비스 분해, API 게이트웨이, 서비스 발견 등 마이크로서비스 구현 및 확장 패턴을 이해해야 합니다.
이벤트 기반 아키텍처이벤트 소싱, CQRS, 이벤트 스트리밍 등의 패턴을 활용한 확장 가능한 아키텍처 설계 방법을 학습해야 합니다.
회복력 있는 시스템 설계서킷 브레이커, 재시도, 타임아웃 등의 패턴을 통해 회복력 있는 분산 시스템을 설계하는 방법을 이해해야 합니다.

용어 정리

용어설명
수평적 확장 (Horizontal Scaling)시스템 용량을 증가시키기 위해 더 많은 서버나 노드를 추가하는 방식. 스케일 아웃 (Scale-out) 이라고도 함
수직적 확장 (Vertical Scaling)기존 서버의 성능을 향상시키기 위해 CPU, 메모리 등의 리소스를 증가시키는 방식. 스케일 업 (Scale-up) 이라고도 함
로드 밸런서 (Load Balancer)여러 서버에 네트워크 트래픽을 분산시키는 장치 또는 소프트웨어
샤딩 (Sharding)데이터베이스를 여러 서버에 분산시키는 기술로, 각 서버는 전체 데이터의 일부 (샤드) 를 저장함
레플리케이션 (Replication)데이터나 서비스의 복제본을 여러 서버에 유지하는 기술
자동 확장 (Auto Scaling)트래픽이나 리소스 사용량에 따라 자동으로 컴퓨팅 리소스를 증가시키거나 감소시키는 기능
서버리스 (Serverless)서버 관리 없이 함수 단위의 코드를 실행할 수 있는 클라우드 컴퓨팅 모델
마이크로서비스 (Microservices)애플리케이션을 작고 독립적인 서비스로 분해하여 개발하고 배포하는 아키텍처 스타일
CAP 이론분산 시스템에서 일관성 (Consistency), 가용성 (Availability), 분단 허용성 (Partition tolerance) 을 동시에 만족시킬 수 없다는 이론
CDN(Content Delivery Network)콘텐츠를 사용자와 가까운 위치에서 제공하여 지연 시간을 줄이는 분산 서버 네트워크
분산 캐시 (Distributed Cache)여러 서버에 걸쳐 데이터를 캐싱하는 시스템으로, 성능 향상과 부하 분산에 활용됨
엣지 컴퓨팅 (Edge Computing)데이터 처리를 중앙 집중식 서버가 아닌 네트워크 엣지 (사용자와 가까운 위치) 에서 수행하는 방식
서비스 매시 (Service Mesh)마이크로서비스 간 통신을 관리하고 제어하는 인프라 계층
CQRS(Command Query Responsibility Segregation)명령 (쓰기) 과 쿼리 (읽기) 책임을 분리하는 아키텍처 패턴
이벤트 소싱 (Event Sourcing)시스템의 상태 변경을 이벤트 시퀀스로 저장하는 패턴
SRE(Site Reliability Engineering)소프트웨어 엔지니어링 기술을 활용하여 대규모 시스템의 운영 문제를 해결하는 분야
SPOF(Single Point of Failure)단일 장애점으로 시스템 전체 중단 가능성
Hot Add시스템 가동 중 리소스 추가
대각선 확장 (Diagonal Scaling)수직 확장과 수평 확장을 결합하여 유연한 확장성을 확보하는 전략

참고 및 출처

수평/수직 확장 관련 (Horizontal & Vertical Scaling)

클라우드/자동 확장 트렌드

최신 연구 논문 (arXiv)


Kubernetes / 자동화 관련