Scale to Zero — App Spaces (Private Preview)
App Spaces 는 microVM 기반의 새로운 런타임으로, Scale to Zero를 지원합니다. 약 30분간 트래픽이 없으면 자동으로 중지되고, 새 요청이 들어오면 자동 재시작됩니다.주의 현재 상태: App Spaces는 Private Preview 입니다. 기존 앱을 App Spaces로 변환할 수 없으며, 새 앱을 생성해야 합니다. GA 전까지는 아래 “현재 비용 절감 방법”을 참고하세요.
동작 방식
| 상태 | 조건 | 과금 여부 | 응답 시간 |
|---|---|---|---|
| Active | 요청 처리 중 또는 최근 트래픽 있음 | 과금 | 즉시 |
| Idle | 트래픽 없음 (30분 미만) | 과금 | 즉시 |
| Scaled to Zero | 30분간 트래픽 없어 자동 중지 | 비과금 | 콜드 스타트 (수 초~수십 초) |
App Spaces의 현재 제한사항
| 항목 | 상태 |
|---|---|
| 기존 앱 변환 | 불가 — 새 앱 생성 필요 |
| 워크스페이스 Network Policy | 아직 미적용 (SEG, Private Link 미지원) |
| 템플릿 기반 생성 | 미지원 — API로 직접 생성 |
현재 비용 절감 방법 (GA 전까지)
App Spaces GA 전까지는 다음 방법으로 비용을 관리할 수 있습니다: 1. Databricks Jobs로 자동 시작/중지 스케줄링:콜드 스타트 최적화
Scale to Zero에서 앱이 다시 시작될 때 콜드 스타트 시간이 발생합니다. 이를 최소화하는 방법:| 최적화 방법 | 효과 | 설명 |
|---|---|---|
| 경량 의존성 | 시작 시간 단축 | requirements.txt에서 불필요한 패키지 제거 |
| Lazy Loading | 초기 로드 단축 | 무거운 라이브러리는 필요할 때 import |
| Serverless Warehouse | 쿼리 응답 단축 | Classic Warehouse는 콜드 스타트가 길어 추가 지연 발생 |
| 캐싱 | 반복 요청 가속 | st.cache_data, st.cache_resource 활용 |
참고 비용 참고: 실제 운영 사례에서 Medium 사이즈 앱의 월 비용은 약 65/월 로 절감할 수 있습니다.
Horizontal Scaling (수평 스케일링, Private Preview)
단일 컨테이너의 성능 한계를 넘기 위해 최대 5개 인스턴스 로 수평 확장할 수 있습니다.| 항목 | 설명 |
|---|---|
| 상태 | Private Preview |
| 인스턴스 수 | 1~5개 (수동 설정) |
| 세션 친화성 | Stateful session affinity 지원 (업계 최초) |
| 무중단 배포 | Zero-downtime deployments |
| 빌드 캐시 | Deployment build caching |
REST API 설정
주의 기존 앱을 Horizontal Scaling으로 업그레이드할 수 없습니다. 새 앱을 생성해야 합니다. 템플릿 기반 생성도 미지원이며, API를 통해 직접 생성해야 합니다.
Git 기반 배포 (Public Preview)
소스 코드를 수동으로 업로드하는 대신, Git 레포지토리에서 직접 배포 할 수 있습니다.주요 기능
| 기능 | 설명 |
|---|---|
| Git 레퍼런스 | 브랜치, 태그, 커밋 해시 지정 가능 |
| 소스 코드 경로 | 레포 내 특정 디렉토리 지정 가능 |
| 강제 적용 | 워크스페이스 관리자가 Git-only 배포를 강제할 수 있음 |
참고 GitHub Enterprise Managed Users(EMU)의 개인 레포는 OAuth 제한으로 인해 PAT를 대안으로 사용해야 합니다.
앱 텔레메트리 / 모니터링 (Beta)
OpenTelemetry 기반으로 앱의 로그, 스팬, 메트릭을 Unity Catalog에 자동 수집할 수 있습니다.설정 방법
app.yaml에 텔레메트리 설정을 추가하면 앱 코드 변경 없이 자동으로 계측됩니다:
참고 텔레메트리 데이터는 near real-time으로 Unity Catalog 시스템 테이블에 저장됩니다. 앱 성능 모니터링, 오류 추적, 사용 패턴 분석에 활용할 수 있습니다.
uv 의존성 관리 (2026년 3월~)
requirements.txt 대신 uv 를 사용하여 Python 의존성을 관리할 수 있습니다.
참고 uv vs pip: uv는 pip보다 최대 10-100배 빠른 의존성 해결과 설치를 제공합니다.pyproject.toml+uv.lock으로 전환하면 배포 시간이 단축됩니다. 기존requirements.txt도 계속 지원됩니다.