Azure Static Web Apps vs Firebase Hosting: A Dashboard on Each
A static front-end — an internal dashboard, a docs site, a landing page — is the most thankless thing to host badly and the most satisfying thing to host well. You want a global CDN, free SSL, a custom domain, and CI/CD that redeploys when you push, all without standing up a server or paying a cent. Both Azure and Google have a purpose-built free product for exactly this, and they’re both genuinely excellent.
We host the same internal dashboard on both Azure Static Web Apps and Firebase Hosting, on the free tiers, and compare. Short answer: this is a toss-up — both are excellent, pick by ecosystem. Azure Static Web Apps free tier gives you 100 GB of bandwidth, 2 custom domains, 0.5 GB per app, free managed SSL, and built-in CI/CD straight from GitHub. Firebase Hosting’s free Spark plan gives you 10 GB of storage, 360 MB/day of transfer, free SSL, and custom domains. The right answer is whichever cloud your other services already live in.
This is the breakdown from the running lab on tygart.media — bandwidth and limits, CI/CD, auth and functions integration, custom domains, and the CDN.
The free-tier ceilings
How we do it
| Azure | Google Cloud | Verdict | |
|---|---|---|---|
| Free bandwidth | 100 GB total | 360 MB/day (~10 GB/mo) transfer | Azure on raw monthly headroom |
| Free storage per app | 0.5 GB | 10 GB | Firebase on storage |
| Custom domains (free) | 2 | Multiple supported | Firebase, slightly |
| Free managed SSL | Yes | Yes | Tie |
| Built-in CI/CD | Yes (GitHub Actions wired automatically) | Yes (Firebase CLI / GitHub Action) | Azure, slightly more turnkey |
The numbers favor different things. Azure leads on monthly bandwidth — 100 GB is a lot of dashboard traffic — while Firebase leads on storage, with 10 GB versus Azure’s 0.5 GB per app. For an internal dashboard, neither limit is close to binding: the assets are small and the audience is a handful of people. Firebase’s 360 MB/day transfer cap is the one to watch only if a dashboard goes unexpectedly viral, which an internal tool won’t.
CI/CD, auth, and functions
This is where “static hosting” stops being just a CDN and starts being a platform.
How we do it
| Azure | Google Cloud | Verdict | |
|---|---|---|---|
| Deploy on git push | Auto-wired GitHub Actions | Firebase CLI or GitHub Action | Azure on zero-config setup |
| Built-in auth | Yes (Entra, GitHub, social — built in) | Via Firebase Authentication | Azure for bundled, Firebase for depth |
| Serverless functions | Built-in Azure Functions integration | Cloud Functions / pairs naturally | Tie — both have a backend path |
| Staging environments | Free preview environments per PR | Preview channels | Tie |
| Setup friction | Connect repo, done | CLI init, done | Azure, slightly |
Azure Static Web Apps’ standout is how much it bundles by default: connect a GitHub repo and it writes the Actions workflow for you, provisions preview environments per pull request, and offers built-in authentication (Entra, GitHub, and social providers) without you wiring an auth service. Firebase matches the capability but composes it from named products — Firebase Authentication and Cloud Functions — which is more à la carte and, if you’re already deep in Firebase, more powerful and familiar.
Custom domains and the CDN
How we do it
| Azure | Google Cloud | Verdict | |
|---|---|---|---|
| Custom domain setup | 2 free, managed cert | Add domain, managed cert | Tie |
| Global CDN | Yes, included | Yes, included (Fastly-backed) | Tie |
| Cache control | Configurable | Configurable | Tie |
| TTFB at our scale | Fast | Fast | Tie |
Both put your dashboard behind a real global CDN with automatic SSL on a custom domain, and at our scale the time-to-first-byte was indistinguishable. This part is genuinely a wash — both clouds have solved static delivery.
What surprised us
- Azure’s per-PR preview environments are a delight. Open a pull request and you get a live URL of that exact change, free, with no setup. For reviewing dashboard tweaks it’s better than we expected.
- Firebase’s storage allowance is the bigger one. 10 GB versus 0.5 GB sounds dramatic, but for a static front-end neither limit matters — the assets are tiny.
- Azure’s built-in auth saved real work. Adding GitHub login to an internal dashboard was nearly free of code on Azure; on Firebase it meant wiring Firebase Authentication, which is more capable but more steps.
- The hosting itself is a non-event on both. Push, it’s live, it’s fast, it’s free. That’s the whole experience — exactly as it should be.
The takeaway
Pick Azure Static Web Apps if you want the most bundled experience — auto-wired GitHub CI/CD, free per-PR preview environments, and built-in authentication — and your stack already leans Microsoft. The 100 GB bandwidth is generous for any internal tool.
Pick Firebase Hosting if you’re already in the Firebase/Google ecosystem and want its deeper, composable Authentication and Cloud Functions, or you value the larger 10 GB storage allowance. It pairs naturally with the rest of Firebase.
Honestly, for a static dashboard you can’t go wrong. We run the dashboard on whichever cloud hosts the data and functions behind it — co-location beats cleverness. Both deliver the dashboard fast, on a custom domain, with free SSL, at $0.
This is part of our “Two Clouds, One Site” series — we run the same media property on both Azure and Google Cloud on the free tiers, hosting the same dashboard on each to feel where the platforms differ. The lab lives on tygart.media; the findings publish here.
Frequently asked questions
What do the free tiers of Azure Static Web Apps and Firebase Hosting include?
Azure Static Web Apps’ free tier includes 100 GB of bandwidth, 2 custom domains, 0.5 GB of storage per app, free managed SSL, and built-in GitHub CI/CD. Firebase Hosting’s free Spark plan includes 10 GB of storage, 360 MB/day of transfer, free SSL, and custom domains. Azure leads on bandwidth; Firebase leads on storage.
Which is better for hosting a static site or dashboard for free?
Both are excellent and the choice comes down to ecosystem. Azure Static Web Apps bundles more by default — auto-wired CI/CD, per-PR preview environments, and built-in authentication. Firebase Hosting pairs naturally with Firebase Authentication and Cloud Functions and offers more free storage. Pick the one matching the rest of your stack.
Does Azure Static Web Apps include built-in authentication?
Yes. Azure Static Web Apps offers built-in authentication with Entra ID, GitHub, and social providers without wiring a separate auth service, which makes adding login to an internal dashboard nearly code-free. Firebase achieves the same through Firebase Authentication, which is more capable but takes more setup.
Do both Azure Static Web Apps and Firebase Hosting give free SSL and custom domains?
Yes. Both provide free managed SSL certificates and support custom domains on the free tier — Azure includes 2 custom domains, and Firebase supports adding custom domains with managed certificates. Both also put your site behind a global CDN at no cost.
Will I hit the free hosting limits with an internal dashboard?
Almost certainly not. An internal dashboard serves small assets to a few people, so neither Azure’s 100 GB bandwidth nor Firebase’s 360 MB/day transfer comes close to binding. Firebase’s daily transfer cap would only matter if a public site went unexpectedly viral.
Leave a Reply