El Desafío de los Servidores Modernos
En la era del despliegue continuo, servidores como Railway o SeeNode utilizan sistemas de archivos efímeros. Esto significa que cada vez que haces un git push, el disco local se limpia. Si tu aplicación guarda imágenes de perfil o portadas de artículos en una carpeta /uploads local, las perderás en el próximo deploy.
La Solución: Almacenamiento Desacoplado
Para construir plataformas de nivel profesional (como este portafolio), debemos separar la lógica del servidor del almacenamiento de archivos binarios. Aquí es donde Firebase Storage entra en juego como nuestra CDN y baúl de persistencia.
Implementación Técnica
El flujo ideal que hemos implementado consta de tres capas:
- Middleware de Memoria: Usar
multerpara procesar archivos en el buffer sin tocar el disco del servidor. - SDK de Firebase Admin: Subir el buffer directamente a un Bucket seguro de Google Cloud.
- Persistencia en Base de Datos: Guardar solo la URL pública en Prisma ORM, manteniendo nuestra base de datos ligera y rápida.
Tip de Oro: No olvides implementar un sistema de purga. Si un usuario actualiza una imagen, tu backend debe detectar la URL antigua y borrarla físicamente del Storage para evitar costos innecesarios y mantener la "higiene" digital de tu proyecto.
Conclusión
Moverse hacia una arquitectura de almacenamiento en la nube no solo protege tus datos, sino que mejora drásticamente el SEO y la velocidad de carga (LCP) de tu sitio, factores críticos para monetizar con Google AdSense.