- Reorganize docs into 'Core deployment guides' and 'Setup and configuration' subdirectories - Consolidate redundant documentation files (ACR, pipelines, deployment guides) - Add documentation consolidation plan - Update backend database factory and logger services - Update migration script and docker-compose configurations - Add PostgreSQL setup script
5.3 KiB
5.3 KiB
Azure Deployment - Quick Reference
🎯 In één oogopslag
Applicatie: CMDB Insight (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:
/healthendpoint - 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
- DNS: Kunnen we
cmdb.zuyderland.nlkrijgen? - SSL: App Service Certificate of Let's Encrypt?
- Network: Direct internet of via VPN/ExpressRoute?
- Monitoring: Nieuwe workspace of bestaande?
- Backup: Niet nodig - data wordt gesynchroniseerd vanuit Jira Assets
- 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
📋 Deployment Stappen Overzicht
1. Azure Resources Aanmaken
# Resource Group
az group create --name rg-cmdb-gui --location westeurope
# App Service Plan (Basic B1)
az appservice plan create --name plan-cmdb-gui --resource-group rg-cmdb-gui --sku B1 --is-linux
# Web Apps
az webapp create --name cmdb-backend --resource-group rg-cmdb-gui --plan plan-cmdb-gui
az webapp create --name cmdb-frontend --resource-group rg-cmdb-gui --plan plan-cmdb-gui
# Key Vault
az keyvault create --name kv-cmdb-gui --resource-group rg-cmdb-gui --location westeurope
2. Database Setup
- PostgreSQL (Aanbevolen): Zie
docs/AZURE-POSTGRESQL-SETUP.md - SQLite: Geen extra setup nodig (database in container)
3. Configuration
- Environment variabelen via App Service Configuration
- Secrets via Key Vault references
- SSL certificaat via App Service (automatisch voor *.azurewebsites.net)
4. CI/CD
- Azure DevOps Pipelines: Zie
docs/AZURE-PIPELINES.md - Automatische deployment bij push naar main branch
📞 Contact & Documentatie
Voor volledige deployment guides, zie:
docs/AZURE-APP-SERVICE-DEPLOYMENT.md- Complete stap-voor-stap guidedocs/AZURE-POSTGRESQL-SETUP.md- Database setupdocs/AZURE-PIPELINES.md- CI/CD pipelinesdocs/PRODUCTION-DEPLOYMENT.md- Production best practices