Microsoft Azure SQL PaaS vs. IaaS

Data storage is a big part of everything we do today. Data is stored in many ways, including on SQL servers. Microsoft SQL Server is a widely used and robust solution enjoyed by many. Traditionally, Microsoft SQL Servers were housed in a data center on hardware sufficie.. Continue

Microsoft Cloud

Published on
Written by

Data storage is a big part of everything we do today. Data is stored in many ways, including on SQL servers. Microsoft SQL Server is a widely used and robust solution enjoyed by many. Traditionally, Microsoft SQL Servers were housed in a data center on hardware sufficient to support the workload. This is still a viable solution today, but it is no longer the only option.

Microsoft Azure has expanded the options for bringing SQL-based solutions to your customers. You can install and run SQL Servers on a Virtual Machine through the Azure Infrastructure as a Service options. You can also run an Azure SQL Database through what we call Database as a Service.

The question is, how do you help your customers choose the right option for their needs? This is an area where partners can add value for customers. You can help them make a choice that will solve the challenges they may be facing today, with flexibility to address their future business needs as well.

The big picture

The diagram below does a good job illustrating the four ways you can run SQL today. As you move vertically up the list of options, the cost decreases. Moving horizontally takes you from higher control/higher administration options to ones of lower control/lower administration.

This illustration also shows that regardless of what option you choose, you can connect on-premises and cloud bases resources together through our Hybrid cloud options—one of the real values of Microsoft Azure.

Hybrid Cloud

Two options for SQL on Azure

Now, let’s take a closer look at the two options that run on Azure, Microsoft Azure SQL Database and SQL Server in Azure Virtual Machine.

  • Microsoft Azure SQL Database is a relational database-as-a-service, which falls into the industry category Platform as a Service (PaaS). Azure SQL Database is built on standardized hardware and software that is owned, hosted, and maintained by Microsoft.
  • SQL Server in Azure Virtual Machine (VM) falls into the industry category Infrastructure as a Service (IaaS), and allows you to run SQL Server inside a virtual machine in the cloud. Similar to Azure SQL Database, it is built on standardized hardware that is owned, hosted, and maintained by Microsoft.

These two SQL options are optimized for different purposes:

  • Azure SQL Database is optimized to reduce overall costs to the minimum for provisioning and managing many databases. It minimizes ongoing administration costs because you do not have to manage any virtual machines, operating system, or database software, including upgrades, high availability, and backups.
  • SQL Server running in Azure VM is optimized to extend existing on-premises SQL Server applications to Azure in a hybrid scenario, or deploy an existing application to Azure in a migration scenario or dev/test scenario. With SQL Server in Azure VMs, you have the full administrative rights over a dedicated SQL Server instance and a cloud-based VM. With SQL Server in VM, you can build a highly customized system to address your application’s specific performance and availability requirements.

This table summarizes the main characteristics of Azure SQL Database and SQL Server in Azure VM:

Azure SQL DatabaseSQL Server in Azure VM
Best for

  • New cloud-designed applications that have time constraints in development and marketing
  • Applications that need built-in automatic high-availability, disaster recovery solution, and upgrade mechanisms
  • If you have hundreds or thousands of databases but you do not want to manage the underlying operating system, hardware, and configuration settings
  • Applications using scale-out patterns
  • Databases of up to 500 GB in size
  • Building Software-as-a-Service applications

  • Existing applications that require fast migration to the cloud with minimal changes
  • SQL Server applications that require accessing on-premises resources (such as, Active Directory) from Azure via a secure tunnel
  • If you need a customized IT environment with full administrative rights
  • Rapid development and test scenarios when you do not want to buy on-premises nonproduction SQL Server hardware
  • Disaster recovery for on-premises SQL Server applications using backup on Azure Storage or AlwaysOn replicas in Azure VMs
  • Large databases that are bigger than 1 TB in size.

  • You do not want to employ IT resources for support and maintenance of the underlying infrastructure
  • You want to focus on the application layer

  • You have IT resources for support and maintenance
Total cost of ownership

  • Eliminates hardware costs
  • Reduces administrative costs

  • Eliminates hardware costs
Business continuity

  • In addition to built-in fault tolerance infrastructure capabilities, Azure SQL Database provides features that increase business continuity, such as Point in Time Restore, Geo-Restore, and Geo-Replication

More about Azure SQL Database business continuity

  • Lets you set up a high availability and disaster recovery solution for your database’s specific needs. Therefore, you can have a system that is highly optimized for your application. You can test and run failovers by yourself when needed

More about high availability and disaster recovery for SQL Server in Azure Virtual Machines

Hybrid cloud

  • Your on-premises application can access data in Azure SQL Database

More about SQL Server 2014 Hybrid Cloud

Key questions

There are some additional factors to consider when choosing the correct solution:

  • How big of a data set will you manage? Anything over 500GB will need to go on an IaaS VM.
  • What level of control and customization is needed? Azure SQL Database is always adding new features, so be sure to check for the latest information. If your database solution requires things like table partitioning, distributed transactions, Windows based authentication, linked servers, or full text search, then you are better off looking at deploying SQL on an IaaS VM.
  • Is management and monitoring important? If you have a database that needs a core set of monitoring Azure SQL Database has a nice set of capabilities. If you have need to do highly customized and rich monitoring along with tracing, SQL Running in a VM may be the better solution.

What about Data Migration

It is possible to migrate data from an existing SQL Server to an Azure SQL Database. There are tools like this one that make the job easy. If your goal is to do regular backups and restore operations from on-premises to Azure, I suggest using SQL running on an Azure VM.

A word on data protection

Both options for running SQL on Azure allow you to enable solutions for backing up and preserving data. Azure SQL Databases enable point in time restores of 7, 14, or 35 days based on the selected service tier. There are also several options for geo-replication to support business continuity.

What does it cost?

  • SQL Database pricing is published here.
  • If you are deploying SQL Server on a VM you have options to bring your own licenses or to purchase the Microsoft SQL Server license as a part of the VM per-hour cost. Details here.