Files
cmdb-insight/docs/Core deployment guides/AZURE-QUICK-REFERENCE.md
Bert Hausmans f4399a8e4e Consolidate documentation and update backend services
- 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
2026-01-22 22:45:54 +01:00

178 lines
5.3 KiB
Markdown

# 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: `/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
---
## 📋 Deployment Stappen Overzicht
### 1. Azure Resources Aanmaken
```bash
# 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 guide
- `docs/AZURE-POSTGRESQL-SETUP.md` - Database setup
- `docs/AZURE-PIPELINES.md` - CI/CD pipelines
- `docs/PRODUCTION-DEPLOYMENT.md` - Production best practices