이 문서는 GenAI 개념 섹션의 일부입니다.Databricks Apps를 활용한 프로덕션 배포, 단계별 기술 스택 선택 가이드, 종합 비교 테이블, 고객 FAQ, 연습문제를 다룹니다.
Databricks Apps — 프로덕션 배포의 정답
왜 Databricks Apps인가?
Agent 앱을 프로덕션에 배포할 때 가장 큰 장벽은 기술 자체가 아니라 인프라 운영 입니다.지원 프레임워크
app.yaml 설정 예시
Streamlit Agent 앱 (가장 일반적):배포 워크플로
PoC Streamlit → Databricks Apps 마이그레이션
로컬에서streamlit run app.py로 개발한 앱을 Databricks Apps로 마이그레이션하는 단계:
Step 1: 인증 방식 변경
성공
마이그레이션 핵심 원칙: (1) PAT/토큰 하드코딩 → 서비스 프린시펄 자동 인증, (2) 호스트/엔드포인트 하드코딩 → 환경 변수, (3) requirements.txt에 모든 의존성 명시. 이 세 가지만 지키면 대부분의 로컬 Streamlit 앱은 Databricks Apps로 바로 배포 가능합니다.
단계별 기술 스택 선택 가이드
Agent 프로젝트는 PoC → 파일럿 → 프로덕션의 단계를 거칩니다. 각 단계마다 최적의 기술 스택이 다릅니다.PoC (1~2주): “동작하는 데모”
구조: Streamlit (로컬 실행) → Agent 직접 호출 (인프로세스) → Databricks (Model Serving)
파일럿 (1~2개월): “팀 내부 사용”
1
Streamlit (Dbx Apps)
Databricks Apps에서 호스팅되는 Streamlit 프론트엔드가 사용자 요청을 받습니다.
2
Model Serving (Agent EP)
HTTP를 통해 Agent 엔드포인트로 요청을 전달합니다.
3
Unity Catalog / SQL Warehouse
Agent가 Unity Catalog와 SQL Warehouse에 접근하여 데이터를 조회합니다.
프로덕션 (지속 운영): “전사 사용”
옵션 A: Streamlit/Dash + Databricks Apps(사용자 수 < 100명)
옵션 B: React/Next.js + FastAPI(사용자 수 100명+ 또는 커스텀 UX 필수)
주의 프로덕션 전환 시 반드시 확인할 것:
- 인증: PAT → 서비스 프린시펄 전환 완료 여부
- 시크릿 관리: 환경 변수 또는 Databricks Secret Scope 사용 여부
- 에러 핸들링: Agent 호출 실패 시 사용자에게 적절한 메시지 표시 여부
- Rate Limiting: Model Serving 엔드포인트의 동시 요청 제한 설정 여부
- 로깅: 모든 요청/응답이 Inference Table에 기록되는지 확인
종합 비교 테이블
기능별 비교
의사결정 흐름도
비용 관점 비교
고객이 자주 묻는 질문
Q1: “Streamlit으로 프로덕션 가능한가요?”
단독 배포는 비권장. Databricks Apps 위에서는 가능합니다. Streamlit을 EC2나 VM에 직접 배포하면 SSL, 인증, 스케일링을 모두 직접 관리해야 합니다. 또한 WebSocket 기반 아키텍처로 인해 동시접속 50명 이상 시 성능 문제가 발생할 수 있습니다. 그러나 Databricks Apps 위에서 실행하면 이야기가 달라집니다. SSL 자동 적용, OAuth 인증 통합, 서버리스 스케일링이 모두 Databricks가 처리하므로, 팀 단위(10~50명) 사용에는 충분합니다. 결론: 사용자 수 50명 이하 + Databricks Apps 배포 → Streamlit으로 프로덕션 가능. 50명 이상이거나 커스텀 UX가 필수라면 FastAPI + React 검토.Q2: “React로 만들어야 하나요?”
대부분의 경우, 아닙니다. React를 도입하면 프론트엔드 전문 인력, 빌드 파이프라인, 별도 호스팅이 추가로 필요합니다. Agent 프로젝트의 핵심 가치는 UI가 아니라 Agent의 기능입니다.Q3: “가장 빨리 데모를 만들 수 있는 방법은?”
Streamlit + Databricks Agent Framework. 2시간이면 채팅 UI 완성 가능합니다.Q4: “Databricks Apps 비용은?”
Databricks Apps는 서버리스 컴퓨팅 기반 으로 과금됩니다.참고 비용 최적화 팁: PoC/파일럿 단계에서는 앱 자동 중지(idle timeout)를 짧게 설정(예: 30분)하여 비용을 절감하세요. 프로덕션에서는 always-on으로 설정하되, 사용 패턴에 따라 비활성 시간대에 수동 중지를 고려하세요.
Q5: “Chainlit을 Databricks에서 쓸 수 있나요?”
Databricks Apps에서 Chainlit을 직접 호스팅하는 것은 현재 지원되지 않습니다. 대안으로 두 가지 방법이 있습니다.- PoC 단계에서만 로컬 사용: 개발 머신에서
chainlit run app.py로 실행하고 데모 - FastAPI 래핑: Chainlit을 FastAPI 앱 내에 마운트하여 Databricks Apps에 배포 (공식 지원이 아니므로 안정성 보장 어려움)
st.expander를 활용하여 유사한 UX를 구현하는 것을 권장합니다.
연습 문제
문제 1: 기술 스택 선택
제조업 고객이 설비 예지보전 Agent를 만들고 싶어합니다. 현재 상황:PoC와 프로덕션 각 단계에서 어떤 기술 스택을 추천하시겠습니까? 이유를 포함하여 설명하세요.
- PoC 2주 후 경영진 데모 예정
- 데이터 엔지니어 2명 (Python 가능, 프론트엔드 경험 없음)
- 이후 현장 작업자 30명이 사용할 예정
- Databricks 환경 구축 완료
참고 모범 답안 방향: PoC는 Streamlit(빠른 개발, Python만으로 완결), 프로덕션은 Streamlit + Databricks Apps(현장 작업자 30명은 Streamlit으로 충분, 별도 프론트 개발 인력 없음, OAuth로 인증 해결).
문제 2: 아키텍처 설계
금융 고객이 다음 요구사항을 가진 Agent 앱을 설계해야 합니다:적절한 아키텍처(프론트엔드, 백엔드, 배포, 모니터링)를 설계하고 그 이유를 설명하세요.
- 채팅으로 포트폴리오 분석 질문 가능
- 실시간 차트 대시보드 (주가 추이, 포트폴리오 구성 등)
- 사용자 200명+, 기업 포털에 통합 필요
- 규제 준수를 위해 모든 대화 로깅 필수
참고 모범 답안 방향: FastAPI(백엔드, Databricks Apps) + React(프론트엔드, 기업 포털 통합). 사용자 200명+ 및 포털 통합 → Streamlit 한계 초과. Inference Table로 대화 로깅, Lakehouse Monitoring으로 품질 관리. Dash가 아닌 React를 선택하는 이유: 기업 포털 통합에는 기존 디자인 시스템과의 호환이 필수이므로.
문제 3: 마이그레이션 계획
팀에서 로컬 Streamlit 앱(PAT 인증, 하드코딩된 엔드포인트)을 Databricks Apps로 마이그레이션하려고 합니다. 다음 코드를 Databricks Apps에 배포 가능한 형태로 수정하세요.
참고 모범 답안 방향: (1)WorkspaceClient()인자 제거 (서비스 프린시펄 자동 인증), (2) 엔드포인트 이름을 환경 변수로 변경, (3)app.yaml에serving_endpoint리소스 정의, (4)requirements.txt작성.
문제 4: 트레이드오프 분석
다음 세 가지 시나리오에서 각각 Streamlit, Gradio, FastAPI 중 어떤 기술이 가장 적합한지 선택하고, 나머지 두 기술이 부적합한 이유를 설명하세요. (A) Hugging Face의 오픈소스 LLM을 미세조정한 모델을 팀 외부 이해관계자에게 빠르게 데모 (B) 고객사의 기존 React 포털에 Agent 채팅 기능을 추가 (C) 데이터 분석가가 내부적으로 사용할 Agent + 차트 대시보드
참고
모범 답안 방향: (A) Gradio — share=True로 즉시 공유, HF Spaces 배포 가능. Streamlit은 배포 필요, FastAPI는 UI 없음. (B) FastAPI — React 포털이 이미 있으므로 API만 제공하면 됨. Streamlit/Gradio는 별도 페이지로만 존재. (C) Streamlit — 대시보드+채팅 모두 지원, Python만으로 완결. Gradio는 대시보드 약함, FastAPI는 UI 별도 구현 필요.
참고 자료
공식 문서
Databricks 관련 자료
추천 학습 경로
- 입문: Streamlit 공식 튜토리얼 → 채팅 앱 만들기 (2시간)
- 심화: Databricks Apps에 Streamlit 배포 (1시간)
- 응용: FastAPI + SSE로 스트리밍 Agent API 구현 (4시간)
- 프로덕션: CI/CD 파이프라인 + 모니터링 구축 (1일)
README로 돌아가기