728x90
반응형
한 줄 설명
스테이징 서버는 실제 서비스(운영 서버)에 배포하기 전에 최종 점검을 하는 연습용 서버입니다.
쉽게 말하면 영화 개봉 전 시사회, 공연 전 리허설과 같은 역할을 합니다.
왜 필요한가?
새로운 기능을 개발했다고 해서 바로 고객이 사용하는 운영 서버에 적용하면 문제가 발생할 수 있습니다.
예를 들어:
- 로그인 기능 수정
- 출퇴근 등록 기능 추가
- 급여 계산 로직 변경
- 모바일 화면 개선
이러한 변경사항에 오류가 있다면 실제 사용자에게 피해가 발생할 수 있습니다.
그래서 운영 서버에 반영하기 전에 실제 환경과 거의 동일한 서버에서 미리 테스트를 진행합니다.
이 서버를 스테이징 서버(Staging Server) 라고 합니다.
쉽게 이해하는 비유
음식점 비유
운영 서버 (Production)
실제 손님이 식사하는 매장
- 고객이 사용 중
- 장애 발생 시 매출 손실
- 안정성이 가장 중요
개발 서버 (Development)
주방에서 새로운 메뉴를 연구하는 공간
- 개발자가 자유롭게 수정
- 오류가 많아도 괜찮음
- 실험 목적
스테이징 서버 (Staging)
신메뉴 출시 전 시식회
- 실제 운영 환경과 거의 동일
- 최종 검증 목적
- 문제 발견 시 수정 가능
서버 구성 예시
개발자 작업
↓
개발 서버 (DEV)
↓
기능 테스트 완료
↓
스테이징 서버 (STG)
↓
최종 검증
↓
운영 서버 (PROD)
↓
실제 사용자 이용
각 서버의 역할
구분개발 서버(DEV)스테이징 서버(STG)운영 서버(PROD)
| 사용 대상 | 개발자 | 개발자, QA | 실제 사용자 |
| 목적 | 기능 개발 | 최종 검증 | 실제 서비스 |
| 데이터 | 테스트 데이터 | 운영과 유사한 데이터 | 실제 데이터 |
| 장애 영향 | 거의 없음 | 내부 테스트 영향 | 고객 서비스 영향 |
| 수정 빈도 | 매우 많음 | 중간 | 최소화 |
실제 업무 예시
예를 들어 출퇴근 시스템에 새로운 기능을 추가한다고 가정합니다.
1단계 - 개발 서버
개발자가 기능 개발
출근 버튼 추가
퇴근 버튼 추가
GPS 검증 기능 추가
오류가 있어도 개발자가 바로 수정 가능합니다.
2단계 - 스테이징 서버
운영 환경과 동일하게 배포
실제 브라우저 테스트
모바일 테스트
다중 사용자 테스트
성능 테스트
확인 내용
- 로그인 정상 동작 여부
- 출근 등록 가능 여부
- 퇴근 등록 가능 여부
- 관리자 화면 정상 여부
- 성능 저하 여부
3단계 - 운영 서버
모든 검증이 끝난 후 실제 사용자에게 배포
직원들이 실제 사용
스테이징 서버에서 주로 하는 테스트
기능 테스트
- 버튼 동작 확인
- 화면 표시 확인
- 데이터 저장 확인
통합 테스트
- 웹 ↔ API 연동
- API ↔ DB 연동
- 외부 시스템 연동
성능 테스트
예시
동시 로그인 200명
동시 출근 등록 200건
동시 조회 500건
서버가 정상적으로 처리하는지 확인합니다.
배포 테스트
실제 배포 절차를 미리 검증합니다.
운영 서버와 최대한 같아야 하는 이유
스테이징 서버가 운영 서버와 다르면 테스트 의미가 줄어듭니다.
예시
운영 서버
CPU 16 Core
Memory 64GB
스테이징 서버
CPU 2 Core
Memory 4GB
이 경우 실제 운영 성능을 정확하게 예측하기 어렵습니다.
그래서 가능하면 다음 항목을 운영 서버와 동일하게 구성합니다.
- OS
- Web Server (Nginx, Apache)
- WAS
- DBMS
- 네트워크 설정
- SSL 인증서
- 서버 사양
스테이징 서버가 없는 경우 발생하는 문제
사례 1
개발 완료 후 바로 운영 반영
로그인 오류 발생
전체 사용자 접속 불가
사례 2
DB 변경 검증 부족
데이터 손실 발생
사례 3
성능 검증 부족
사용자 증가 시 서버 다운
정리
스테이징 서버는 실제 운영 서버에 배포하기 전에 최종 점검을 수행하는 서버입니다.
핵심 목적은 다음과 같습니다.
- 운영 장애 예방
- 기능 검증
- 성능 검증
- 배포 검증
- 사용자 영향 최소화
즉,
개발 서버는 "만드는 곳", 스테이징 서버는 "검사하는 곳", 운영 서버는 "실제 사용하는 곳"이라고 이해하면 가장 쉽습니다.
반응형
'개념정리' 카테고리의 다른 글
| QA 풀 테스트 진행법과 이슈 트래킹 실무 (0) | 2026.07.24 |
|---|---|
| 서비스 장애 대응 매뉴얼: 감지부터 고객 보상까지 (0) | 2026.07.23 |
| 고정 IP와 유동 IP - 쉬운 이해와 비교 (0) | 2025.11.19 |
| 내부망, 외부망, 사설망 쉽게 이해하기 (0) | 2025.11.17 |
| '배치(Batch)'란 무엇인가? (컴퓨터 과학 및 딥러닝 개념 정리) (0) | 2025.11.14 |