Skip to content

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
  • swedencentral region 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), requiring westeurope for 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