Railway
킨도프의 배포 플랫폼. 코드가 서버에서 실행되는 곳입니다.
왜 Railway인가
코드를 작성했으면 어딘가에서 실행되어야 합니다. 예전에는 서버를 직접 구매하고, 설치하고, 관리해야 했습니다. Railway는 이 모든 것을 자동화합니다.
Railway의 장점:
- 간단한 배포 - GitHub 연결 후 푸시만 하면 자동 배포
- 스케 일링 - 트래픽에 따라 자동 확장
- 로그 및 모니터링 - 에러 추적, 성능 확인
- 환경 변수 관리 - API 키 등 안전하게 보관
- 비용 효율 - 사용한 만큼만 지불
누가 사용하나요?
Railway는 주로 개발자와 DevOps가 사용합니다.
| 역할 | Railway 사용 |
|---|---|
| 개발자 | 배포, 로그 확인, 환경 변수 |
| DevOps | 인프라 설정, 스케일링 |
| PM | 배포 상태 확인 정도 |
| 디자이너 | 거의 없음 |
비개발자라면: 이 가이드의 "기본 개념"만 이해해두세요. 실제 사용은 개발팀에 요청하면 됩니다.
시작하기
1. 계정 및 팀 가입
- 회사 이메일로 Railway 팀 초대 받기
- railway.app 에서 로그인
- Kyndof 팀 워크스페이스 확인
2. 대시보드 탐색
로그인하면 프로젝트 목록이 보입니다.
Kyndof Team/
├── kyndof-api-production # 운영 API
├── kyndof-api-staging # 테스트 API
├── kyndof-web-production # 운영 웹
└── ...
기본 개념
Project (프로젝트)
프로젝트 = 배포 환경 하나
하나의 애플리케이션이 여러 프로젝트를 가질 수 있습니다:
kyndof-api-production- 실제 사용자가 쓰는 버전kyndof-api-staging- 테스트 버전kyndof-api-development- 개발 버전
Service (서비스)
프로젝트 안에 여러 서비스가 있을 수 있습니다:
- Web 서버
- 데이터베이스 (PostgreSQL, Redis)
- 워커 (백그라운드 작업)
Environment Variables (환경 변수)
민감한 정보는 코드에 직접 넣지 않습니다.
DATABASE_URL=postgres://...
API_KEY=sk-xxx...
SECRET_KEY=abc123...
이런 값들은 Railway 대시보드에서 관리합니다.
Deploy (배포)
코드가 서버에 반영되는 과정입니다.
GitHub에 push → Railway가 감지 → 자동 빌드 → 배포 완료
주요 기능
로그 확인
에러가 발생하면 가장 먼저 로그를 확인합니다.
- 프로젝트 > 서비스 선택
- "Logs" 탭 클릭
- 실시간 로그 또는 과거 로그 검색
로그 읽는 팁:
ERROR,Exception,Traceback키워드 주목- 타임스탬프로 시간대 확인
- 필터 기능으로 특정 로그만 보기
환경 변수 관리
- 프로젝트 > 서비스 선택
- "Variables" 탭 클릭
- 변수 추가/수정/삭제
주의: 환경 변수 변경 시 서비스가 재시작됩니다.
배포 히스토리
- 프로젝트 > 서비스 선택
- "Deployments" 탭 클릭
- 각 배포의 상태, 커밋, 시간 확인
롤백:
- 문제 발생 시 이전 배포로 되돌릴 수 있음