Todas estas son buenas respuestas, pero en su mayoría contrastan las definiciones de multicliente versus microservicios, en lugar de responder a la pregunta original de cómo encajan.
La respuesta es “con mucho cuidado”.
La tenencia múltiple no implica una sola base de datos. Si tiene 50,000 clientes, tendrá dificultades para reunirlos a todos en una base de datos. Sin embargo, casi siempre implica una base de datos que tiene muchos, muchos clientes.
- ¿Cuál es la cuota de representantes en una empresa como HubSpot (producto MRR de $ 500)? ¿Cuántos usuarios de pago tienen que cerrar los representantes en un mes para una empresa con un producto MRR de $ 500?
- ¿Cuál es una buena solución basada en SaaS para compartir documentos y conversaciones con los clientes?
- ¿Cuáles son los mejores paneles de software gratuitos de análisis de redes sociales que utilizan SaaS?
- ¿Cuál es la diferencia entre IaaS, SaaS y Paas?
- Cómo obtener un nuevo SaaS de 0 a 1000 clientes
Tome el ejemplo más simple: la identificación de la cuenta. Casi todas las tablas en una base de datos multiinquilino tendrán una identificación de cuenta. Si divide la aplicación en 10 microservicios, cada servicio llevará consigo las tablas relevantes necesarias para crear el servicio. Ahora, elimine una cuenta. Ooops! Ahora tengo 10 servicios que deben mantener la integridad de la identificación de la cuenta en esos servicios.
Por lo tanto, la primera regla general sería descargar servicios que son independientes de la cuenta, por ejemplo, catálogo de productos, integraciones de terceros, procesamiento de datos masivos, servicio de contenido genérico, envío de correos electrónicos, servicios de mensajes, etc.
En muchas aplicaciones SaaS, eso no lo llevará lejos, porque la mayor parte de la aplicación estará haciendo cosas específicas de la cuenta. Luego, deberá observar los patrones de uso en los que podría romper partes del sistema que requieren una interacción limitada e infrecuente. Un buen ejemplo podría ser un servicio de registro o un servicio de facturación. Un servicio de registro podría separar a los clientes potenciales que nunca compran la aplicación de los clientes reales, y solo se comunica con el cliente potencial una vez que se crea la cuenta. Un servicio de facturación solo se comunica con el resto de la aplicación cuando ocurre un evento de compra, que probablemente sea menos de una vez al mes y tal vez una vez al año en la renovación.