Plataforma: Fly.io | Provedor: Fly.io | Nivel Gratuito: $5/mes de credito para sempre
O Segredo Que Ninguem Fala
Aqui esta o que torna o Fly.io especial: eles te dao $5 de credito gratuito todo mes, para sempre. Nao e um trial, nao e uma oferta por tempo limitado—hospedagem permanente gratuita para seus containers Docker. Se seu uso ficar abaixo de $5 (spoiler: vai ficar para a maioria dos projetos), voce nao paga nada.
Ainda melhor? Diferente de toda outra plataforma que afirma ser "gratuita," o Fly.io roda seus containers Docker como VMs reais. Isso nao e serverless onde seu app dorme apos 5 minutos. Seus containers ficam rodando 24/7, respondendo instantaneamente a requisicoes.
Estou rodando tres APIs em producao no Fly.io ha mais de um ano. Custo total? Zero reais. Aqui esta exatamente como fazer.
O Que Voce Ganha de Graca
Aquele credito mensal de $5 se traduz em infraestrutura seria:
Voce ganha tres VMs com 256MB de RAM cada, rodando em qualquer lugar do mundo. Adicione um banco PostgreSQL com 1GB de armazenamento. Inclua 160GB de bandwidth de saida. Tudo isso cabe confortavelmente no seu credito gratuito, com espaco de sobra.
A matematica e simples: uma unica VM de 256MB custa cerca de $1.94/mes. Tres delas mais um banco pequeno fica em torno de $5. Enquanto voce ficar dentro desses limites, o credito mensal do Fly.io cobre tudo.
Comecar Leva 5 Minutos
Primeiro, instale a CLI do Fly. No Mac, e um unico comando brew. No Linux, curl o script de instalacao. Windows tem PowerShell. Tudo leva 30 segundos.
# macOS
brew install flyctl
# Linux
curl -L https://fly.io/install.sh | sh
# Windows
pwsh -Command "iwr https://fly.io/install.ps1 -useb | iex"Cadastre-se apenas com um email—eles vao pedir um cartao eventualmente, mas voce pode fazer deploy dos seus primeiros apps sem um:
flyctl auth signupSeu Primeiro Deploy (E Ridiculamente Facil)
Aqui e onde o Fly.io brilha. Tem um Dockerfile? Otimo, vai funcionar. Nao tem um? O Fly.io vai descobrir. Estou falando serio—ele detecta seu framework e gera tudo automaticamente.
Deixe eu mostrar um exemplo real. Aqui esta uma API Node.js que fiz deploy semana passada:
// index.js
const express = require('express');
const app = express();
const port = process.env.PORT || 3000;
app.get('/', (req, res) => {
res.json({
message: 'Esta API roda 24/7 de graca',
timestamp: new Date().toISOString()
});
});
app.get('/health', (req, res) => {
res.json({ status: 'healthy' });
});
app.listen(port, '0.0.0.0', () => {
console.log(`Rodando na porta ${port}`);
});Para fazer deploy disso, eu literalmente so rodei:
flyctl launchSo isso. O Fly detectou Node.js, criou um Dockerfile, fez build da imagem e deployou globalmente. Todo o processo levou cerca de 2 minutos. Minha API estava no ar em uma URL *.fly.dev, com HTTPS automatico, respondendo a requisicoes do data center mais proximo.
A Vantagem Docker Que Ninguem Menciona
Aqui esta o que diferencia o Fly.io da Vercel, Netlify e o resto: voce esta fazendo deploy de containers Docker reais. Isso significa que voce pode rodar literalmente qualquer coisa—scripts Python, binarios Go, servidores Rust, aplicacoes PHP, Ruby on Rails, o que quiser.
Tenho uma API Python Flask que processa webhooks, um bot Node.js que roda tarefas agendadas e um servico Go que faz redimensionamento de imagens. Tudo rodando no nivel gratuito. Tente fazer isso no plano hobby da Vercel.
Seus containers rodam como microVMs Firecracker, a mesma tecnologia que a Amazon usa para Lambda. Eles iniciam em milissegundos mas agem como servidores reais. Sem cold starts, sem timeouts de 10 segundos, sem limitacoes serverless. Apenas seu codigo rodando exatamente como voce espera.
Fazendo 256MB Funcionar (E Mais Facil do Que Voce Pensa)
O nivel gratuito te da 256MB de RAM por VM. Eu sei o que voce esta pensando—isso e nada! Mas voce ficaria surpreso. Uma API Express.js leve usa cerca de 50MB. Um app Flask com alguns endpoints fica em torno de 80MB. Ate um app Rails pequeno pode caber em 200MB se voce for cuidadoso.
Aqui esta o que roda bem em 256MB:
- Backends de API (REST ou GraphQL)
- Processadores de webhook
- Runners de tarefas agendadas
- Sites estaticos com recursos dinamicos
- Bots do Discord/Slack
- Bancos de dados pequenos com SQLite
E aqui esta o que nao roda:
- Next.js (precisa de pelo menos 512MB)
- Aplicacoes Django grandes
- Apps Java Spring Boot
- Qualquer coisa carregando datasets grandes em memoria
Se voce bater nos limites de memoria, tem duas opcoes. Primeiro, otimize seu codigo—streame arquivos em vez de carrega-los em memoria, use paginacao para queries de banco, faca lazy-load de dependencias. A maioria dos "problemas de memoria" e apenas codigo ineficiente.
Segunda opcao: escale para 512MB. Isso te coloca um pouco acima do nivel gratuito, custando talvez $2-3/mes. Ainda mais barato que um cafe, e muito mais util.
PostgreSQL Que Simplesmente Funciona
Adicionar um banco e estupidamente simples:
flyctl postgres createEscolha configuracao "Development" quando perguntado. Isso te da uma instancia PostgreSQL com 256MB de RAM e 1GB de armazenamento, perfeita para apps pequenos. O banco roda na mesma regiao que seu app para latencia minima.
Conecte ao seu app:
flyctl postgres attach <nome-do-banco>Isso automaticamente configura uma variavel de ambiente DATABASE_URL. Seu app pode conectar imediatamente:
const { Pool } = require('pg');
const pool = new Pool({
connectionString: process.env.DATABASE_URL
});
// Pronto. Voce tem um banco de dados.Estou rodando um blog com 500+ posts, um sistema de usuarios com 1000+ contas e um dashboard de analytics rastreando 50k eventos—tudo no banco de dados do nivel gratuito. A menos que voce esteja construindo o proximo Twitter, 1GB e bastante.
Globalizando Sem Esforco
Faca deploy para multiplas regioes com um comando:
flyctl regions add lhr # Londres
flyctl regions add nrt # Toquio
flyctl regions add syd # SydneyO Fly.io automaticamente roteia usuarios para a instancia mais proxima. Seus usuarios europeus vao para Londres, usuarios asiaticos vao para Toquio, e tudo simplesmente funciona. Sem configuracao, sem setup de CDN, sem nada.
Com tres VMs gratuitas, voce pode colocar uma em cada regiao para cobertura verdadeiramente global. Ou mantenha todas tres em uma regiao para redundancia—se uma crashar, as outras continuam servindo requisicoes.
As Armadilhas (Nao Ha Muitas)
Vamos ser realistas sobre as limitacoes. O credito de $5 nao acumula mes a mes. Use ou perca. Mas honestamente, rodar tres VMs pequenas 24/7 usa o credito inteiro de qualquer forma.
Voce vai eventualmente precisar adicionar um cartao de credito para desbloquear certos recursos como dominios customizados e para prevenir interrupcao de servico se voce passar do limite. Mas aqui esta a coisa—o Fly.io te envia email antes de cobrar qualquer coisa. Sem contas surpresa de $500 porque voce esqueceu de desligar um servidor de teste.
O limite de 256MB de RAM e real. Voce nao pode simplesmente jogar codigo ineficiente nele e esperar milagres. Mas essa restricao te forca a escrever codigo melhor, e isso nao e uma coisa ruim.
Quando Usar Fly.io vs Todo o Resto
Use Fly.io quando voce quer servidores reais que nunca dormem. Perfeito para APIs, webhooks, bots e qualquer coisa que precisa responder instantaneamente. O suporte a Docker significa que voce pode rodar qualquer linguagem ou framework.
Use Vercel quando voce esta construindo sites Next.js e quer aquela experiencia de desenvolvedor perfeita. Os preview deployments deles sao inigualáveis.
Use Cloudflare Workers para funcoes edge que precisam rodar em 50+ locais com zero cold starts.
Use Railway quando voce quer uma UI mais bonita e nao se importa em pagar desde o primeiro dia.
Mas para colocar um app real online, de graca, que fica rodando? Fly.io ganha toda vez.
Sua Vez de Fazer Deploy
Pare de ler e experimente. Serio, leva 5 minutos:
- Instale a CLI
- Crie um app simples (ou use um que voce ja tem)
- Rode
flyctl launch - Veja seu app ir pro ar
So isso. Sem configuracao complexa, sem inferno de yaml, sem surpresas de cobranca. Apenas seu codigo rodando em infraestrutura real.
Construa Algo para Fazer Deploy
Pronto para fazer deploy do seu primeiro app no Fly.io? Comece construindo um projeto real com esses tutoriais praticos:
- Construa um Blog com Flask - Crie um blog Flask completo perfeito para deploy no Fly.io
- Construa um Portfolio com Flask - Aprenda fundamentos do Flask com um site de portfolio deployavel
- Construa E-Commerce com Flask - Domine Flask com uma aplicacao de carrinho de compras completa
Cada tutorial inclui configuracao Docker e passos de deployment, facilitando levar seu projeto do desenvolvimento para producao no nivel gratuito do Fly.io.
Ja tem um app Flask? Siga nosso tutorial completo de Docker e deploy no Fly.io para instrucoes passo a passo sobre como containerizar sua aplicacao Flask com PostgreSQL e fazer deploy no Fly.io com migrations sem downtime.
Detalhes Tecnicos
Plataforma: Fly.io Credito Mensal: $5 (cobre 3 VMs + banco de dados) Deploy: Containers Docker como microVMs Regioes: 30+ mundialmente RAM por VM: 256MB (upgradeable) Banco de Dados: PostgreSQL com 1GB de armazenamento Bandwidth: 160GB/mes incluido
Nota: Voce vai precisar de um cartao de credito apos os testes iniciais, mas nao sera cobrado se ficar abaixo de $5/mes de uso.
Fred
AUTHORFull-stack developer with 10+ years building production applications. I've deployed applications to every major cloud platform and lived to tell the tale.
Need a developer who gets it?
POC builds, vibe-coded fixes, and real engineering. Let's talk.
Hire Me →
