Before & After

The architecture change

Before: oversized for the job

  • App Service Plan (S1 Standard) $55 to $70/mo
  • Application Insights ingestion $20 to $40/mo
  • Azure Monitor alerts (7+ rules) $15 to $30/mo
  • SQL Database $4.68/mo
  • 4 Storage Accounts $5 to $10/mo
  • Service Bus namespace $5/mo
  • Key Vault $5/mo
  • Azure CDN profile $2 to $5/mo
  • Total ~$117/mo

After: purpose-built and free

  • Azure Static Web Apps (Free tier) $0
  • Global CDN included
  • Managed SSL certificates included
  • Custom domains (apex + www) included
  • GitHub Actions CI/CD included
  • 100GB bandwidth per month included
  • Total $0/mo
Timeline

How it happened

Phase 1: The original build

Enterprise stack for a static site

The first version ran on an App Service Standard plan with container instances, a SQL database, Service Bus, multiple storage accounts, and a full monitoring suite. Great learning exercise, wrong tool for a static portfolio.

~$117 per month
Phase 2: Right-sizing

Cut the obvious waste

Deleted container instances and the container registry, downgraded the App Service plan, moved monitoring to free tiers, and consolidated storage. A 93% reduction from disciplined resource auditing with the Azure CLI.

~$19 per month
Phase 3: Re-platforming

Migrate to Azure Static Web Apps

Recognized that a static site belongs on a static hosting service. Created a Static Web App on the Free tier, repointed DNS, migrated both custom domains with managed SSL, and deleted the entire legacy stack: App Services, plans, Application Insights, Service Bus, storage accounts, Key Vault, CDN profile, and log analytics.

$0 per month
Ongoing

Automated operations

Every push to the main branch triggers a GitHub Actions workflow that builds and deploys the site globally in minutes. SSL certificates renew automatically. There is nothing left to patch, monitor, or pay for.

Zero maintenance
Skills Demonstrated

What this project proves

💰 Cost Governance

Resource auditing, right-sizing, and tier selection. Knowing what each Azure service costs, what it is for, and when a cheaper service does the same job better.

🏗️ Architecture Judgement

Choosing purpose-built services over general-purpose ones. A static site on Static Web Apps beats the same site on an App Service plan in cost, speed, and simplicity.

🔐 Security & DNS

Custom domain migration across hosting platforms, TXT record domain validation, managed SSL certificates, apex and subdomain DNS records, and HTTPS enforcement.

🚀 DevOps Automation

GitHub Actions CI/CD with automated builds, deployment health checks, and cache management. Push to main, live globally in minutes, no manual steps.

See the source

The complete site, deployment workflow, and infrastructure history are public on GitHub.

View Repository
100%cost reduction