# 웹 호스팅 서비스 추천 가이드 ## 프로젝트 특성 분석 현재 프로젝트는 다음과 같은 특징을 가지고 있습니다: - Flask 웹 애플리케이션 - SQLite 데이터베이스 - Ollama (로컬 AI 서버) 사용 - 포트 11434 - ChromaDB (벡터 DB) - 로컬 파일 시스템 - 파일 업로드 기능 (최대 100MB) - ML 라이브러리 (sentence-transformers, numpy, chromadb) - Gemini API도 사용 가능 ## 호스팅 옵션 비교 ### 1. VPS (Virtual Private Server) - 추천 ⭐⭐⭐⭐⭐ **왜 추천하는가:** - Ollama와 같은 로컬 AI 서버를 실행할 수 있음 - 전체 시스템 접근 권한 - 파일 시스템 접근 (벡터 DB, 업로드 파일 등) - 커스텀 포트 설정 가능 **추천 서비스:** #### A. AWS Lightsail - **가격**: $5/월 (512MB RAM) ~ $40/월 (8GB RAM) - **장점**: - AWS 생태계와 통합 - 자동 백업 기능 - 쉬운 스케일링 - **단점**: 초기 설정이 약간 복잡 - **추천 사양**: 4GB RAM 이상 (Ollama + ML 모델을 위해) #### B. DigitalOcean Droplets - **가격**: $6/월 (1GB RAM) ~ $48/월 (8GB RAM) - **장점**: - 매우 직관적인 UI - 우수한 문서화 - 예측 가능한 가격 - **단점**: AWS보다 기능이 적음 - **추천 사양**: 8GB RAM 이상 - **링크**: https://www.digitalocean.com/ #### C. Vultr - **가격**: $6/월 (1GB RAM) ~ $40/월 (8GB RAM) - **장점**: - 빠른 서버 생성 - 전 세계 데이터센터 - GPU 서버 옵션 (AI 작업에 유용) - **단점**: 일부 지역은 속도가 느릴 수 있음 - **링크**: https://www.vultr.com/ #### D. Linode (Akamai) - **가격**: $5/월 (1GB RAM) ~ $48/월 (8GB RAM) - **장점**: - 우수한 성능 - 24/7 고객 지원 - 백업 서비스 포함 - **링크**: https://www.linode.com/ ### 2. 클라우드 플랫폼 - 중급 추천 ⭐⭐⭐ #### A. Google Cloud Platform (GCP) Compute Engine - **가격**: 사용한 만큼 지불 (예상 $20-50/월) - **장점**: - Gemini API와의 통합 용이 - 강력한 머신러닝 서비스 - 유연한 설정 - **단점**: 가격 예측이 어려움, 설정 복잡 - **추천 이유**: Gemini API를 사용하고 있어 통합이 용이 #### B. AWS EC2 - **가격**: 사용한 만큼 지불 또는 예약 인스턴스 - **장점**: - 가장 많은 기능과 서비스 - 우수한 확장성 - **단점**: 가격 구조가 복잡, 초기 학습 곡선이 높음 ### 3. Platform-as-a-Service (PaaS) - 제한적 ⭐⭐ **주의사항:** - Ollama를 직접 실행하기 어려움 (컨테이너 제약) - 파일 시스템 접근 제한 (벡터 DB 문제) - 일부 서비스는 ML 라이브러리 설치 제한 #### A. Railway - **가격**: $5/월 + 사용량 - **장점**: 매우 쉬운 배포 - **단점**: Ollama 실행 어려움, 저장 공간 제한 #### B. Render - **가격**: 무료 티어 있음, $7/월부터 - **장점**: 무료 시작 가능 - **단점**: 무료 티어는 제약이 많음, Ollama 실행 어려움 #### C. Heroku - **가격**: $7/월부터 - **단점**: Ollama 실행 어려움, 벡터 DB 저장 공간 제한 ## 최종 추천 순위 ### 1순위: DigitalOcean Droplets (8GB RAM) **이유:** - 설정이 간단하고 직관적 - Ollama와 모든 의존성 설치 가능 - 예측 가능한 가격 - 우수한 성능 **예상 비용**: $48/월 ### 2순위: Vultr (8GB RAM) **이유:** - 빠른 서버 생성 - GPU 옵션 (향후 확장 가능) - 경쟁력 있는 가격 **예상 비용**: $40/월 ### 3순위: AWS Lightsail (4GB RAM) **이유:** - AWS 생태계와의 통합 - 자동 백업 - 확장성 **예상 비용**: $20/월 (시작), 확장 시 추가 비용 ## 배포 시 고려사항 ### 필수 변경사항: 1. **Ollama URL 변경** ```python # 프로덕션 환경에서는 내부 네트워크나 같은 서버에서 실행 OLLAMA_BASE_URL = 'http://localhost:11434' # 동일 서버 # 또는 OLLAMA_BASE_URL = 'http://ollama-server:11434' # 별도 서버 ``` 2. **데이터베이스 백업** - SQLite는 주기적 백업 필요 - PostgreSQL 또는 MySQL로 마이그레이션 고려 (선택사항) 3. **환경 변수 설정** - `.env` 파일 또는 환경 변수로 설정 - SECRET_KEY, GEMINI_API_KEY 등 4. **파일 업로드 경로** - 영구 스토리지 사용 - 백업 전략 수립 5. **프록시 서버 설정** - Nginx 또는 Apache로 리버스 프록시 - HTTPS 설정 (Let's Encrypt 무료 SSL) 6. **프로세스 관리** - systemd, supervisor, 또는 PM2 사용 - 서버 재시작 시 자동 실행 7. **로그 관리** - 로그 파일 로테이션 - 외부 로그 서비스 연동 (선택사항) ## 빠른 시작 가이드 (DigitalOcean 예시) ### 1. Droplet 생성 - Ubuntu 22.04 LTS - 8GB RAM - 160GB SSD - 지역: 서울 (Seoul) 또는 가까운 지역 ### 2. 초기 설정 ```bash # 시스템 업데이트 sudo apt update && sudo apt upgrade -y # 필수 패키지 설치 sudo apt install -y python3-pip python3-venv git nginx certbot python3-certbot-nginx # Ollama 설치 curl -fsSL https://ollama.com/install.sh | sh # 프로젝트 클론 git clone cd "SOY NV AI" # 가상환경 설정 python3 -m venv venv source venv/bin/activate pip install -r requirements.txt ``` ### 3. 환경 변수 설정 ```bash # .env 파일 생성 nano .env ``` ### 4. Nginx 설정 ```nginx server { listen 80; server_name your-domain.com; location / { proxy_pass http://127.0.0.1:5001; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } ``` ### 5. systemd 서비스 생성 ```bash # /etc/systemd/system/soy-nv-ai.service [Unit] Description=SOY NV AI Flask App After=network.target [Service] User=www-data WorkingDirectory=/path/to/SOY NV AI Environment="PATH=/path/to/SOY NV AI/venv/bin" ExecStart=/path/to/SOY NV AI/venv/bin/python run.py [Install] WantedBy=multi-user.target ``` ## 비용 비교표 | 서비스 | 최소 사양 | 월 비용 | 추천 사양 | 월 비용 | |--------|----------|---------|----------|---------| | DigitalOcean | 1GB RAM | $6 | 8GB RAM | $48 | | Vultr | 1GB RAM | $6 | 8GB RAM | $40 | | AWS Lightsail | 512MB RAM | $5 | 4GB RAM | $20 | | Linode | 1GB RAM | $5 | 8GB RAM | $48 | | GCP Compute Engine | - | 사용량 기반 | n1-standard-2 | ~$50 | ## 추가 권장사항 1. **도메인 구매**: Namecheap, GoDaddy 등에서 도메인 구매 2. **SSL 인증서**: Let's Encrypt 무료 SSL 사용 3. **모니터링**: Uptime Robot (무료) 또는 Pingdom 4. **백업**: 자동 백업 스크립트 설정 5. **CDN**: Cloudflare (무료) 사용 고려 ## 다음 단계 1. 호스팅 서비스 선택 2. 서버 생성 및 초기 설정 3. 프로젝트 배포 4. 도메인 연결 및 SSL 설정 5. 모니터링 및 백업 설정 결정하신 호스팅 서비스를 알려주시면 상세한 배포 가이드를 작성해드리겠습니다!