Add database adapter system, production deployment configs, and new dashboard components
- Add PostgreSQL and SQLite database adapters with factory pattern - Add migration script for SQLite to PostgreSQL - Add production Dockerfiles and docker-compose configs - Add deployment documentation and scripts - Add BIA sync dashboard and matching service - Add data completeness configuration and components - Add new dashboard components (BusinessImportanceComparison, ComplexityDynamics, etc.) - Update various services and routes - Remove deprecated management-parameters.json and taxonomy files
This commit is contained in:
142
docs/AZURE-QUICK-REFERENCE.md
Normal file
142
docs/AZURE-QUICK-REFERENCE.md
Normal file
@@ -0,0 +1,142 @@
|
||||
# Azure Deployment - Quick Reference
|
||||
|
||||
## 🎯 In één oogopslag
|
||||
|
||||
**Applicatie**: Zuyderland CMDB GUI (Node.js + React web app)
|
||||
**Doel**: Hosten in Azure App Service
|
||||
**Gebruikers**: Max. 20 collega's
|
||||
**Geschatte kosten**: €18-39/maand (Basic tier)
|
||||
**Complexiteit**: Laag (eenvoudige web app deployment)
|
||||
|
||||
---
|
||||
|
||||
## 📦 Wat hebben we nodig?
|
||||
|
||||
### Core Services
|
||||
- ✅ **Azure App Service Plan (B1)**: Gedeeld tussen Backend + Frontend
|
||||
- ✅ **Azure Key Vault**: Voor secrets (OAuth, API keys)
|
||||
- ✅ **Database**: PostgreSQL (aanbevolen) of SQLite (huidige)
|
||||
- PostgreSQL: Azure Database for PostgreSQL (B1ms) - €20-30/maand
|
||||
- SQLite: Azure Storage - €1-3/maand
|
||||
- ✅ **Application Insights (Basic)**: Monitoring & logging (gratis tot 5GB/maand)
|
||||
|
||||
### Networking
|
||||
- ✅ **HTTPS**: SSL certificaat (App Service Certificate of Let's Encrypt)
|
||||
- ✅ **DNS**: Subdomain (bijv. `cmdb.zuyderland.nl`)
|
||||
- ✅ **Outbound**: Toegang naar `jira.zuyderland.nl` (HTTPS)
|
||||
|
||||
### Security
|
||||
- ✅ **OAuth 2.0**: Authenticatie via Jira
|
||||
- ✅ **Secrets**: Alles in Key Vault
|
||||
- ✅ **HTTPS Only**: Geen HTTP toegang
|
||||
|
||||
---
|
||||
|
||||
## 💰 Kosten Breakdown
|
||||
|
||||
**Optie 1: Met SQLite (huidige setup)**
|
||||
| Item | Maandelijks |
|
||||
|------|-------------|
|
||||
| App Service Plan (B1) | €15-25 |
|
||||
| Application Insights (Basic) | €0-5 |
|
||||
| Storage + Key Vault | €2-5 |
|
||||
| **Totaal** | **€17-35** |
|
||||
|
||||
**Optie 2: Met PostgreSQL (aanbevolen voor identieke dev/prod)**
|
||||
| Item | Maandelijks |
|
||||
|------|-------------|
|
||||
| App Service Plan (B1) | €15-25 |
|
||||
| PostgreSQL Database (B1ms) | €20-30 |
|
||||
| Application Insights (Basic) | €0-5 |
|
||||
| Key Vault | €1-2 |
|
||||
| **Totaal** | **€36-62** |
|
||||
|
||||
*Zie `DATABASE-RECOMMENDATION.md` voor volledige vergelijking*
|
||||
*Backup niet nodig - data sync vanuit Jira Assets*
|
||||
|
||||
---
|
||||
|
||||
## ⚙️ Technische Details
|
||||
|
||||
**Backend:**
|
||||
- Node.js 20, Express API
|
||||
- Poort: 3001 (intern)
|
||||
- Health check: `/health` endpoint
|
||||
- Database: SQLite (~20MB - huidige grootte)
|
||||
- **Resources**: 1 vCPU, 1.75GB RAM (B1 tier - voldoende)
|
||||
- **Backup**: Niet nodig - data sync vanuit Jira Assets
|
||||
|
||||
**Frontend:**
|
||||
- React SPA
|
||||
- Static files via App Service
|
||||
- API calls naar backend via `/api/*`
|
||||
|
||||
**Dependencies:**
|
||||
- Jira Assets API (outbound HTTPS)
|
||||
- Anthropic API (optioneel, voor AI features)
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Deployment Opties
|
||||
|
||||
### Optie 1: Azure App Service Basic (Aanbevolen) ⭐
|
||||
- **Pro**: Eenvoudig, managed service, goedkoop, voldoende voor 20 gebruikers
|
||||
- **Con**: Geen auto-scaling (niet nodig), minder flexibel dan containers
|
||||
- **Tijd**: 1 dag setup
|
||||
- **Kosten**: €18-39/maand
|
||||
|
||||
### Optie 2: Azure Container Instances (ACI)
|
||||
- **Pro**: Snelle setup, container-based
|
||||
- **Con**: Duurder dan App Service, minder managed features
|
||||
- **Tijd**: 1 dag setup
|
||||
- **Kosten**: €30-50/maand
|
||||
|
||||
**Niet aanbevolen voor 20 gebruikers** - App Service is goedkoper en eenvoudiger.
|
||||
|
||||
---
|
||||
|
||||
## ❓ Vragen voor Jullie
|
||||
|
||||
1. **DNS**: Kunnen we `cmdb.zuyderland.nl` krijgen?
|
||||
2. **SSL**: App Service Certificate of Let's Encrypt?
|
||||
3. **Network**: Direct internet of via VPN/ExpressRoute?
|
||||
4. **Monitoring**: Nieuwe workspace of bestaande?
|
||||
5. **Backup**: Niet nodig - data wordt gesynchroniseerd vanuit Jira Assets
|
||||
6. **Compliance**: Specifieke requirements? (NEN 7510, ISO 27001)
|
||||
|
||||
---
|
||||
|
||||
## 📋 Checklist voor Go-Live
|
||||
|
||||
- [ ] Resource Group aangemaakt
|
||||
- [ ] App Service Plan geconfigureerd
|
||||
- [ ] 2x Web Apps aangemaakt (backend + frontend)
|
||||
- [ ] Key Vault aangemaakt met secrets
|
||||
- [ ] Storage Account voor database
|
||||
- [ ] SSL certificaat geconfigureerd
|
||||
- [ ] DNS record aangemaakt
|
||||
- [ ] Application Insights geconfigureerd
|
||||
- [ ] Health checks getest
|
||||
- [ ] Monitoring alerts ingesteld
|
||||
|
||||
---
|
||||
|
||||
## 📝 Belangrijke Notities
|
||||
|
||||
**Schaalbaarheid**: Deze setup is geoptimaliseerd voor **max. 20 gebruikers**.
|
||||
- Basic B1 tier (1 vCPU, 1.75GB RAM) is ruim voldoende
|
||||
- Geen auto-scaling nodig
|
||||
- Geen load balancer nodig
|
||||
- Eenvoudige, kosteneffectieve oplossing
|
||||
|
||||
**Als het aantal gebruikers groeit** (>50 gebruikers), overweeg dan:
|
||||
- Upgrade naar B2 tier (€50-75/maand)
|
||||
- Of Standard S1 tier voor betere performance
|
||||
|
||||
---
|
||||
|
||||
## 📞 Contact
|
||||
|
||||
Voor vragen over de applicatie zelf, zie:
|
||||
- `PRODUCTION-DEPLOYMENT.md` - Volledige deployment guide
|
||||
- `AZURE-DEPLOYMENT-SUMMARY.md` - Uitgebreide Azure specifieke info
|
||||
Reference in New Issue
Block a user