Faster Delivery = Happy Users
Automated Process = Fewer Errors
Standards = Cost Reduction
Order Visibility = Confidence
Linking Systems = Efficiency
The options available for where and how to deploy SQL Server in Azure are often confusing for organizations who are new to the cloud platform. Selecting the wrong option for your data can cause implementation delays, performance issues, and failed deployment projects. In this post, I’ll be giving a high-level overview of what these options are, as well as how those of you with legacy SQL Server footprints can take advantage of Azure for extended support during your transition to the cloud.
One of the most important things to understand is that not all SQL Server offerings are created equal in Azure. Organizations have the choice of deploying SQL Server to Infrastructure as a Service (IaaS) virtual machines, or by leveraging Azure SQL Database, which is a Platform as a Service (PaaS). Microsoft has also recently released Azure SQL Database Managed Instances, which is a hybrid of the previous two options. They each have their pros and cons and understanding what those are is critical to a successful deployment.
This IaaS option is going to be the most familiar option to most IT pros reading this. When deploying SQL Server onto an Azure VM, it’s functionally identical to deploying SQL Server to an on-prem VM. You have all of the features and functionality available to you, along with all of the overhead of managing it. In this scenario, you have guaranteed application compatibility, but you also have to manage the backup, clustering, failover, patching, and all of the other day-to-day tasks that come with keeping the lights on in a SQL Server environment.
With this PaaS option, Microsoft manages the underlying operating system and SQL Server Database Engine instances, and everything associated with them, including patches, backup, clustering, and failover. This is a very compelling option for organizations that want to reduce management overhead and quickly deliver highly resilient services. There are some tradeoffs, however. Not all SQL Server features are available in Azure SQL Database, due to its streamlined nature. Additionally, while geo-failover and point-in-time restore are excellent options that come with Azure SQL Database, some organizations will need more application-specific failover optimization. If your application can support Azure SQL Database, it’s a fantastic option, but if your application doesn’t support it, there may be development overhead necessary to make it compatible.
Azure SQL Managed Instances are a “best of both worlds” approach to the above two options. If you need the additional flexibility and feature set of a full SQL Server installation but you want the hands-off infrastructure management style that PaaS provides, managed instances may be a good fit. Additionally, they come with the benefit of being able to reside within an Azure vNet; a feature often requested for Azure SQL Databases.
If you’re still primarily hosted in your own datacenter or colo, there are still many ways that Azure can add value to your SQL Server infrastructure. Microsoft has invested significantly in hybrid data solutions which allow you to leverage the scalability of Azure while your data estate is still primarily on-prem. One example is called a SQL Server stretched database. This allows for you to take a database that is on SQL Server 2017 in your datacenter today and “stretch” the cold transactional data out to Azure SQL Database services. This reduces the need for high-performance storage on-prem and introduces “cloud tier” SQL capabilities for your coldest transactional SQL data. This can allow you to grow without limitations or procuring additional on-prem storage and is transparent to the applications accessing the data.
If you have SQL Server 2008 or 2008 R2 in your environment, you’re probably rushing to identify your upgrade path as the end of extended support date draws closer for those products. Many customers want to leverage Azure SQL Database (PaaS), but don’t think they have the time left to re-architect their applications to be compatible. If you fit this description, then there’s good news! If you migrate these workloads to Azure, you get free security updates for these products for an additional three years. In the past, this would require a custom support agreement and would be extremely expensive. But now you can lift-and-shift your existing SQL Server 2008 and 2008 R2 into Azure VMs and enjoy that additional window of extended support while you continue to modernize your applications.