Files
boc/intelligence/2026-06-04-enterprise-resiliens-audit.md
T
Bernt bae705aa97 ARCHITECTURE: NFC roadmap, edge AI, audit logging
- Add NFC ePassport roadmap (ICAO 9303, eIDAS)
- Add TensorFlow.js edge face detection (BlazeFace)
- Add structured audit logger (GDPR-compliant)
- Risk scoring support

Part of KYC Apple Native UX v1.1.0
2026-06-29 16:24:48 +00:00

73 lines
4.8 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.
# ENTERPRISE-RESILIENS AUDIT (2026-06-04 23:xx UTC)
> Erik: "Tänk om vi har 10 000 betalande kunder och api-anrop går ner — förödande. Utvärdera vad mer vi kan göra för enterprisedrift."
## FAKTISKA FYND (inspekterat, ej antaget)
### 🔴 KRITISKA SINGLE POINTS OF FAILURE
1. **EN host kör ALLT** — server-2: ~9 PM2 Node-tjänster + 27 Rust-mikrotjänster + amos-core (AI-kärna). Servern dör → hela plattformen dör. Ingen LB, ingen auto-scaling, ingen hot standby för prod.
2. **RDS single-AZ**`platform-identity-core` db.t4g.small, **MultiAZ=FALSE**. ALL affärsdata + quiXzoom + ledger. DB-failure → total otillgänglighet tills manuell snapshot-restore (timmar). Detta är farligast NU.
3. **db.t4g.small** — pytteliten DB-klass för 27+ tjänster. Klarar absolut INTE 10 000 betalande kunder.
4. **AI-provider kredit kan ta slut tyst** — hände med Grok idag. Ingen auto-failover på kredit/kvot-fel i model-router.
### 🟡 FINNS MEN OVERIFIERAT/OFULLSTÄNDIGT
- circuit-breaker.mjs finns (3 varianter) — oklart om aktivt överallt
- model-router fallbackChain finns för compliance-modeller — men INTE kredit-failover
- rate-limit-middleware finns, Redis-cache finns, RabbitMQ kör
- RDS backup retention 35 dagar + daglig auto-snapshot ✅ (bra!)
- quiXzoom foton på S3 (durable) ✅
- K8s-kluster finns (buildkit/kong/platform LBs) men prod-tjänster körs EJ i k8s
### ✅ AI-PROVIDERS KREDIT (live-testat)
Anthropic/OpenAI/Perplexity/Groq/Gemini/DeepSeek = OK. xAI/Grok = TOM (ticket skapad).
## ÅTGÄRDSPLAN (prio efter risk × enkelhet)
### P0 — GÖR FÖRST (farligast, relativt enkelt)
1. **RDS Multi-AZ ON** — enda kommando/konsol-toggle, AWS sköter synkron replikering + auto-failover. Eliminerar #2. RTO från timmar → ~60-120s. (Winston godkänner kostnad, Johan kör.)
2. **AI-provider auto-failover** i model-router — vid 429/quota/credit-fel → nästa provider i kedjan. Aldrig hårt fel. (Johan, PROV-002 redan skickad.)
3. **Uppgradera RDS-klass** — db.t4g.small → minst db.r6g.large/xlarge. Kapacitet för skala.
### P1 — NÄSTA (host-redundans)
4. **Andra host + load balancer** — minst 2 EC2 bakom ALB över olika AZ. Stateless Node/Rust-tjänster replikeras. En host dör → andra tar över.
5. **Health-checks + auto-restart** — ALB health-probes, auto-replace döda instanser.
6. **Observability-stack** — central strukturerad logg (correlation IDs, tenant-tag), distributed tracing, per-provider AI-metrics (qps/felrate/latens/kostnad), SLO-dashboards.
7. **Graceful degradation** — definiera core vs nice-to-have per domän. AI-fel → deterministisk fallback. DB-skrivfel → read-only-läge. Integration nere → köa i RabbitMQ (outbox-pattern), visa "pending" ej hårt fel.
### P2 — MOGNAD (enterprise-grade)
8. **Multi-region DR** — async-replikerad standby i annan region. Offsite-backup utanför primär AWS (WORM/air-gapped).
9. **SLA-formalisering** — internt SLO 99,95%, sälj 99,9%. Definiera "downtime" per tenant. Koppla breach till krediter.
10. **Failover-/restore-ÖVNING** — kvartalsvis. (Bara 25% av SaaS testar faktiskt — vi ska vara i de 25%.)
11. **Load-test** — simulera 10 000 kunders last innan vi har dem.
12. **Idempotenta writes + spend caps** på AI-lagret.
## BENCHMARK (Perplexity, källor [1][2])
- 99,9% = 43 min nedtid/mån (de flesta B2B-SaaS). 99,99% = 4,3 min (kräver multi-region + 24/7 on-call).
- Vanligaste misstag: lovar 99,99% utan multi-region; har DR-dok men övar aldrig (75% övar ej); hårdkodar OpenAI-direkt utan adapter/failover.
- Vi har RÄTT byggstenar (circuit-breaker, queue, cache) men de är inte satta i system för failover.
## TICKETS: skickade till Johan (teknisk) + Winston (kostnad/godkännande)
---
## ✅ EXEKVERAT (Erik godkände kostnad 2026-06-04 23:25 UTC)
### RES-001 Multi-AZ — KLART ✅
- Säkerhetssnapshot tagen (pre-multiaz) + 3 dagliga auto-snapshots som återställningspunkter
- `aws rds modify-db-instance --multi-az --apply-immediately`
- MultiAZ: false → **true**. Synkron standby i annan AZ. RTO timmar → ~60-120s.
- NOLL nedtid under konvertering — alla appar (quixzoom/ledger/amos-core) online + DB-anslutna hela tiden. Verifierat.
### RES-003 Klassuppgradering — PÅGÅR ⏳
- t4g.small (2GB RAM) → **r6g.large (16GB RAM)**, `apply-immediately`
- Multi-AZ ger standby-först-uppgradering = minimal nedtid (sekunder vid failover istället för minuter)
- Cron-vakt (5min) verifierar slutförande + bekräftar till Erik + self-cleanup
- App online under hela processen (verifierat löpande)
### Resultat
Värsta single point of failure (single-AZ DB) ELIMINERAD inför lansering.
DB-kapacitet 8x (2→16GB) för 10k kunder.
### Kvar (ticketat)
- RES-004 Andra host + ALB (Winston godkänt kostnad — kan köras härnäst)
- PROV-W1..6 provider-kort (Winston)