- 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
143 lines
4.1 KiB
Markdown
143 lines
4.1 KiB
Markdown
# 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
|