ADR-0001: Use Azure as cloud provider¶
Status¶
Accepted
Context¶
The Jersal organization needs a cloud provider for hosting applications, databases, and infrastructure. The main options considered were:
- Azure -- Microsoft's cloud platform
- AWS -- Amazon's cloud platform
- GCP -- Google's cloud platform
Key requirements:
- Support for PostgreSQL managed databases
- Static web app hosting
- OIDC integration with GitHub Actions
- Reasonable free tier for early-stage projects
- EU region availability for data residency
Decision¶
Use Microsoft Azure as the primary cloud provider for all Jersal projects.
Specific services in use:
| Service | Purpose |
|---|---|
| Azure PostgreSQL Flexible Server | Shared database server |
| Azure Static Web Apps | Portfolio site + documentation hub hosting |
| Azure Storage | Terraform state backends |
| Azure AD | OIDC federated identity for CI/CD |
Consequences¶
Positive¶
- Azure Static Web Apps provides a generous free tier suitable for static sites
- PostgreSQL Flexible Server supports multiple databases on a single server, reducing cost
- Native OIDC federation with GitHub Actions eliminates stored credentials
swedencentralregion provides EU data residency- Professional experience with Azure at ATR Soft transfers directly
Negative¶
- Azure Static Web Apps does not support all regions (e.g.,
swedencentral), requiringwesteuropefor SWA resources - Azure resource naming constraints (no hyphens in storage accounts) require careful naming conventions
- Vendor lock-in to Azure-specific services (mitigated by using Terraform for portability)
Neutral¶
- Azure pricing is comparable to AWS/GCP for the services used
- Azure DevOps is not used; GitHub Actions serves as the CI/CD platform