Imagen de perfil

¿Qué es la Tenencia múltiple?

La tenencia múltiple es un principio de arquitectura de software que nos permite que una sóla instancia de servidor sea capaz de alojar a múltiples clientes.

Realmente es muy simple, desarrollas un único proyecto, lo subes a tu servidor, y para cada nuevo cliente de tu aplicación se genera de forma automática una nueva base de datos con su usuario y sus permisos, su propio sistema de almacenamiento y su propio subdominio.

Para entenderlo mejor, en lugar de mostrar el caso práctico y así entender por qué necesitamos conocer esta forma de desarrollar aplicaciones, veamos el caso opuesto.

¿Qué no hacer?

Lo que no debes hacer cuando necesites desarrollar un sistema CRM o similar que tienes pensado alquilar/vender a tus clientes es desarrollar una aplicación tradicional, es decir, una base de datos para todos, mismo sistema de archivos etcétera, ¿por qué? Porque sencillamente estás mezclando la lógica de negocio de todos tus clientes y de la aplicación en sí en una misma base de datos, con todo lo que ello puede conllevar.

En lugar de hacer eso, desarrolla una aplicación que tenga la capacidad de soportar tenencia múltiple y podrás aislar a todos tus clientes, pero no sólo eso, también aislaras la lógica de negocio de tu propio sistema de ventas.

Caso real

Imagina que necesitas desarrollar un CRM que después desees vender a través de suscripciones con Stripe, podrías desarrollar una aplicación web con tenencia múltiple que se encargue de toda la lógica con lo cual podrías ofrecer los siguientes servicios a tus clientes.

  • Su propio subdominio, p. ej. cursosdesarrolloweb.crm.com.
  • Su propia base de datos, los usuarios de una instancia no pueden acceder a los datos de otra instancia.
  • Su propio sistema de almacenamiento.
  • Rutas personalizadas para cada cliente si fuese necesario.

Si te fijas, realmente lo que estás ofreciendo es un sitio web completo para tu cliente que va a trabajar de forma aislada, y todo eso sin tener que hacer ninguna configuración especial para cada nuevo proyecto, una vez aprendes a desarrollar este tipo de aplicaciones el proceso es completamente automático, base de datos, sistema de archivos, autenticación etcétera.

En breve estaremos publicando un nuevo curso sobre tenencia múltiple donde trataremos un caso similar al expuesto aquí. Mientras tanto no te pierdas este curso gratuito de Laravel Multi Tenancy.

14 enero, 2020
Cursosdesarrolloweb ©. Todos los derechos reservados.

Login