Files
admin/.tasks/windows-hosting-vendor-research.md
vitya fd8bb13e75 resilience(roadmap): workshop pass 1 — close design-task; file top-3 impl-tasks
- close [resilience-roadmap-design] 🟢 — roadmap expanded via interactive workshop
  with user (per-service RTO/RPO matrix for 10 services, CMS backup 2-phase plan,
  IIS migration track, 4 secondary topics documented as recommendations)
- file 3 impl-tasks  ready (spawned by roadmap-design):
  - cms-stopgap-backup-daily — Phase 1, plug RPO=∞ via daily rsync to kreknin
  - mssql-minio-migration-to-vds — Phase 2 enabler, achieves RPO 1h target
  - windows-hosting-vendor-research — design-task for IIS migration off home host
- unblock [admin-infra-project-review] 🔵 (last blocker cleared)
- expand .wiki/concepts/future-resilient-architecture-goals.md with §Workshop pass 1
  (canonical) above original §Pre-workshop placeholder (historical)

Key user-decisions zafiksirovany in workshop:
- CMS RTO 4h / RPO 1h (not 1h/15min — overkill for one-person infra)
- MSSQL+MinIO migrate to VDS (not Windows-side managed hosting)
- MSSQL Always-On AG rejected — log shipping every 60min sufficient
- IIS long-term dies with snolla-on-node; transitional via managed Windows host
- Cloud off-site = Yandex Object Storage when needed (kreknin already off-site)
- Monitoring = Uptime Kuma on VDS, high-priority among not-filed

Acceptance per spec (user confirmed plan + concrete impl-tasks top-3 + doc committed) — met.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 16:25:04 +03:00

55 lines
6.2 KiB
Markdown
Raw Permalink 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.
# windows-hosting-vendor-research
## Goal
**Design-таска (1 день)**. Выбрать вендора managed Windows hosting для будущего переезда IIS с [[../entities/windows-recovery-host]] (домашней машины). Цель — конкретный recommendation: **vendor + tariff + migration approach + cost estimate**.
Это **переходный** трек до завершения snolla node-rewrite'а (после которого IIS не нужен вообще, всё в docker/VDS). Не файлим impl-таску миграции до этой research'и — vendor выбираем сначала. Output этой таски — pre-requisite для будущей impl-таски `iis-migration-to-managed-windows-hosting` (большая, не сейчас).
## Key constraints для оценки
- **RDP-доступ** обязателен (IIS configs руками удобнее, web-deploy не масштабируется на 8+ sites)
- **.NET Framework 4.8 native** (snolla CMS на 4.8.1, **не** .NET Core/.NET 6+)
- **IIS 10** или совместимый (URL Rewrite 2.1 нужен — см. [[../.wiki/concepts/cms-server-port-leak-fix]])
- **HTTPS + custom certs / LE** — currently traefik 4443 → IIS 8089; на managed может быть vendor-managed cert или своя LE setup
- **SSH / SFTP / WinRM для deploys** (для sites contents — IIS site dirs ~100MB-1GB каждая)
- **External MSSQL/MinIO connection** обязателен (после [[mssql-minio-migration-to-vds]] они на [[../entities/vds-kzntsv]]) — **не нужно** DB на этом hosting
- **Public IP** или alternative (Cloudflare Tunnel?) — куда DNS клиентских доменов будет указывать
- **Budget reference:** current Rusonyx VDS 160 NVMe ~2000₽/мес; managed Windows обычно 2-3x = 4000-6000₽/мес ожидаемо
## Candidates для investigation
- **Rusonyx** (у тебя уже там VDS-аккаунт + опыт онбординга — см. [[../.wiki/concepts/rusonyx-vps-onboarding-quirks]]) — есть Windows VPS-планы
- **Selectel** — managed cloud, есть Windows VPS dedicated, хорошие reviews
- **FirstVDS** — Windows VPS традиционно, дешевле Selectel
- **Beget** — Windows hosting, обычно shared (проверить про CMS-deploy access — нужен ли VPS-уровень)
- **JustHosting / IHC** — может быть relevant как backup-option
## Acceptance
1. **Comparison table:** vendor × columns:
- RDP / SSH / WinRM
- .NET Framework version (native install? сами ставим? supports 4.8?)
- IIS version + URL Rewrite доступность
- Public IP (включён? extra?)
- Cost monthly (Windows VPS tariff + Windows license если BYOL)
- One-time setup cost
- Migration friction (есть ли import tools? чистый IIS deploy?)
- SLA (uptime guarantee, ticket response time)
- User reviews / community feedback
2. **Top-1 recommendation** с обоснованием trade-off'а (cheap-and-simple vs feature-rich). Не меню — одна рекомендация.
3. **Migration approach outline:** backup IIS sites + configs → deploy on target → DNS swap → cutover plan. Один level deep (не runbook полный, его пишет уже impl-таска).
4. **Cost estimate:** monthly + one-time setup для recommended vendor.
5. **Documented in** `.wiki/concepts/windows-hosting-vendor-comparison-2026.md` (создать) — markdown с table + recommendation + sources (links to vendor pages, дата сверки).
6. **Follow-up impl-task** `iis-migration-to-managed-windows-hosting` file'нута как ⚪ ready **после** research (не самим этим таском — пусть future-agent file'нёт когда vendor выбран и user готов начать миграцию).
## Decisions log
- 2026-05-21: создана из roadmap-workshop'а ([[../.wiki/concepts/future-resilient-architecture-goals]] §"IIS migration track"). User-stated long-term direction: snolla на node, после чего IIS не нужен вообще. Pre-this: managed Windows host = переходный, чтобы убрать SPOF домашней машины. **Не оптимизируем под "идеальный навсегда"** — vendor выбираем чтобы comfortably прожить 6-18 мес. Поэтому cost > feature-completeness в trade-off.
## Open questions
- [ ] **Дата ожидаемого готового snolla-on-node** — влияет на whether-to-bother миграцией. Если node-build готов через 3 мес → managed hosting вообще не нужен, stay on windows-recovery-host as-is + accept SPOF risk; если через 12+ мес → migration оправдана. User input needed.
- [ ] **Будет ли куплен Windows Server license отдельно** (если vendor требует BYOL — Bring Your Own License) или vendor-included? Добавляет cost.
- [ ] **DDoS protection требуется?** На текущем setup нет (через бытовой провайдер); на public managed Windows тоже обычно нет default, доп-опция. Defer пока не было атаки.
- [ ] **Multi-site IIS vs single-site:** 8 hosts на одном IIS instance vs split по бOльшему количеству VPS. Single-site проще, multi-site = sub-SPOF разбит, но 2-3x cost. Default рекомендация — single-site если cost важен.
## Notes
**Anti-pattern для избегания:** не выбирать первого попавшегося vendor без сравнения. RU Windows-hosting рынок небольшой, но цены и качество разнятся 2-5x. Read reviews on vds.menu, otzyvy.pro перед commitment.
**После выбора:** трехмесячный pilot с одним low-traffic site (например `kupimknigi.spb.ru` — самый низкий трафик per [[../.wiki/concepts/recovery-architecture-snapshot]]) перед миграцией всех 8. Снижает risk catastrophic migration failure.