Abbiamo un numero di client, 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 imprese è in aumento.
Al momento esiste un singolo sito Web ASP.Net (Web Forms) (in contrapposizione al progetto Web), che ha sottocartelle per ciascun tenant, con le pagine non standard di quel tenant. Esiste un progetto modello separato, che si occupa dell'accesso al database e della logica aziendale.
Il che è preferibile - e, soprattutto, perché - tra avere (a) 1 database per client, con solo le funzionalità associate a quel client; oppure (b) un singolo database condiviso da tutti i client, in cui solo un sottoinsieme di tabelle viene utilizzato da un singolo client.
Le principali preoccupazioni all'interno dell'azienda sono finite:
- manutenzione di più risorse: backup, controllo della versione e simili
- promuovere il riutilizzo il più possibile
Come assicurereste che vengano affrontate queste preoccupazioni, quale soluzione è preferibile e perché? (Ho anche compilato le risposte a domande simili)