Skip to content

Opções de Alojamento — CHICHORRO Fire Risk App

Documento de comparação para decisão de infraestrutura de produção. Cobre backend (Python/FastAPI/gunicorn-uvicorn), frontend (React estático) e base de dados.


1. Backend (Python / FastAPI / gunicorn-uvicorn)

PlataformaFree tierPlano pago (mínimo)Limitações freeSpin-downAdequado para produção?
Render (atual)SimStarter $7/mêsEphemeral disk, 512 MB RAMSim (15 min)Sim (Starter+)
Railway$5 crédito/mêsUsage-based (~$5–10/mês)Crédito esgota-seNãoSim
Fly.io3 VMs 256 MB~$1.94/mês/VMRAM muito baixa para backend PythonNãoSim (2+ VMs)
HerokuNãoEco $5/mês (1 000 h)Sim (Eco)Sim (Basic+)
PythonAnywhereSim (limitado)Hacker $5/mêsCPU quota, sem websocketsNãoPara apps simples
Google Cloud Run2 M req/mês grátisPay-per-useCold start ~1–2 sSimSim
DigitalOcean App PlatformNãoBasic $5/mêsNãoSim
VPS Hetzner CX22Não€3,79/mês (2 vCPU, 4 GB)Gestão manual (nginx + systemd)NãoSim (mais controlo)
VPS DigitalOcean DropletNão$4/mês (1 vCPU, 512 MB)Gestão manualNãoSim

Notas relevantes

  • Render free: instância hiberna após 15 min sem pedidos; o primeiro pedido depois demora ~50 s (cold start). Inaceitável para produção real.
  • Railway: faturação por uso real (CPU + RAM). Muito competitivo para cargas baixas. Deploy por Git igual ao Render.
  • Fly.io: requer fly.toml + Dockerfile; curva de aprendizagem maior. Mais flexível para multi-região.
  • Google Cloud Run: excelente para cargas imprevisíveis. Requer containerização (Docker). Free tier generoso.
  • VPS Hetzner: melhor relação preço/desempenho na Europa. Requer configuração manual mas dá controlo total (SSL, cron, backups).

2. Frontend (React estático)

PlataformaFree tierPlano pagoLimitações freeCDN globalDeploy por Git
Cloudflare Pages (atual)IlimitadoPro $20/mês500 builds/mêsSim (200+ PoPs)Sim
VercelSimPro $20/mês100 GB bandwidth/mêsSimSim
NetlifySimPro $19/mês100 GB bandwidth, 300 min build/mêsSimSim
GitHub PagesSim1 GB storage, 100 GB bandwidthParcialSim (Actions)
Surge.shSim$30/mêsSem CI/CD nativoNãoManual

Notas relevantes — frontend

  • Cloudflare Pages: melhor opção free para esta app. CDN mais amplo do mercado. Integração com domínios Cloudflare é imediata.
  • Vercel: ótima DX (developer experience), especialmente para Next.js. Para Vite/React puro é equivalente ao Cloudflare.
  • Netlify: funcionalidades extra (forms, edge functions) mas limites free mais apertados.
  • GitHub Pages: gratuito e sem limite de builds, mas CDN menos otimizado e não suporta SPA routing sem hack (404.html).

3. Base de dados

OpçãoFree tierPlano pagoMigração de códigoNotas
SQLite + ephemeral (atual)SimNenhumaDados perdidos em redeploy
SQLite + Render DiskNão$7/mês (add-on)DB_DIR env varSimples, ficheiro local
Turso (SQLite distribuído)Sim (9 GB, 500 DB)$29/mêsMínima (libsql driver)Mantém SQLite sem migração
Neon (PostgreSQL serverless)Sim (0,5 GB)$19/mêsMédia (psycopg2/3)Boa DX, branching de DB
Supabase (PostgreSQL)Sim (500 MB)$25/mêsMédiaInclui auth, storage, APIs REST
Railway PostgreSQLIncluído no créditoUsage-basedMédiaConveniente se backend no Railway
PlanetScale (MySQL)Fechou free tier$39/mêsMédia (mysqlclient)

Notas relevantes — base de dados

  • Turso: permite manter o código SQLite quase inalterado (usa libsql em vez de sqlite3). Ideal para migração gradual.
  • Neon: PostgreSQL serverless com branching (útil para CI/CD). Free tier permanente (não expira).
  • Supabase: se no futuro se quiser substituir a autenticação custom por uma solução gerida, o Supabase Auth é uma opção natural.
  • Render Disk: a forma mais simples de persistir o SQLite atual — basta montar o disco em /data e definir DB_DIR=/data.

4. Recomendações por cenário

CenárioBackendFrontendBase de dadosCusto/mês
Demo / tese (gratuito)Render freeCloudflare PagesSQLite ephemeral€0
Produção baixo custoRender StarterCloudflare PagesRender Disk~$14
Produção + persistência grátisRailwayCloudflare PagesNeon free~$0–5
Produção escalávelFly.io ou Cloud RunCloudflare PagesNeon ou Supabase$5–25
Controlo total (Europa)VPS Hetzner CX22Cloudflare PagesSQLite no VPS~€4

Recomendação para produção definitiva

Para uma aplicação académica/institucional de baixo tráfego com utilizadores convidados:

Railway (backend) + Cloudflare Pages (frontend) + Neon (PostgreSQL) — custo zero ou quase zero, sem spin-down, dados persistentes, deploy por Git.

Alternativa de menor custo total e gestão mais simples:

Hetzner VPS CX22 (nginx + gunicorn + SQLite) + Cloudflare Pages — €3,79/mês, controlo total, sem dependência de plataformas PaaS.