Per la mia applicazione angularJS sto usando il backend di asp.net web api.
Per B2C ho normalmente un'applicazione back-end scalabile e ogni cliente può avere un account per utilizzare i servizi. C'è un database e ogni cliente ha accesso ad esso come Facebook o Foursquare.
Ma come lo farei in un'applicazione SaaS B2B? Dovrei ospitare per ogni azienda una propria applicazione di back-end con un proprio database? O è ok per ospitare anche un'applicazione di back-end per tutte le aziende? Se poi, come dovrei separare i dati appartenenti alle società?
Ad esempio:
Separa le app in hosting per ogni azienda:
app --> companyA --> dbA
app --> companyB --> dbB
Un'app ospitata per tutte le aziende con un unico database per tutti:
--> companyA --
app --| |--> db
--> companyB --
Un'app per hostet per tutti i clienti con diversi database per ciascuna azienda:
--> companyA --> dbA
app --|
--> companyB --> dbB
Se ho solo un'app, come potrei assicurarmi che ogni azienda abbia accesso ai suoi dati o al database di proprietà dell'azienda?
Per favore, puoi indicarmi la direzione giusta? Quali sono le migliori pratiche per farlo? Ad esempio, quando utilizzo Azure come provider di servizi cloud e archivio di tabelle di Azure come database, ciascuna azienda avrà il proprio account di archiviazione?