March 17, 2020 by Kenneth Fisher
When it comes to migrating applications to Azure, there are a number of paths available. But if you’re migrating on-premises apps or running applications that require OS-level access, depending on the choices you make, you may be looking at a major rewrite. SQL Server on Azure Virtual Machines (VMs) are a solution that will frequently let you bypass this time and energy intensive process. (Although to be fair if you have enough technical debt this might be a good excuse to take care of it.) If you’re still deciding whether you’re ready to move to Azure, read the e-book, “Future-Proof Your Data Infrastructure with Azure: A Business Case for Database Administrators.”
SQL Server on Azure VMs give you the option to do a lift-and-shift. Meaning you can quickly and easily migrate existing applications to the cloud with little or no changes. Azure VMs are optimized for migrating existing applications to Azure or extending existing on-premises applications to the cloud in hybrid deployments. Either way, Azure VMs can be an exact match of your on-premises environment, so migration is similar to moving databases from one on-premises server to another. As with any move of a SQL server remember that there are a lot of moving parts, so you need to make sure you get a good checklist and follow it.
SQL Server can run on Windows Server or Linux virtual machines in Azure as an infrastructure as a service (IaaS) offering. All recent versions and editions of SQL Server are available for installation in an Azure IaaS virtual machine, and if you need something older you can always create the VM and install earlier versions. Microsoft allows you to use an existing license or if you don’t have one offers pay as you go for a SQL Server license already included in a SQL Server image.
Running SQL Server on an Azure virtual machine isn’t much different from running SQL Server in a remote data center, with the benefit of additional built-in security and management capabilities. With SQL Server on Azure VMs, you have full administrative rights over a dedicated SQL Server instance and the underlying OS. Full control over the database engine means you can:
- Choose when to start maintenance/patching.
- Change the recovery model to simple or bulk-logged.
- Pause or start the service when needed.
- Fully customize the SQL Server database engine to meet performance and availability requirements.
Of course, with great control comes great responsibility. It’s your responsibility to manage the virtual machines and everything on them. Microsoft offers some automated features to help simplify patching, backup, and high availability, but , for example, you still have to upgrade the OS and database software and install any additional software you require. Although you of course want to keep additional software to a minimum. You’ll also need to ensure the availability of your databases.
Microsoft provides an availability SLA of 99.95 percent for the virtual machines. This SLA doesn’t cover the processes—such as the SQL Server processes—that you have running. So depending on your SLAs, additional mechanisms may be necessary. Fortunately, implementing a high-availability solution isn’t all that different from doing it on premises and in fact can be easier in some ways. For example, you can quickly and easily create one or more additional Azure SQL VMs to use with Always On availability groups as secondaries.
Using Azure VMs does cost money and you need to take this into account. On the plus side, when you compare this cost to on-premises solutions remember that you have the option to shut down resources while you’re not using them. This will give you more flexibility in managing your costs. For example a common cost savings is to shut down development and test environments on evenings and weekends unless you specifically need them.
SQL Server on Azure VMs make it easy to move on-premises applications to the cloud or leverage the cloud for hybrid deployments. While you’re responsible for the care and feeding of the VMs, you also have administrative rights to a dedicated SQL Server instance and the underlying OS, giving you the flexibility and control of an on-premises deployment in the cloud.
To learn more about moving your databases to the cloud, download “Future-Proof Your Data Infrastructure with Azure: A Business Case for Database Administrators.”
Cowriter: Crystal Bedell