AZ-305 Question 57
Single answerYour organization runs a multi-tenant SaaS platform, where each tenant requires its own relational database. Most tenants have erratic usage spikes, and you want to ensure that one tenant’s spike does not adversely affect the others while also keeping operational costs as low as possible. Which Azure SQL Database design should you adopt?
- A
Deploy a single Azure SQL Database in the Hyperscale tier for all tenants in one shared schema
- B
Create a single Azure SQL Managed Instance and store tenant data in separate schemas
- C
Use an Azure SQL Database Elastic Pool and place each tenant’s data in its own database within the pool
- D
Migrate everything to on-premises SQL Servers with Always On Availability Groups
Show answer and explanation
Correct answer: C
Explanation
Azure SQL Database Elastic Pools are specifically designed to handle multiple databases (often for multi-tenant scenarios) that have varying usage patterns. Each tenant can reside in its own database, while the pool resources (eDTUs or vCores) are shared efficiently. This approach balances performance isolation and cost optimization, as outlined in Microsoft’s documentation on Elastic Pools (https://learn.microsoft.com/azure/azure-sql/database/elastic-pool-overview).
- A. Incorrect.
Option 1 is incorrect because using a single large database for all tenants can make it harder to isolate resource usage and manage performance spikes per tenant. Hyperscale offers scalability but doesn't natively address multi-tenant resource governance as efficiently as Elastic Pools.
- B. Incorrect.
Option 2 is incorrect because while Managed Instance can host multiple tenant schemas, this design can be more complex and may not be as cost-effective for many small databases with variable usage patterns. You lose some benefits of per-database isolation, and licensing costs can be higher overall.
- C. Correct.
Option 3 is correct because Elastic Pools allow multiple databases to share compute resources under certain performance constraints. It provides good cost management for small- to medium-sized databases with varying workloads and helps isolate resource usage between tenants effectively.
- D. Incorrect.
Option 4 is incorrect because on-premises SQL Servers with Always On Availability Groups do not reduce operational costs to the extent of Azure PaaS services. This approach also introduces more infrastructure overhead, contrary to the scenario’s needs.