Backend as a Service
BaaS
Backend
Cloud
Desenvolvimento

Backend como servicio: buenas prácticas para principiantes

Aprendiste HTML, CSS y JavaScript (o React Native/Flutter). Hiciste la interfaz de tu aplicación y se ve hermosa. Ahora necesita guardar los datos del usuario.

Backend como servicio: buenas prácticas para principiantes

Aprendiste HTML, CSS y JavaScript (o React Native/Flutter). Hiciste la interfaz de tu aplicación y se ve hermosa. Ahora necesita guardar los datos del usuario. Y descubres que necesitas aprender: Linux, Docker, SQL, Node.js, Express, JWT, Nginx, SSL…

Descorazonador, ¿verdad? Aquí es donde Backend como servicio (BaaS) te salva. Plataformas como Firebase, Supabase y Appwrite te ofrecen todo esto listo para usar. Tú te centras en la aplicación, ellos se centran en el servidor.

Pero tenga cuidado: "fácil" no significa "de todos modos". Si lo usas mal, tu aplicación será lenta, insegura y costosa. A continuación se presentan las mejores prácticas para comenzar con el pie derecho.

1. Seguridad del lado del cliente

En el modelo tradicional, el servidor oculta la base de datos. En BaaS, su aplicación habla directamente con el banco. Si no configura las reglas, cualquiera puede eliminarlo todo.

  • Regla de oro: Nunca confíes en la interfaz.
  • La Práctica: Configurar las "Reglas de Seguridad" (Firebase) o la "Seguridad de Nivel de Fila" (Supabase).
    • Incorrecto: allow read, write: if true; (Puerta abierta).
    • Derecha: allow write: if request.auth.uid == resource.data.ownerId; (Solo el propietario edita).

2. No busque demasiados datos (consulta)

Las bases de datos NoSQL (como Firestore) cobran por lectura. Si descargas 1.000 documentos cada vez que el usuario abre la aplicación, superarás la cuota gratuita en un día.

  • Usar paginación: descarga 10 elementos. Cuando el usuario se desplaza, descarga 10 más.
  • Filtrar en el Servidor: No descargar todo y filtrar con array.filter() en JavaScript. Utilice el filtro de banco (.where('status', '==', 'active')).

3. Estructura de datos (modelado de datos)

En SQL se evita duplicar datos (Normalización). En NoSQL (Firestore), debes duplicar datos (Desnormalización).

  • Si tiene una publicación y desea mostrar el nombre del autor, guarde el nombre del autor dentro del documento de la publicación.
  • ¿Por qué?: Para evitar tener que leer dos documentos (Publicar + Usuario) para crear una pantalla. Leer es dinero.

4. Índices

Si su aplicación comienza a ralentizarse al realizar búsquedas, probablemente olvidó crear índices.

  • Un índice es como el índice de un libro. Le dice al banco dónde está la información sin tener que leer todo el banco.
  • La consola Firebase/Supabase generalmente le advierte cuando falta un índice. Pincha en el enlace que te sugieren.

Conclusión

BaaS es un superpoder para principiantes. Puedes crear un "Uber" o un "Instagram" tú mismo en semanas. Pero recuerda: la facilidad tiene un precio. Estudie las reglas de seguridad y el modelado de datos de la plataforma elegida. Esto le ahorrará mucho dinero y dolores de cabeza en el futuro.

Lea también