soyailabs / HOSTING_RECOMMENDATIONS.md
SOY NV AI
๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ฐœ์„ : ๊ธฐ์กด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋ณ‘ํ•ฉ ๋ฐ ํšŒ์ฐจ ์ •๋ณด ์œ ์ง€
d234e06
|
raw
history blame
6.96 kB
# ์›น ํ˜ธ์ŠคํŒ… ์„œ๋น„์Šค ์ถ”์ฒœ ๊ฐ€์ด๋“œ
## ํ”„๋กœ์ ํŠธ ํŠน์„ฑ ๋ถ„์„
ํ˜„์žฌ ํ”„๋กœ์ ํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค:
- 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 <your-repo-url>
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. ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๋ฐฑ์—… ์„ค์ •
๊ฒฐ์ •ํ•˜์‹  ํ˜ธ์ŠคํŒ… ์„œ๋น„์Šค๋ฅผ ์•Œ๋ ค์ฃผ์‹œ๋ฉด ์ƒ์„ธํ•œ ๋ฐฐํฌ ๊ฐ€์ด๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค!