Abbiamo un numero di clienti, i cui sistemi condividono alcune funzionalità, ma hanno anche un certo grado di diversità. Il numero di clienti è in crescita - sempre una cosa salutare! - e anche la diversità tra le loro attività è in aumento.
Al momento esiste un singolo sito Web ASP.Net (Web Forms) (diversamente dal progetto web), che ha sottocartelle per ogni tenant, con le pagine non standard di quel tenant. Esiste un progetto di modello separato, che si occupa dell'accesso al database e della logica aziendale.
Quale è preferibile - e, soprattutto, perché - tra avere (a) 1 database per cliente, con solo le caratteristiche associate a quel client; oppure (b) un singolo database condiviso da tutti i client, in cui solo un sottoinsieme di tabelle viene utilizzato da qualsiasi client.
Le principali preoccupazioni all'interno dell'azienda sono finite:
- manutenzione di più risorse - backup, controllo di versione e simili
- promuovere il riutilizzo il più possibile
Come faresti a garantire che tali preoccupazioni vengano affrontate, quale soluzione è preferibile e perché? (Sto anche compilando le risposte a domande simili)