The $0 Cloud Stack: Running a Real Media Site on Azure and Google Cloud Free Tiers
Most “Azure vs Google Cloud” articles are written by people who run neither in production. They paraphrase the pricing pages and call it a comparison.
We do something different: we run the same media property on both clouds at the same time — and the entire thing costs $0/month. Google Cloud is the live operational stack. Azure is a parallel “newsroom” of always-free services running on a dedicated lab domain, tygart.media, mirroring each capability of the live site. Two clouds, one operation, both AI ecosystems watching it work.
This is the desk-by-desk breakdown — what each cloud actually does for us, where the free tier runs out, and which one wins each specific job. No theory. This is the running system.
Why run on both clouds at once
There’s a strategic reason beyond “free is fun.” Search and AI assistants don’t share a brain. Google’s models optimize for Google’s index; Microsoft’s Copilot and Bing optimize for Microsoft’s graph. When ~84% of your organic traffic comes from Bing, having your stack only inside Google’s telemetry is a blind spot.
Running enrichment through Azure puts the same content inside Microsoft’s service graph the same way Google Cloud puts it inside Google’s. You stop guessing how each ecosystem sees you, because you’re operating inside both.
The serverless compute plane
The heart of the stack: code that runs after you push a file and close the laptop.
How we do it
| Azure | Google Cloud | Verdict | |
|---|---|---|---|
| Service | Azure Functions | Cloud Run | Cloud Run for containers; Functions for glue |
| Free ceiling | 1M requests/month | 2M requests/month | Google, on raw headroom |
| Deploy model | Functions Core Tools / GitHub Actions | Keyless deploy via Workload Identity Federation | Google — no stored keys is a real security win |
| What surprised us | Generous, but watch billable side resources | Cold starts negligible at our scale | — |
| Our bill | $0 | $0 | Tie where it counts |
Pick Cloud Run if you’re already containerized and want keyless CI/CD. Pick Azure Functions if your automation lives in the Microsoft ecosystem and you want Logic Apps next door.
The content enrichment desks
This is where Azure’s always-free tier quietly outclasses expectations — a full newsroom of AI services that never bill at our volume.
How we do it
| Job | Azure | Google Cloud | Verdict |
|---|---|---|---|
| Translation | Translator — 2M chars/mo free (~300 articles) | Cloud Translation | Azure — bigger perpetual free ceiling |
| Article audio | Neural TTS — 500K chars/mo | Cloud Text-to-Speech | Toss-up; both natural |
| Entity extraction (for GEO) | AI Language — 5K records/mo | Cloud Natural Language | Azure — likely the same signal family Bing uses |
| Site search | Azure AI Search — 3 indexes free | Vertex AI Search | Azure — it’s the engine behind Bing |
The entity-extraction line matters most. We feed articles through Azure AI Language to pull named entities and key phrases, then saturate the content with them. We’re optimizing for the same entity signals Microsoft’s own systems use to select content — which is the whole game when Bing drives most of your traffic.
The storage and front-end layer
How we do it
| Job | Azure | Google Cloud | Verdict |
|---|---|---|---|
| Document store | Cosmos DB — 1,000 RU/s + 25GB free | Firestore | Azure — Cosmos free tier is generous (one per subscription) |
| Relational | Azure SQL — serverless free | Cloud SQL (no perpetual free) | Azure, clearly |
| Static hosting | Static Web Apps — 100GB bandwidth | Firebase Hosting | Tie; both excellent |
For a small operations ledger or a knowledge base, Azure’s always-free Cosmos DB and serverless SQL are the standout — Google Cloud has no equivalent perpetual-free relational tier.
What it actually costs: nothing (if you’re disciplined)
The honest caveat: free compute can still trigger billable side resources. A “free” VM drags along disks, public IPs, and monitoring logs that bill immediately with no throttling. The discipline that keeps the bill at zero:
- Deploy from the free-services blade, not the general catalog.
- Set a budget alert on day one — before you provision anything.
- Prefer serverless over VMs — the consumption tiers reset monthly and don’t drag side resources.
- One Cosmos DB free tier per subscription — plan around it.
Do that, and a real, AI-enriched media property runs across two clouds for $0.
The takeaway
Single-cloud is a bet that one ecosystem’s view of your content is the only one that matters. When the traffic data says otherwise — when most of your readers arrive through the other company’s search and AI — bilateral cloud stops being a novelty and becomes the obvious posture. The free tiers make it cost nothing but discipline.
Frequently asked questions
Is it really free to run on both Azure and Google Cloud?
Yes, at small-site scale. Both clouds offer always-free serverless tiers (Azure Functions 1M requests/month, Cloud Run 2M requests/month) plus free AI, storage, and hosting services. The cost risk is billable side resources like VM disks and public IPs — avoidable by staying serverless and setting a budget alert.
Which is better for serverless, Azure or Google Cloud?
Cloud Run wins on raw request headroom (2M vs 1M/month) and keyless deploys via Workload Identity Federation. Azure Functions wins if your automation already lives in the Microsoft ecosystem and benefits from Logic Apps and Event Grid next door.
Why would you run the same site on two clouds?
AI ecosystems don’t share telemetry. Google’s models favor Google’s index; Bing and Copilot favor Microsoft’s graph. If a large share of your traffic comes from Bing, running enrichment through Azure puts your content inside Microsoft’s service graph instead of leaving it a blind spot.
Does Azure have a better free tier than Google Cloud?
For perpetual always-free services, Azure is broader — 65+ always-free services including Cosmos DB (1,000 RU/s + 25GB) and serverless Azure SQL, which Google Cloud has no direct perpetual-free equivalent for. Google Cloud wins on serverless request volume and keyless security.
What’s the catch with Azure’s always-free tier?
Limits reset monthly and overages bill immediately with no throttling. Free VMs also trigger billable disks, public IPs, and monitoring logs. Deploy from the free-services blade, prefer serverless, and set a budget alert before provisioning.