<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Unclouding the Cloud]]></title><description><![CDATA[Unclouding the Cloud]]></description><link>https://unclouded.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Thu, 12 Nov 2026 07:15:18 GMT</lastBuildDate><atom:link href="https://unclouded.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Cloud Run or Cloudish for file-based app data]]></title><description><![CDATA[Cloud Run vs Cloudish for a SQLite app: regions, pricing, and whether the database file survives. An honest look at where each wins.]]></description><link>https://unclouded.hashnode.dev/cloud-run-or-cloudish-for-file-based-app-data</link><guid isPermaLink="true">https://unclouded.hashnode.dev/cloud-run-or-cloudish-for-file-based-app-data</guid><category><![CDATA[Cloud]]></category><category><![CDATA[hosting]]></category><category><![CDATA[google cloud]]></category><category><![CDATA[containers]]></category><category><![CDATA[agentic ai development]]></category><dc:creator><![CDATA[sigrid-hal9]]></dc:creator><pubDate>Wed, 11 Nov 2026 10:18:41 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6aedb29d1dbe06bd7992492b/3bd14b38-b24a-4e8c-a846-795ae0a4df2c.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1>Cloud Run or Cloudish for an app that keeps its data in files?</h1>
<p><em>We build Cloudish, so we wrote down where Google Cloud Run beats us — and where it doesn't — for a small app whose data lives in a file rather than a separate database.</em></p>
<p>"Cloud Run or Cloudish?" is not yet a question many people type, but the underlying point is: for a small web app with a SQLite database, does the host keep the database file? We build Cloudish, so this comparison is not neutral. Every number below links to the host's own docs or pricing page, checked on November 11, 2026.</p>
<p>Here is the app: a small web app with a SQLite file — a to-do app, a notes app, a personal dashboard. The kind of app an AI coding agent writes in an afternoon, and the kind where the whole "database" is one file next to the code.</p>
<h2>Side by side</h2>
<table>
<thead>
<tr>
<th></th>
<th>Google Cloud Run</th>
<th>Cloudish</th>
</tr>
</thead>
<tbody><tr>
<td>Sign-up</td>
<td>Google account plus a <a href="https://docs.cloud.google.com/free/docs/free-cloud-features">billing account</a> (a card for the free trial)</td>
<td>No account at all: an agent mints its own key with one call, no card</td>
</tr>
<tr>
<td>Smallest price</td>
<td><a href="https://docs.cloud.google.com/free/docs/free-cloud-features">Free tier</a>: 2M requests + 180k vCPU-s + 360k GiB-s a month; past it, billed per request and per vCPU-second</td>
<td><a href="https://cloudish.ai/api/v1/pricing">$0.0107/hour</a>, ≈ $7.84/month if always on</td>
</tr>
<tr>
<td>Sleeps when idle</td>
<td><a href="https://docs.cloud.google.com/run/docs/about-instance-autoscaling">Scales to zero</a> by default; cold start</td>
<td>Sleeps after 1–1440 min (15 if unset), wakes in seconds</td>
</tr>
<tr>
<td>File-based data</td>
<td>In-memory filesystem: "Data written to the file system doesn't persist when the instance stops"</td>
<td>Kept with the app on a volume, not billed</td>
</tr>
<tr>
<td>Regions</td>
<td><a href="https://docs.cloud.google.com/run/docs/locations">43 regions</a></td>
<td>One (New York)</td>
</tr>
<tr>
<td>Managed database</td>
<td>None built in (bring Cloud SQL or another)</td>
<td>None — SQLite on the disk, or bring your own</td>
</tr>
</tbody></table>
<h2>Where Cloud Run beats us</h2>
<p><strong>It is genuinely free for light apps.</strong> The <a href="https://docs.cloud.google.com/free/docs/free-cloud-features">free tier</a> covers 2 million requests, 180,000 vCPU-seconds and 360,000 GiB-seconds a month. A to-do app opened a few times a week sits inside that forever. Cloudish's smallest size is <a href="https://cloudish.ai/api/v1/pricing">$0.0107 an hour</a> — cents, but not zero.</p>
<p><strong>It has regions.</strong> Cloud Run runs in <a href="https://docs.cloud.google.com/run/docs/locations">43 regions</a>. Cloudish has one datacenter, in New York, so a user in São Paulo, Singapore or Frankfurt feels the distance.</p>
<p><strong>It is one service inside a whole cloud.</strong> IAM, Cloud Logging, Cloud SQL, a mature CLI — if your app is already a Google Cloud citizen, Cloud Run slots into that. Cloudish is a container host and not much else, by design.</p>
<h2>Where Cloudish beats Cloud Run</h2>
<p><strong>The database file survives.</strong> This is the whole question. Cloud Run's filesystem is in-memory and its own docs are blunt: <a href="https://docs.cloud.google.com/run/docs/container-contract">"Data written to the file system doesn't persist when the instance stops"</a>, and when the service <a href="https://docs.cloud.google.com/run/docs/about-instance-autoscaling">scales to zero</a> the instance is removed and its files with it. A SQLite file written there is gone. To keep file data on Cloud Run you mount a Cloud Storage bucket (Cloud Storage FUSE) or move to a real database — an extra service and an extra bill. Cloudish keeps the app's disk with the app, at no charge, across restarts and redeploys.</p>
<p><strong>An agent can start without a person.</strong> On Cloudish, <a href="https://cloudish.ai/llms.txt">an agent mints its own key with one call</a> — no sign-up form, no browser, no card. Cloud Run needs a person to hold the Google account and <a href="https://docs.cloud.google.com/free/docs/free-cloud-features">a billing account</a>. When the deploy is done by an agent and nobody is around, that difference is the whole game.</p>
<p><strong>Spending is prepaid and capped.</strong> Cloudish credits are prepaid (one credit is one dollar), so the balance can't slip below zero — at zero the app stops within a minute. Cloud Run bills the attached billing account, so a runaway app bills until someone notices.</p>
<h2>The honest verdict</h2>
<ul>
<li><strong>Choose Cloud Run</strong> if a person is there to set up the Google account and billing, the app is stateless or already uses a real database, and you want the free tier or many regions.</li>
<li><strong>Choose Cloudish</strong> if an AI agent deploys the app on its own, the app keeps its data in a file, you don't want to hand over a card, or you want a hard spending cap.</li>
</ul>
<p>Our limits, plainly: one datacenter (New York), no managed database, and a smaller machine is not our strong suit. Cloud Run's limits, plainly: an in-memory filesystem by default, a billing account to set up, and — like us — you're still on your own for backups.</p>
<hr />
<p><em>Written by the team behind</em> <a href="https://cloudish.ai/?ref=cc-s3a8"><em>Cloudish</em></a><em>, at</em> <a href="https://hal9.com/"><em>Hal9</em></a><em>.</em></p>
]]></content:encoded></item><item><title><![CDATA[Dear Agent, just Pick a Cheap Provider and Deploy my App!]]></title><description><![CDATA[Deploying with an AI agent? Pick the region near your users first. A checklist with a host-by-region table for Europe, Latin America and Asia.]]></description><link>https://unclouded.hashnode.dev/dear-agent-just-pick-a-cheap-provider-and-deploy-my-app</link><guid isPermaLink="true">https://unclouded.hashnode.dev/dear-agent-just-pick-a-cheap-provider-and-deploy-my-app</guid><category><![CDATA[Cloud]]></category><category><![CDATA[AI]]></category><category><![CDATA[#agent]]></category><category><![CDATA[Artificial Intelligence]]></category><category><![CDATA[agentic workflow]]></category><category><![CDATA[agentic ai development]]></category><dc:creator><![CDATA[sigrid-hal9]]></dc:creator><pubDate>Fri, 06 Nov 2026 13:34:43 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6aedb29d1dbe06bd7992492b/e934b29d-5271-4d8c-8642-198f463857de.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Your coding agent can put an app online in one command. But "online" isn't a place — it's a datacenter, and which one it is may matter a lot. If your users are in Europe, Latin America or Asia, the fastest, cheapest offer, with a datacenter in New York, may be an unlucky choice.</p>
<p>At my company, we build Cloudish, a host an AI agent can use on its own. At this point in time, Cloudish runs a single datacenter, in New York — so don't be afraid that I'll confidently conclude with "just use Cloudish and you're fine". For far-away users, the answer is usually not us.</p>
<h2>Step 1 — Where are your users, really?</h2>
<p>Before choosing a region, know the answer. If you're not sure, check the app's analytics or where its signups come from. One region is enough only when the users cluster in one place.</p>
<ul>
<li><strong>Mostly in one country</strong> → pick a host with a region in or near that country.</li>
<li><strong>Spread across a continent</strong> → pick a host with several regions there.</li>
<li><strong>Worldwide</strong> → you'll want a host with many regions, or an edge network in front of it.</li>
</ul>
<h2>Step 2 — Does latency actually matter for your app?</h2>
<p>Not every app feels the distance. A static landing page cached on a CDN can be fast everywhere, even from a single origin. The distance bites when the app does work on the server for every request:</p>
<ul>
<li><strong>A page that's just HTML/CSS/JS</strong> — a CDN caches it near users; the origin's location matters less.</li>
<li><strong>An API that reads a database on every call</strong> — every round-trip crosses the ocean.</li>
<li><strong>A chat app, game, or anything "real-time"</strong> — latency is the product.</li>
</ul>
<p>Rough rule: one extra hop across the Atlantic adds tens of milliseconds per request; across the Pacific, more. Someone typing in a form won't notice 80 ms. A database read that chains three queries will.</p>
<h2>Step 3 — Which hosts run close to them?</h2>
<p>Here's what each host offers in Europe, Latin America and Asia, from each host's region page, checked on 5 November 2026.</p>
<table>
<thead>
<tr>
<th>Host</th>
<th>Europe</th>
<th>Latin America</th>
<th>Asia</th>
</tr>
</thead>
<tbody><tr>
<td><a href="https://docs.fly.io/reference/regions">Fly.io</a></td>
<td>Amsterdam, Stockholm, Paris, Frankfurt, London</td>
<td>São Paulo</td>
<td>Tokyo, Singapore</td>
</tr>
<tr>
<td><a href="https://vercel.com/docs/regions">Vercel</a></td>
<td>Stockholm, Dublin, Paris, Frankfurt, London</td>
<td>São Paulo</td>
<td>Mumbai, Hong Kong, Tokyo, Seoul, Osaka, Singapore</td>
</tr>
<tr>
<td><a href="https://cloud.google.com/run/docs/locations">Google Cloud Run</a></td>
<td>Frankfurt, London, Paris, Madrid, Milan, Warsaw, Berlin, Zurich, Stockholm, and more</td>
<td>São Paulo, Santiago, Mexico</td>
<td>Tokyo, Osaka, Seoul, Mumbai, Delhi, Singapore, Jakarta, Bangkok, Hong Kong, Taiwan</td>
</tr>
<tr>
<td><a href="https://www.koyeb.com/docs/reference/regions">Koyeb</a></td>
<td>Frankfurt, Paris</td>
<td>—</td>
<td>Singapore, Tokyo</td>
</tr>
<tr>
<td><a href="https://render.com/docs/regions">Render</a></td>
<td>Frankfurt</td>
<td>—</td>
<td>Singapore</td>
</tr>
<tr>
<td><a href="https://docs.railway.com/reference/deployment-regions">Railway</a></td>
<td>Amsterdam</td>
<td>—</td>
<td>Singapore</td>
</tr>
<tr>
<td><a href="https://cloudish.ai/skill.md">Cloudish</a></td>
<td>—</td>
<td>—</td>
<td>— (New York only)</td>
</tr>
</tbody></table>
<p>Two patterns jump out:</p>
<ul>
<li><strong>Europe is easy.</strong> Nearly every host above has at least one European region; most have several.</li>
<li><strong>Latin America is the gap.</strong> Only <a href="http://Fly.io">Fly.io</a>, Vercel and Cloud Run run in Latin America (São Paulo or Santiago). Render, Railway and Koyeb have none — a São Paulo user on those hosts reaches the US East Coast instead.</li>
</ul>
<h2>Step 4 — What else changes when you pick a region?</h2>
<p>A region isn't just a checkbox. Read the fine print:</p>
<ul>
<li><strong>The free or "sleep" tier may be pinned to one region.</strong> A host that sleeps idle apps may only offer that on certain regions. If your users are in Asia and the free tier is US-only, you're back to the ocean hop.</li>
<li><strong>Data residency.</strong> Some customers are legally required to keep data in a region (GDPR in Europe, local laws elsewhere). "Close enough" isn't "in region."</li>
<li><strong>Price differs by region</strong> on some hosts — Vercel, for example, <a href="https://vercel.com/docs/pricing/regional-pricing">prices some regions higher</a>.</li>
</ul>
<h2>Step 5 — Where does Cloudish fit?</h2>
<p>Honestly: Cloudish runs <a href="https://www.cloudish.ai/?ref=cc-s5a2">one datacenter, in New York</a>, with no managed Postgres or MySQL. So the answer to "far from New York" is: Cloudish is the right pick when an AI agent deploys on its own <strong>and</strong> the users are mostly in the US or nearby. For users in Europe, Latin America or Asia, one of the hosts above is the better pick — and we'd rather you go there than wait on a slow app.</p>
<p>The moment the region matters, we're not the answer. That's the point of this checklist, not a bug: the question is meant to send you to the host that fits.</p>
<h2>One sentence to paste into your agent</h2>
<p>Next time your agent offers to deploy, add:</p>
<blockquote>
<p>Before you deploy, tell me where my users are, and pick a host with a region close to them — not a default datacenter in the US. If the users are in Europe, Latin America or Asia, show me which hosts run near them and what it costs.</p>
</blockquote>
<p>A good agent answers with a region list and the trade-off. If it can't name a region, it was going to deploy to a default — and for far-away users, the default is usually the wrong region.</p>
<hr />
<p><em>Written by the team behind</em> <a href="https://cloudish.ai/?ref=cc-s5a2"><em>Cloudish</em></a><em>, at</em> <a href="https://hal9.com/"><em>Hal9</em></a><em>. Regions checked on 5 November 2026.</em></p>
]]></content:encoded></item></channel></rss>