Q94. Choose between SQL Server in VM and SQL Database?

We have discussed two possible models of using SQL Server on the Cloud. Now the question arises, when to use which model?

In a situation where you do not want the burden of maintaining SQL Server and your database is expected to grow rapidly then SQL Database is preferred.

When you have an existing application which uses SQL Server, you prefer to move your database to the cloud, and you are prepared to make only some minimal changes to your application then you can consider SQL Server on a VM in the Cloud. Working with SQL Server in this case is similar to using SQL Server on-premise. You have full control and you are responsible for all administrative tasks.

Cost-wise, SQL Database (PaaS) works out cheaper as you pay only for the size of the database you use. With SQL Server running in a Windows Azure VM (IaaS), you have to pay for the compute resources also. Cost-wise, this will work out more as SQL server uses higher compute resources while running. This is because we configure multiple VMs running SQL server to ensure high availability.

If you have to increase the SQL Server database size, you will have to opt for a larger VM size and this results in a higher cost. You will also have to consider limitations associated with VM sizes provided by Azure. In case of SQL Database, Azure automatically partitions the database and your application will use this additional size seamlessly.