SQL_Server_Migration_Azure-1030x344 Migration to Azure: SQL Server on VM, Managed Instance, and Database

Are you looking to migrate your SQL server to cloud platforms like AWS or Azure? SQL Server older versions are moved to the cloud to modernize their infrastructure, extend their support, and incorporate new tools. And while SQL Server can run proficiently in each of the major cloud computing providers, Azure is the best choice:

  1. It’s cheaper

    Azure is up to 5 times cheaper than AWS. Plus, Azure also offers options for cutting expenses even more, such as saving from existing licenses, paying reservations upfront, and getting free security updates.

  2. High availability

    Azure handles system maintenance (including product upgrades, patches, and backups) without affecting the database uptime.

  3. SQL Server optimized

    SQL Server and Azure are Microsoft-developed products. Consequently, Azure has the most complete support for SQL Server and its tools, as well as extended support to older versions.  

  4. Custom-fit options

    Azure is not a one-size-fits-all product. In the case of SQL Server, it provides different cloud solutions and service tiers to satisfy applications and organizations of all sorts.

In this article, we will explore the products available for running SQL Server on Azure. While we will focus on migrating from on-premise, these options are also open if you want to start a new database right in the cloud. Also, bear in mind that all Azure products for SQL Server use the same engine that SQL Server, the same language (Transact-SQL), and are —mostly— compatible with SQL Server tools and APIs.

 

Migrate to an Azure VM

The first option is migrating the workload as is to Azure Virtual Machine (VM) running SQL Server. Once in Azure, you can upgrade to a new version of SQL Server. If you prefer to keep your old version instead, Azure offers SQL Server 2012 and 2008 versions three and one additional years of security updates respectively.

When deploying SQL Server on Azure VM, you are granted an interface for deploying a VM with the OS and SQL Server version of your preference. Hence, you’re responsible for managing and purchasing the OS and SQL Server environment. But, since Azure hosts the VM, it is responsible for the host servers and hardware systems. At the same time, the Azure platform provides value-add services such as backup and patching automation and Azure Key Vault integration.

Running SQL Server on Azure VM is the first option for systems that depend to some level on on-premise applications or OS configuration. Therefore, it is also the go-to option for on-premise migration. Azure VM migration is presented as lift-and-shift ready since the process is fast and demands little to no changes for existing applications.

SQL Server on an Azure VM is best for:

  • Swiftly migrating from existing SQL Server on-premise installations no matter what version.
  • Working with SQL Server features specific to a legacy version or not supported by Azure SQL.
  • Administrating the OS, database engine, and server configuration.
  • Needing more than 100 TB of storage.

 

Migrate to Azure SQL

Like Azure VM, Azure SQL takes care of the hardware and hosting, while also delivering the software the user needs for running their database application or instance. In like manner, Azure SQL includes automated configurations such as SQL Server upgrades. In this regard, Azure SQL is versionless, meaning the SQL Server in it is always updated to the latest version.

Instead of running on a VM, Microsoft Azure SQL runs on Service Fabric, a distributed systems platform made especially for cloud-native applications and microservices. 

1. Azure SQL Managed Instance

In Managed Instance, Azure takes care of the host software, hardware, and VM. Yet, you are in charge of deploying and managing the SQL Server instance and databases.

Managed Instance is a more complete option for cloud migration since it adds instance-scoped (server) features. Since it is not a VM, system configuration or maintenance actions such as patching are not required by the user. When deploying, you can choose between two service model tiers (General Purpose & Business Critical) depending on the performance, resources, and features you’re looking for.

Azure SQL Managed Instance is best for:

  • Focusing completely on the SQL Server.
  • Modernizing your existing SQL Server without giving up tools such as Agent Jobs and Service Broker.

2. Azure SQL Database

In Microsoft Azure SQL Database, Azure takes care of the host, hardware, VM, and SQL Server. As such, users only need to worry about working with databases. However, in comparison with Managed Instance, in Database some engine instance features are missing, like SQL Server Agent jobs.

If we compare Database with the other options in the Azure lineup,  it is the hardest to migrate from on-premise. Likewise, it offers too few options to control the underlying details of the system.

Database has the most options for deployment, offering two purchase models, each with its own sub tiers to choose from depending on the business workload: 

  • Vcore. Similar to Managed Instance model with a third tier option known as Hyperscale.
  • Database Transaction Unit (DTU). Predetermine compute resources (CPU, I/O, and memory) combined to simplify scaling.

Database is best for:

  • Support modern cloud applications on an intelligent, managed database service, that includes serverless compute.
  • Cloud-native applications.
  • Very specific SQL Server applications.
  • Larger databases than Managed Instance.

Note: To see a detailed comparison of Database and Managed Instance features, check Microsoft docs.

The Bottom Line

We have reviewed the Azure lineup for SQL Server cloud migration. Moreover, when it comes to choosing between Azure options for cloud migration, we recommend having an open mind about how much control of your system you want. Cloud computing is meant for making things simpler for users: When in doubt, ask yourself if it is really necessary to have complete control of the server, OS, or SQL Server version.

In any case, the good news is that there is an SQL Server option for each case in particular. Choose Azure if:

  • You’re looking to integrate the SQL Server Microsoft tools
  • You’re new to the cloud and want the migration process to be as harmonious as possible
  • You want a reliable and cost-effective solution
  • You already have a SQL Server license

If you are still wondering about which product to choose, get in touch with us to learn more about how to migrate your workload to Azure and what option is more suitable for your organization.