Architettura dell'applicazione SaaS B2B

1

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?

    
posta CPA 26.01.2016 - 11:18
fonte

0 risposte