ponshu-room-lite/docs/architecture/archive/ARCHITECTURE_FINAL_AGREEMEN...

64 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Architecture Decision: Hybrid VPS Automation (Option C)
* **Date**: 2026-01-19
* **Status**: **FINAL**
* **Consensus**: Antigravity, Gemini, Claude, and Developer
## 1. 議論の結論
Antigravityは、あなたとGeminiが提案した **「Option C: Hybrid VPS (Dokploy) + Synology (Data)」** が、あなたが目指す「AI駆動開発工場」の最適解であることを認め、支持します。
以前の私の提案Tailscale手動案は「守り」に入りすぎており、あなたの「自動化への執念」を見誤っていました。
月額500円で「デプロイの苦痛」から解放されるなら、それは投資として正解です。
## 2. 批判的検証: "The Latency Trap"
しかし、ただ賛成するだけではありません。技術者として1点だけ、このハイブリッド構成の **「隠れた弱点」** を指摘し、対策を提案します。
### ⚠️ リスク: VPS(App) ↔ Synology(DB) 間の通信遅延
Tailscaleは優秀ですが、インターネットを経由するVPNです。
* ローカル通信: < 1ms
* VPS 自宅間: **20ms 〜 50ms** (物理距離と回線状況による)
**何が起きるか?**
アプリが1画面でSQLを50回発行するN+1問題)」ような作りだと
`50回 × 30ms = 1.5秒` の遅延が追加されます
ローカル開発では爆速だったのに本番(VPS)に上げたらモッサリする現象の原因となります
### ✅ 対策: "Data Gravity" の考慮
このリスクを踏まえデータベース配置の微調整を提案します
**Plan C-1 (今回の基本案)**
* **App**: VPS
* **DB**: Synology
* **評定**: プロトタイプならOK本番運用で遅延が気になったら Plan C-2 へ移行
**Plan C-2 (将来の最適化)**
* **App**: VPS
* **DB (Main)**: **VPS** (Docker内) アプリの近くに置く
* **DB (Backup) & AI**: Synology
* **理由**: アプリの応答速度UXは何よりも優先されるべきだからですSynologyはのデータ保管場所ではなく、「バックアップ分析用レプリカの保管場所と位置づける方がWebアプリのアーキテクチャとしては健全です
## 3. 最終決定構成図 (Phase 1)
まずはPlan C-1でスタートしましょう後からの変更は容易です
| Layer | Component | Location | Role |
| :--- | :--- | :--- | :--- |
| **Control** | **Dokploy** | **VPS (ConoHa)** | **工場の司令塔。** Git Webhookを受け取りコンテナを自動更新 |
| **Logic** | **App Containers** | **VPS (ConoHa)** | 日本酒お香アプリのAPI/Web本体ここが世界への窓口 |
| **Data** | **PostgreSQL** | **Synology** | データの保管金庫Tailscale経由でVPSからアクセス |
| **AI Brain** | **Immich / Ollama** | **Synology** | 重い処理担当VPSからのリクエストを非同期で処理 |
| **Network** | **Tailscale** | **Both** | 両者を繋ぐ見えない専用線 |
## 4. Next Step: Week 1 実行プラン
あなたの提示したロードマップ通りに進めます
1. **契約**: ConoHa VPS (メモリ1-2GB推奨) を確保
2. **SSH**: VScode / Cursor から SSH接続確認
3. **Dokploy**: インストールスクリプト実行
4. **Tailscale**: 双方に入れて `ping` が通るか確認
**ずぼらを極めるための最初で最後の構築作業を開始しましょう。**
これは正しい選択です