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>
This commit is contained in:
2026-05-21 16:25:04 +03:00
parent d20a9d41e4
commit fd8bb13e75
5 changed files with 361 additions and 14 deletions

View File

@@ -0,0 +1,54 @@
# 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.