Skip to content

HintKeep@next Azure Web Apps Infrastructure

Andrei edited this page Jul 23, 2025 · 1 revision

💡 Hosting Philosophy: Scalability Meets Simplicity

HintKeep's Web App hosting model prioritizes cost efficiency, flexibility, and streamlined operations—ideal for indie devs, small startups, and projects with serious growth potential. While container deployments offer fine-grained control, Azure Web Apps abstract away much of the infrastructure overhead without sacrificing reliability.

  • Managed Identity or App Settings for secrets—no need for complex ACR credential handling.
  • Shared App Service Plan means lower costs per hosted app.
  • Secrets managed via built-in settings—no external vaults required.
  • Release-gated CI/CD pipelines allow safe, staged rollouts.
  • Seamless CORS integration with Netlify-hosted frontend.

🧱 Web App Architecture Overview

Components

Component Role
HintKeep API Hosted via Azure Web App inside a shared App Service Plan
Frontend (Netlify) Static site deployed to *.hintkeep.com subdomains

Secrets & SAS Tokens

  • Stored in App Settings and Connection Strings
  • Periodically rotated SAS tokens for Azure Storage
  • Updated via CLI or GitHub workflow using Azure commands

🚀 Deployment & DevOps Stack

Infrastructure

  • Defined using Bicep templates
  • Environment-specific .bicepparam files control configuration and provisioning

GitHub Actions Pipelines

Trigger Target Environment Behavior
Push to dev dev Runs build pipeline: tests, linting, build steps
Release Created prod Deploys tagged commit to Web App
Manual Dispatch preview, qa Deploys any selected SHA/branch/tag

SAS Token Rotation
Performed monthly or as needed using:
az storage account generate-sas → then injected via:
az webapp config appsettings set --name hintkeep-api --settings AZURE_SAS_TOKEN="..."


🌐 CORS Configuration

Since Netlify serves the frontend (e.g. hintkeep.com, dev.hintkeep.com), the API must allow cross-origin requests.

Example CORS middleware:

cors({ origin: [ "https://hintkeep.com", "https://dev.hintkeep.com" ] });

Origin domains can be stored in App Settings for dynamic configuration.


♻️ Monthly Maintenance Pipeline

  • SAS token rotation via Azure CLI or workflow
  • Sync and verification of App Settings per environment
  • Preview environments can be provisioned or cleaned up based on .bicepparam updates

✅ Advantages of Web App Hosting for HintKeep

Feature Benefit
CI/CD Driven Deployments Release-based updates with safe gating
Secrets in App Settings Easy management without external dependencies
Low Cost per Environment Shared App Service Plan dramatically cuts expenses
Easy Frontend Integration CORS configuration supports Netlify deployments
Flexible Preview Envs Add slots or new apps with minimal setup friction

💶 Monthly Cost Estimates

Service Plan or Usage Estimated Cost (€/month)
App Service Plan (P1v3) Shared across ~3–4 Web Apps ~€22–25
Blob Storage SAS certs + minimal config data ~€0.02
Table Storage (Optional) For logging, state ~€0.10–0.15
GitHub Actions Free tier €0
Netlify Hosting Free static frontend hosting €0
Total — ~€22.12–25.17/month

Estimate captured in July 2025 for North Europe. Actual cost may vary with usage or currency.

Clone this wiki locally