docs: clarify auth deployment boundaries

This commit is contained in:
Codex
2026-07-20 15:11:27 +09:00
parent a0d393e338
commit a8692319d5
@@ -370,6 +370,145 @@ production 직행의 장점은 아래 정도다.
즉 "처음부터 무조건 완전 별도 물리 서버"가 아니라, "서비스 경계는 분리하고 인프라는 현실적으로 시작"하는 방향이다.
## 5.6-A 위 문장을 더 쉽게 풀면
여기서 가장 헷갈리기 쉬운 부분은 아래 3가지를 같은 뜻으로 오해하는 것이다.
1. 저장소를 따로 둔다
2. 서비스를 따로 운영한다
3. 물리 서버를 따로 둔다
이 3가지는 서로 다른 이야기다.
### 저장소 분리
이 뜻은 소스코드를 Git 저장소 단위로 따로 관리한다는 뜻이다.
예:
- `tdc114plus` 앱 저장소
- `tdc114plus-auth` 저장소
- Baron SSO 저장소
### 서비스 분리
이 뜻은 실제 실행되는 프로그램을 따로 운영한다는 뜻이다.
예:
- Baron SSO 본체 프로세스
- `tdc114plus-auth` 프로세스
둘이 같은 서버 안에 있어도 실행 주체가 따로면 서비스는 분리된 것이다.
### 물리 서버 분리
이 뜻은 아예 다른 VM, 다른 컨테이너 호스트, 다른 장비에 올린다는 뜻이다.
즉 아래처럼 이해하면 된다.
- 저장소는 따로일 수 있다
- 서비스도 따로일 수 있다
- 하지만 물리 서버는 처음엔 같은 것을 쓸 수도 있다
그래서 "처음부터 인프라를 너무 크게 벌리지 않아도 된다"는 말은 `저장소만 다르게 둔다`는 뜻이 아니라 아래 뜻에 가깝다.
- Git 저장소는 분리한다
- 실행 서비스도 분리한다
- 다만 처음에는 같은 운영 서버 자원을 활용할 수 있다
## 5.6-B 실제로는 어떤 모습인가
예를 들어 한 대의 서버 안에서 아래처럼 운영할 수 있다.
- Baron SSO 본체 서비스는 기존 포트/기존 설정으로 실행
- `tdc114plus-auth`는 별도 포트 또는 별도 컨테이너로 실행
- 외부에서는 `114-auth.hmac.kr` 주소로 들어오고 reverse proxy가 `tdc114plus-auth`로 전달
즉 겉으로 보기에는 전용 서버처럼 보이지만, 실제 초기 운영은 기존 인프라 안의 독립 서비스로 시작할 수 있다.
이 구조의 핵심은 아래다.
- 주소는 분리
- 실행 프로세스도 분리
- 설정값도 분리
- 배포도 분리
- 다만 물리 장비는 처음엔 공유 가능
## 5.6-C `tdc114plus-auth`는 같이 둘 수 있는데, `tdc114plus` 앱은 왜 다르게 보나
이 부분도 자주 헷갈릴 수 있다.
### `tdc114plus-auth`
`tdc114plus-auth`는 서버 프로그램이다.
즉 실제로 서버 위에서 계속 실행되어야 하는 대상이므로, Baron SSO 인프라 안의 독립 서비스로 두는 개념이 성립한다.
### `tdc114plus`
반면 `tdc114plus`는 모바일 앱 소스코드와 빌드 산출물이다.
즉 서버에서 계속 떠 있는 운영 프로세스가 아니라 아래 성격에 가깝다.
- 개발 대상
- 빌드 대상
- 배포 대상
- 휴대폰에 설치되는 결과물
그래서 `tdc114plus-auth`를 같은 서버 인프라 안의 독립 서비스로 둔다는 개념을 그대로 앱 저장소에 적용하면 안 된다.
## 5.6-D 그럼 `tdc114plus` 앱 소스코드를 Baron SSO 쪽에 같이 두는 것은 어떤가
기술적으로 저장소를 한곳에 둘 수는 있다.
하지만 현재 프로젝트 기준으로는 권장하지 않는다.
이유는 아래와 같다.
1. 책임이 다르다
- `tdc114plus`는 모바일 앱이다
- Baron SSO는 인증 본체다
- `tdc114plus-auth`는 앱 전용 중계서버다
2. 배포 시점이 다르다
- 앱 배포
- auth 서버 배포
- Baron SSO 배포
이 셋은 서로 다른 주기로 움직일 수 있어야 한다.
3. 커밋과 리뷰 경계가 다르다
- 앱 화면 수정
- 인증 서버 수정
- SSO 본체 수정
이것이 한 저장소에 섞이면 추적과 검토가 어려워진다.
4. 보안과 권한 경계가 다르다
- 앱 개발자
- auth 운영자
- Baron SSO 운영자
각자 접근 범위가 달라질 수 있다.
그래서 현재 기준 추천 구조는 아래다.
- `tdc114plus`: 별도 저장소
- `tdc114plus-auth`: 별도 저장소
- Baron SSO: 기존 저장소 유지
단, `tdc114plus-auth` 실행 위치는 초기에는 Baron SSO 운영 인프라 안의 독립 서비스일 수 있다.
## 5.6-E 한 줄로 정리하면
아래처럼 기억하면 가장 쉽다.
- `tdc114plus-auth`는 같은 서버 인프라 안에 둘 수 있다
- 하지만 Baron SSO와 같은 서비스는 아니다
- `tdc114plus` 앱은 같은 저장소나 같은 관리 경계에 섞지 않는 편이 낫다
- 즉 서버 위치 공유는 가능하지만, 저장소와 서비스 경계까지 합치는 것은 권장하지 않는다
## 5.7 `tdc114plus-auth` 배포를 아주 쉽게 설명하면
초보자 기준으로 가장 먼저 이해해야 할 점은 아래다.