Arquitetura pragmática de SaaS solo
Decisões de arquitetura que fazem diferença quando você está construindo sozinho ou em time pequeno.
Quando você está construindo um SaaS sozinho (Indie Hacker) ou em uma equipe muito pequena, o maior risco não é técnico, é de tempo. Você precisa validar, lançar e iterar rápido. Arquiteturas complexas de microsserviços, Kubernetes e event-sourcing geralmente são a morte prematura de projetos que nem sequer tiveram seu primeiro usuário.
O Monólito Modular
Esqueça microsserviços. Comece com um monólito bem estruturado. O Next.js é perfeito para isso, pois permite ter seu Frontend e Backend (API Routes / Server Actions) no mesmo repositório e deploy.
Vantagens:
- Zero latência de rede interna: Suas chamadas de "API" podem ser apenas chamadas de função se usar Server Actions.
- Tipagem ponta a ponta: Compartilhe interfaces TypeScript entre front e back sem pacotes extras.
- Deploy atômico: Um único push atualiza tudo. Sem problemas de versão de API incompatível.
O Banco de Dados
Use um banco relacional gerenciado. PostgreSQL é a escolha segura. Serviços como Neon, Supabase ou PlanetScale (MySQL) oferecem tiers gratuitos generosos e escalam muito bem.
- ORM: Use Prisma ou Drizzle. A produtividade e a segurança de tipos que eles trazem valem o pequeno overhead de performance inicial.
Auth e Multi-tenancy
Não reinvente a roda em autenticação.
- Use bibliotecas como Lucia Auth ou Auth.js se quiser auto-hospedar.
- Use serviços como Clerk ou Supabase Auth se quiser terceirizar a complexidade.
Para SaaS B2B, modele seu banco pensando em Organization ou Team desde o dia 1. Todo dado deve pertencer a uma organização, e o usuário pertence à organização.
model Tenant {
id String @id @default(cuid())
users User[]
todos Todo[]
}
model Todo {
id String @id @default(cuid())
tenantId String
tenant Tenant @relation(fields: [tenantId], references: [id])
}Deploy e Infra
Mantenha simples.
- Vercel é excelente para começar. Zero config, CI/CD integrado.
- Se precisar sair, um VPS simples (tipo Hetzner ou DigitalOcean) com Coolify ou Dokku resolve 99% dos casos por uma fração do preço.
Resumo
A melhor arquitetura para um solo dev é aquela que sai da frente e deixa você focar no produto.
- Monólito (Next.js).
- Postgres + Prisma/Drizzle.
- Auth pronto.
- Componentes de UI prontos (shadcn/ui).
- Deploy automático.
Escale a infraestrutura quando tiver receita para pagar por ela.