Estudo de caso · Migração
Estudo de caso: migrando uma loja de alimentos D2C do Firebase para uma infraestrutura própria com Go e PostgreSQL
Uma marca de venda direta ao consumidor de frutas, legumes e pós desidratados tinha a loja virtual em React com Firebase Authentication, Cloud Firestore e Firebase Storage, hospedada na Vercel. Nós a reconstruímos em uma infraestrutura controlada pela própria marca: uma API em Go sobre PostgreSQL, armazenamento de imagens compatível com S3 auto-hospedado, páginas de produto renderizadas no servidor que buscadores e ferramentas de IA conseguem ler e um adaptador de pagamentos com Razorpay, tudo em Docker em um VPS.
Por Web Your Vyavsay team · Publicado em
Redigido com auxílio de IA. Os dados são conferidos com as fontes listadas e revisados pela nossa equipe. Tradução da versão em inglês, feita com auxílio de IA. As chamadas e os projetos são conduzidos em inglês.
Antes e depois
| Antes | Depois | |
|---|---|---|
| Front-end | React e Vite, renderizado no navegador | React 19 e Vite, com as páginas públicas renderizadas no servidor |
| Back-end e dados | Firebase Authentication e Cloud Firestore | Uma API em Go com arquitetura hexagonal sobre PostgreSQL |
| Login | Firebase Authentication, incluindo login com Google | Tokens JWT de acesso e renovação, verificação de e-mail e redefinição de senha |
| Arquivos | Firebase Storage | MinIO, armazenamento compatível com S3 hospedado pela própria marca |
| Hospedagem | Vercel | Docker Compose em um VPS, atrás do Nginx com TLS da Let’s Encrypt |
Por que as equipes fazem esse tipo de mudança
Estes são os motivos comuns para empresas saírem de um backend como serviço como o Firebase; eles valem para muitos projetos, não só para este.
- Pedidos, estoque e relatórios se encaixam naturalmente em um banco de dados relacional que pode ser consultado e exportado livremente.
- Ser dono do banco e dos arquivos permite escolher onde os dados ficam e movê-los sem depender das ferramentas de exportação de um fornecedor.
- Os custos ficam previsíveis quando viram uma conta de servidor, e não um preço por operação.
- Páginas renderizadas no servidor entregam aos buscadores e às ferramentas de IA todo o conteúdo do produto, e não uma página vazia.
O que a reconstrução acrescentou
- Um carrinho salvo no servidor para clientes logados, além de compra sem cadastro.
- Avaliações de produtos e lista de desejos.
- Pagamentos com Razorpay, com um gateway simulado para testes.
- Exportação em CSV de pedidos, usuários e pedidos de atacado pelo painel administrativo.
- Títulos e descrições de SEO gerenciados por página no painel.
- Gestão de pedidos de atacado para compradores em volume.
Páginas que buscadores e IA conseguem ler
Um pequeno serviço em Node renderiza cada página pública em HTML antes de enviá-la, então um rastreador, uma prévia de link ou um leitor de IA recebe os detalhes do produto em vez de um contêiner vazio. Se esse serviço falhar, o Nginx volta para o aplicativo estático, e os clientes nunca ficam bloqueados.
Lições para a sua própria migração
- Mantenha as suas URLs, ou redirecione cada uma de forma permanente, para preservar o ranqueamento.
- Verifique se o seu provedor de login atual consegue exportar os hashes de senha; se não, prepare um fluxo de redefinição de senha para os clientes atuais.
- Migre imagens e arquivos junto com os registros do banco que apontam para eles.
- Ensaie a migração em uma cópia antes de trocar a loja em produção.
Perguntas frequentes
O Firebase é uma má escolha para uma loja virtual?
Não. Ele é uma forma rápida de lançar, e muitas lojas funcionam bem com ele. Sair dele faz sentido quando você precisa de relatórios relacionais, mais controle sobre dados e custos ou páginas renderizadas no servidor.
Quando uma empresa deve sair do Firebase?
Quando relatórios, exportação de dados ou custos ficam difíceis de administrar, quando você precisa dos dados em um local específico ou quando a visibilidade nas buscas sofre porque as páginas só renderizam no navegador.
Dá para sair do Firebase sem tirar a loja do ar?
Normalmente com muito pouca interrupção. Construir a nova infraestrutura em paralelo, ensaiar a migração dos dados e trocar o DNS em um horário tranquilo mantêm a interrupção curta.
Quem é dono dos dados depois da migração?
A empresa. O banco de dados, os arquivos e os servidores ficam em contas no nome dela.
