Azure DB for separate customers

  • If I want to provide data to separate customers i.e. keep it secure and isolated for each party what would be the best way to do this with SQL DB?

  • You are looking at a multi tenant architecture. This does not a cloud specific architecture but can sit on the cloud nicely. There is no one size fits all, but basically you would be looking at having one database per customer or group of customers, as well dedicated application components to serve this database.

    Here is a link that may help put you in the right direction:

    https://docs.microsoft.com/en-us/azure/sql-database/saas-tenancy-app-design-patterns

  • For the purpose of security, transactional isolation, and even just logical simplicity; I agree that you should consider one Azure SQL database per tenant, especially if you serve and international client base. If the databases are contained in the same resource group (this is advised), the databases can share an elastic DTU pool.
    https://docs.microsoft.com/en-us/azure/sql-database/sql-database-elastic-pool  
    Another benefit of the one database per tenant model is that, if a tenant has a special legal requirement or corporate policy regarding where their data is physically hosted, then you can simply move their database to another region. However, a single DTU pool cannot span regions, so this will require at least one pool for each region.

    "Do not seek to follow in the footsteps of the wise. Instead, seek what they sought." - Matsuo Basho

Viewing 3 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic. Login to reply