# 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