Hosting your SQL Server databases in Azure has to be one the biggest success stories of Microsoft's cloud platform. Currently there are in excess of 1.7 million instances of Azure SQL Database, Microsoft's Platform-as-a-Service offering. Microsoft also allow you to host your SQL Server databases using Infrastructure-as-a-Service, or SQL-in-a-VM, both of which are viable options for business. However, one of the most common things we get asked when talking to customers about the cloud is the difference between hosting SQL workloads on Azure SQL Database (PaaS) or SQL Server on Azure VMs (IaaS). So what are the features of these two hosting options, and what’s the difference?
Azure SQL Database (PaaS)
Using SQL in Azure is pretty much the same as you would be used to with the box product. It offers a huge range of features that will satisfy most needs and each database can be up to 1TB in size. Not bad, eh? Other features/advantages include:
No admin, so relatively hassle-free (and low cost!)
Complete elasticity for scaling
No need to build High Availability architectures
Scalable pricing structure to suit all budgets
Works with existing tools, such as SQLCMD or SQL Server Management Studio
Great for building SaaS applications
A full list of the most up-to-date features can be found here, they make for good reading
However, Azure SQL Database is not for everyone. In fact two of the most common reasons we see for people not wanting to use Azure SQL DB actually have little to do with the SQL Server engine.
1. “I want to be able to Remote Desktop onto my SQL Server.”
In Azure SQL DB there is no physical concept of a server that we can RDP onto.
2. “I want to have SSIS, SSRS and SSAS available to me.”
These three services are a very common request. Azure SQL DB is the relational engine and nothing more. When customers talk to us about these other services then we discuss their use cases and then we will talk to them about other services available in azure that could potentially fit their needs, Azure SQL Data Warehouse, Azure Data Factory and Power BI.
SQL Server on Azure VMs, i.e. SQL-in-a-VM (IaaS)
If you hit one or more of the limitations of Azure SQL DB (such as running out of space, wanting to make tweaks at server level, or maintain your own backup schedules), then you may want to look at hosting your SQL Server databases in a Virtual Machine in Azure instead. SQL-in-a-VM is great for:
Those who want a specifically customised system (which may not work with Azure SQL DB)
Those who have existing applications that they wish to migrate to Azure.
Those with SQL Server instances over the 1TB that Azure SQL DB allows, as Azure VMs have up to 64TB of storage.
Those who already have the available IT resources to maintain VMs.
Those who want full access to administrative rights.
If you want to learn more about your options in Azure, a good side by side comparison is available here.
Allan Mitchell is the CIO of Elastabytes & has been a Microsoft Data Platform MVP since 2002. He’s a Yorkshireman who loves all things SQL.
You can follow him on Twitter @allanSQLIS
Elastabytes are a cloud managed services company specialising in SQL Server. We’re a Microsoft Gold Partner and our team is made of Microsoft MVPs. Whether you’re already in Azure and need a DBA-as-a-Service, or you’re about to go to Azure and need a hand getting there, Elastabytes can help.
Contact us at firstname.lastname@example.org to set up a chat with one of our architects.
You can follow us on Twitter @elastabytes.