I'm building an SaaS app with plans to scale from 10,000 to 100,000 users—do you think I should go for a DTU-based or vCore-based Azure SQL Database plan, and how would I manage speed, bandwidth, multiple databases, upgrades, and data recovery in case of

Aditya Singh 0 Reputation points
2025-04-15T09:02:11.4533333+00:00

I am building an SaaS app that currently has around 10,000 users, with the potential to scale to 100,000 users in the future. Which Azure SQL Database pricing plan (DTU-based or vCore-based) would be best for supporting this growth, ensuring scalability, performance, and cost efficiency? Additionally, I would like to know about the following:

Speed and bandwidth considerations for handling large volumes of data and users.

The cost and best practices for charging based on usage in an SaaS model.

Support for multiple databases and interlinking databases within the system.

How to upgrade and degrade the database performance as my app scales.

What options are available for data retrieval in case data is deleted due to an error or failure.

Azure SQL Database
{count} votes

1 answer

Sort by: Most helpful
  1. Vijayalaxmi Kattimani 2,225 Reputation points Microsoft External Staff
    2025-04-15T14:20:56.7+00:00

    Hi @Aditya Singh,

    Greetings!

    We would like to inform you that, to support the growth of your SaaS app from 10,000 to 100,000 users, ensuring scalability, performance, and cost efficiency, the vCore-based pricing model for Azure SQL Database is recommended.

    Regarding the Azure SQL Database Pricing Plan:

    vCore -based vs. DTU -based Pricing Plan

    vCore-based Model:

    • Flexibility and Control: Allows you to independently choose and scale compute and storage resources based on your workload needs.
    • Service Tiers: Offers three service tiers: General Purpose, Business Critical, and Hyperscale, providing options to match your performance and cost requirements.
    • Cost Efficiency: Enables you to use Azure Hybrid Benefit for SQL Server to save costs.

    DTU-based Model:

    • Bundled Resources: Provides a bundled measure of compute, storage, and I/O resources, which might be simpler but less flexible.
    • Preconfigured Options: Suitable for customers who prefer simple, preconfigured resource options.

    For more information, please click on the following link https://learn.microsoft.com/en-us/azure/azure-sql/database/purchasing-models?view=azuresql

    Regarding the Speed and bandwidth considerations for handling large volumes of data and users:

    • Scalability and Performance: Ensure your system can scale effectively to accommodate growing data volumes and user demands. This involves choosing a database or processing framework that can expand as needed, whether through horizontal scaling (adding more servers) or vertical scaling (upgrading existing hardware). 
    • Performance Optimization: Implement techniques such as indexing and caching to maintain fast response times even as the workload increases. For more information, please click on the following link https://airbyte.com/data-engineering-resources/best-practices-deployments-with-data-volumes

    Regarding the cost and best practices for charging based on usage in an SaaS model:

    There are several SaaS pricing models you can consider:

    1. Flat-rate Pricing: Charges a single, fixed price for all users, regardless of usage.
    2. Usage-based Pricing: Charges based on the actual usage of the service, which can be more cost-effective for users with varying usage patterns.
    3. Tiered Pricing: Offers different pricing tiers based on the features or usage levels. 
    4. Per-user Pricing: Charges based on the number of users accessing the service. 
    5. Freemium Pricing: Provides a basic version for free and charges for premium features. For more information, please click on the following link https://www.marketermilk.com/blog/saas-pricing-models

    Regarding the Support for multiple databases and interlinking databases within the system.

    Azure SQL Database offers several features to support multiple databases and interlinking:

    1. Elastic Pools: Allows you to share compute resources between many databases on the same server, providing performance elasticity and cost efficiency.
    2. Elastic Database Tools: Supports sharding, enabling you to scale your workload across multiple databases.
    3. Elastic Query: Enables you to run Transact-SQL queries that span multiple databases, allowing cross-database queries and integration with tools like Power BI. For more information, please click on the following link https://learn.microsoft.com/en-us/azure/architecture/guide/multitenant/service/sql-database and https://learn.microsoft.com/en-us/azure/azure-sql/database/elastic-pool-overview?view=azuresql

    Regarding the Upgrading and Degrading Database Performance:

    Azure SQL Database allows you to dynamically scale resources with minimal downtime:

    Regarding the Data Retrieval Options in Case of Data Deletion:

    Azure SQL Database provides several options for data recovery:

    1. Point-in-time Restore: Allows you to create a new database on the same server, recovered to a specified point in time within the retention period.
    2. Deletion Time Restore: Enables you to create a database on the same server, recovered to the deletion time for a deleted database.
    3. Long-term Retention Restore: Allows you to create a new database on any server in the same region, recovered to the time of a recent backup.
    4. Geo-restore: Enables you to create a new database on any server in any other region, recovered to the point of the most recent replicated backups. For more information, please click on the following link https://learn.microsoft.com/en-us/azure/azure-sql/database/recovery-using-backups?view=azuresql&tabs=azure-portal

    I hope this information helps. Please do let us know if you have any further queries.

    If this answers your query, do click Accept Answer and Yes for was this answer helpful. And, if you have any further query do let us know.

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.