Caso de éxito · Migración
Caso de éxito: migrar una tienda de alimentos D2C de Firebase a una infraestructura propia con Go y PostgreSQL
Una marca de venta directa al consumidor de frutas, verduras y polvos deshidratados tenía su tienda en línea en React con Firebase Authentication, Cloud Firestore y Firebase Storage, alojada en Vercel. La reconstruimos sobre una infraestructura que controla la propia marca: una API en Go sobre PostgreSQL, almacenamiento de imágenes compatible con S3 autoalojado, páginas de producto renderizadas en el servidor que los buscadores y las herramientas de IA pueden leer, y un adaptador de pagos con Razorpay, todo en Docker sobre un VPS.
Por Web Your Vyavsay team · Publicado
Redactado con ayuda de IA. Los datos se verifican con las fuentes indicadas y los revisa nuestro equipo. Traducción de la versión en inglés, asistida por IA. Las llamadas y los proyectos se realizan en inglés.
Antes y después
| Antes | Después | |
|---|---|---|
| Frontend | React y Vite, renderizado en el navegador | React 19 y Vite, con las páginas públicas renderizadas en el servidor |
| Backend y datos | Firebase Authentication y Cloud Firestore | Una API en Go con arquitectura hexagonal sobre PostgreSQL |
| Inicio de sesión | Firebase Authentication, con inicio de sesión de Google | Tokens JWT de acceso y renovación, verificación de correo y restablecimiento de contraseña |
| Archivos | Firebase Storage | MinIO, almacenamiento compatible con S3 que aloja la propia marca |
| Alojamiento | Vercel | Docker Compose en un VPS, detrás de Nginx con TLS de Let’s Encrypt |
Por qué los equipos hacen este cambio
Estas son las razones habituales por las que las empresas dejan un backend como servicio como Firebase; se aplican a muchos proyectos, no solo a este.
- Los pedidos, las existencias y los informes encajan de forma natural en una base de datos relacional que se puede consultar y exportar libremente.
- Ser dueño de la base de datos y los archivos permite elegir dónde viven los datos y moverlos sin depender de las herramientas de exportación de un proveedor.
- Los costos se vuelven predecibles cuando son una factura de servidor y no un precio por operación.
- Las páginas renderizadas en el servidor entregan a los buscadores y a las herramientas de IA todo el contenido del producto, no una página vacía.
Qué añadió la reconstrucción
- Un carrito guardado en el servidor para los clientes registrados, además de compra como invitado.
- Reseñas de productos y lista de deseos.
- Pagos con Razorpay, con una pasarela simulada para pruebas.
- Exportación a CSV de pedidos, usuarios y consultas mayoristas desde el panel de administración.
- Títulos y descripciones SEO gestionados por página desde el panel.
- Gestión de consultas mayoristas para compradores al por mayor.
Páginas que los buscadores y la IA pueden leer
Un pequeño servicio en Node renderiza cada página pública a HTML antes de enviarla, así que un rastreador, una vista previa de enlace o un lector de IA recibe los datos del producto en lugar de un contenedor vacío. Si ese servicio falla, Nginx recurre a la aplicación estática, de modo que los compradores nunca quedan bloqueados.
Lecciones para su propia migración
- Conserve sus URL, o redirija cada una de forma permanente, para no perder posicionamiento.
- Compruebe si su proveedor actual de inicio de sesión puede exportar los hashes de contraseñas; si no, prepare un flujo de restablecimiento para los clientes existentes.
- Mueva las imágenes y los archivos junto con los registros de la base de datos que los referencian.
- Ensaye la migración sobre una copia antes de cambiar la tienda en producción.
Preguntas frecuentes
¿Firebase es una mala opción para una tienda en línea?
No. Es una forma rápida de lanzar y muchas tiendas funcionan bien con él. Dejarlo tiene sentido cuando necesita informes relacionales, más control sobre sus datos y costos, o páginas renderizadas en el servidor.
¿Cuándo debería una empresa dejar Firebase?
Cuando los informes, la exportación de datos o los costos se vuelven difíciles de manejar, cuando necesita los datos en una ubicación concreta o cuando la visibilidad en buscadores se resiente porque las páginas solo se renderizan en el navegador.
¿Se puede dejar Firebase sin interrumpir la tienda?
Normalmente con muy poca interrupción. Construir la nueva infraestructura en paralelo, ensayar la migración de datos y cambiar el DNS en un momento tranquilo mantienen la interrupción breve.
¿Quién es dueño de los datos después de la migración?
La empresa. La base de datos, los archivos y los servidores están en cuentas a su nombre.
