Skip to main content
Soundcheck’s infrastructure is hosted on Microsoft Azure and managed with Terraform. This enables consistent, version-controlled infrastructure across all environments.

Architecture

The infrastructure is organized into modular components:

Environments


Modules

Networking

  • Azure Virtual WAN
  • Virtual Hub with Azure Firewall
  • Point-to-Site VPN
  • Private DNS zones

Backend

  • Azure App Service for API (production only; disabled in dev and qa)
  • Auto-scaling configuration
  • Health checks

Database

  • PostgreSQL Flexible Server
  • Private network access
  • Automated backups

Frontend

  • Azure Static Web Apps
  • CDN configuration
  • Custom domains

Security

  • Key Vault for secrets
  • Managed identities
  • RBAC policies

Monitoring

  • Application Insights
  • Log Analytics
  • Sentry integration

VPN access

Protected resources are accessible via VPN in dev:
  1. Database resources
  2. Management endpoints
  3. Monitoring dashboards
  4. Internal APIs

VPN setup

1

Get Azure AD Account

Account is provisioned via the user onboarding workflow
2

Install Azure VPN Client

3

Import Configuration

Import azurevpnconfig.xml from 1Password
4

Connect

Uses Azure AD authentication (no certificates required)

GitHub workflows

Terraform apply

Automates infrastructure deployment:
  1. Trigger: Pushes to main, qa, dev branches
  2. Process:
    • Initialize Terraform
    • Security scan with tfsec
    • Plan changes
    • Apply with approval

User onboarding

Manages Azure user access:
  1. Trigger: Manual workflow dispatch
  2. Process:
    • Create Azure AD accounts
    • Assign roles
    • Send credentials via email

Deployment workflow


State management

Terraform state is stored in Azure Blob Storage:

Next steps

Terraform

Deployment workflow and commands

Environments

Environment-specific details

Monitoring

Sentry and observability