셀프 호스팅(Self-Hosting)
셀프 호스팅(Self-Hosting)
셀프 호스팅은 전체 Confident AI 플랫폼을 여러분의 클라우드 계정 안에서 실행하는 방식이에요. 트레이스, 데이터셋, 프롬프트, 평가 결과가 모두 여러분의 네트워크 안에 머무르고, 리전·네트워킹·보안 체계를 직접 통제할 수 있어요. Confident AI 시스템으로 전송되는 것은 아무것도 없죠.
출처: 문서
셀프 호스팅은 Enterprise 플랜에서 사용할 수 있어요. 플랫폼 팀과 상담해 라이선스 키와 컨테이너 이미지 접근 권한을 받으세요.
본문
배포가 어떻게 동작하는지
셀프 호스팅 배포는 두 부분으로 나뉘며, 순서대로 실행해요:
Terraform으로 인프라 프로비저닝
공개된 Terraform 모듈이 Kubernetes 클러스터, PostgreSQL 데이터베이스, 객체 스토리지, 그리고 앱이 필요한 keyless identity 연결을 만들어요. 이미 갖고 있는 VPC나 VNet 안에 배포하며, 절대 새로 만들지 않아요.
Helm으로 애플리케이션 배포
confident-ai Helm 차트가 앱(백엔드, 프론트엔드, 평가 서비스, 워커)과 함께 클러스터 내부의 ClickHouse와 Redis를 설치해요. Terraform 단계의 출력값을 입력으로 넣어 주면 돼요.
Terraform은 클라우드 리소스를 소유하고, Helm은 클러스터 안에서 실행되는 모든 것을 소유해요. 이 둘을 분리해 두면 인프라와 애플리케이션의 수명주기를 독립적으로 관리할 수 있고, 이미 클러스터를 운영 중이라면 자기 클러스터를 가져올 수도 있어요.
클라우드 선택
AWS
EKS, RDS PostgreSQL, S3. 키리스 접근을 위해 EKS Pod Identity를 사용해요.
GCP
GKE, Cloud SQL, GCS. 키리스 접근을 위해 Workload Identity를 사용해요.
Azure
AKS, PostgreSQL Flexible Server, Blob 스토리지.
무엇이 어디서 실행되는지
Terraform은 관리형 클라우드 서비스를 프로비저닝하고, Helm은 클러스터 안의 워크로드를 설치해요.
| Terraform이 프로비저닝 (관리형 서비스) | Helm이 설치 (클러스터 내부) |
|---|---|
| Kubernetes 클러스터 (EKS / GKE / AKS) | confident-backend: 핵심 API |
| PostgreSQL (RDS / Cloud SQL / Flexible Server) | confident-frontend: 대시보드 |
| 객체 스토리지 (S3 / GCS / Blob) | confident-evals: 평가 서비스 |
| Keyless 워크로드 아이덴티티 | confident-evals-worker 및 백그라운드 워커 |
| 코드 실행기, 관리형 Redis, 시크릿 스토어 (모두 선택) | confident-otel: 트레이스 수집 컬렉터 |
| ClickHouse와 Redis (관리형 서비스를 지정하지 않으면) |
기본적으로 ClickHouse와 Redis는 클러스터 안에서 실행되므로, 기본 배포에는 클러스터, PostgreSQL, 객체 스토리지만 있으면 돼요. 관리형 Redis와 클라우드 시크릿 스토어는 선택 옵션이에요.
Confident AI에서 받는 것
Enterprise 라이선스와 함께 두 가지가 제공돼요. 둘 다 각 클라우드의 Deploy 페이지에서 다룬답니다.
- 이미지 풀 자격 증명 (
imagePullSecrets): 퍼스트파티 이미지는 Confident AI의 비공개 레지스트리에 호스팅돼 있어요. 클러스터로 가져올 수 있는 자격 증명을 받아요.- 라이선스 키 (
CONFIDENT_LICENSE_KEY): 플랜에 포함된 기능을 활성화하는 서명된 키예요. 없으면 앱이 모든 기능이 꺼진 상태로 시작돼요.