AzureSQLLogoBlackThere are many things to look at when either migrating an existing application or just building a new application to host on Microsoft Azure. Data storage is definitely a top concern, and along with that is the ability to use SQL Server in many cases. Fortunately, Microsoft Azure provides a couple options for using a SQL Database.

The most prominently discussed topic on SQL databases within Microsoft Azure is to use an Azure SQL database. In short, Azure SQL is a cloud-based version of SQL Server provided as a PaaS solution.

With SQL Server you need to procure licensing and servers; which also means Windows Server licensing as well. This can be quite costly both to purchase and maintain from licensing to infrastructure costs. This is the reason that when Microsoft moved SQL Server to Azure it was implemented as a PaaS (Platform as a Service) solution. This way you only have to worry about your data, and not the associated hardware and operating system maintenance. However, the Azure SQL PaaS offering does have it’s own limits.

An additional method of hosting SQL Server within Microsoft Azure (one that isn’t usually mentioned much) is to spin up some VM’s (Virtual Machines) within Azure and install SQL Server on them. Utilizing Azure IaaS (Infrastructure as a Service) in this way allows you to eliminate the cost of hardware maintenance, but you still need to maintain the SQL Server licensing and software of the servers. This can provide a nice middle ground if neither on-premises SQL Server or Azure SQL really fits the needs of your application and/or organizations needs.

Here’s a simple comparison of the primary differences between the three different options of hosting SQL databases with both SQL Server and Azure SQL:

SQL Server

  • Hosting: on-premises
  • Licensing: requires SQL Server license
  • Max DB Size: based on SQL Server license
  • Azure Cost: None, it’s on-premises
  • Other Cost: infrastructure costs associated with an on-premise database server

Azure SQL

  • Hosting: Azure PaaS
  • Licensing: no SQL Server license required
  • Max DB Size: 500GB
  • Azure Cost: based on Database Throughput Units* (DTU’s) consumed
  • Other Cost: none

Azure VM + SQL Server

  • Hosting: Azure IaaS
  • Licensing: requires SQL Server license
  • Max DB Size: 16TB due to Azure VM disk restrictions
  • Azure Cost: Azure VM** usage
  • Other Cost: SQL Server licensing

* Database Throughput Unit (DTU)  is a representation of a databases power based on a blend of the CPU, memory, and read/write rates of the database. This is a metric Microsoft Azure uses to help you assess the relative power of performance across the Basic, Standard and Premium service tiers. The Azure SQL database pricing is listed here: http://azure.microsoft.com/en-us/pricing/details/sql-database/

** Azure VM pricing is listed here: http://azure.microsoft.com/en-us/pricing/details/virtual-machines/

Microsoft MVP

Chris Pietschmann is a Microsoft MVP, HashiCorp Ambassador, and Microsoft Certified Trainer (MCT) with 20+ years of experience designing and building Cloud & Enterprise systems. He has worked with companies of all sizes from startups to large enterprises. He has a passion for technology and sharing what he learns with others to help enable them to learn faster and be more productive.
HashiCorp Ambassador Microsoft Certified Trainer (MCT) Microsoft Certified: Azure Solutions Architect