수직 확장과 수평 확장

구분 수직 확장(Scale-up) 수평 확장(Scale-out)
방식 인스턴스 사양 향상 인스턴스 대수 증가
한계 물리적 상한 존재 이론상 무제한
가용성 단일 장애점 분산되어 내결함성 확보
요구사항 없음 무상태(Stateless)
중단 재시작 필요 무중단 가능

무상태 (stateless)

수평 확장의 전제 조건이다. 서버가 요청 간 상태를 메모리에 들고 있으면, 다음 요청이 다른 서버로 가는 순간 상태가 사라진다.

해결 방식 3가지


여러 대의 키오스크에서 동시에 AI 분석이 필요했다

AI 의료 이미지 분석 프로젝트에서 AI 서버를 FastAPI로 만들었고, 키오스크에서 AI분석이 가능하도록 하였다.

그런데 키오스크를 한 대가 아닌 여러 대를 동시에 놓고 사용할 수 있는 환경을 만들려고 보니, 동시에 가능하도록 하는 문제가 발생했다.

병목과 결과 오염

AI 추론은 CPU와 메모리를 계속 쓰면서 최소 수 초 단위로 병목이 발생할 수 있다.

그리고 Grad-CAM 히트맵은 이미지 분류 forward 이후 나온 가중치를 받아 backward 역전파 해서 히트맵을 얻을 수 있게 하였는데, 이 사이에서 동시 요청이 들어오면 결과가 섞이며 오염되는 문제가 발생할 수 있었다.

sequenceDiagram
    participant A as 요청 1
    participant M as 모델 · 공유 상태
    participant B as 요청 2
    A->>M: forward 실행
    M-->>A: 활성화 값 저장
    B->>M: forward 실행
    M-->>B: 활성화 값 덮어씀
    A->>M: backward 실행
    Note over A: 요청 2의 히트맵이 나온다