There are two primary ways to deploy SQL server on Azure:
The fully managed option is aligned with the PaaS cloud service model and is mostly applicable for cloud-native applications or re-architected applications.
The self-managed IaaS model on the other hand gives full control to the customer, as they have access to the SQL Server on Azure and can fine tune server and DB configurations, just like they could do in an on-premises SQL deployment.
In this article, we’ll cover each of these Azure database options in more depth and help you decide which is right for you.
In this article, you will learn:
Depending on the deployment model you choose - fully managed or self managed, you will have different licensing options, but the migration path will probably be the same.
Licensing
Licensing will differ depending on your deployment model:
Data migration
Azure Database Migration Service (DMS) supports migrations to the Azure SQL Database, Azure SQL Database managed instances, or Azure SQL VMs. So it is suitable for both deployment options outlined in this article.
DMS helps you migrate on-premises databases to Azure SQL services through an online or offline migration process. The database migration assessment tool, offered as part of DMS, helps to assess the source databases and highlights any compatibility issues so that you can address them prior to the Azure migration.
Azure SQL Database is delivered as a fully managed service that provides the latest SQL Server capabilities of the box. The backend SQL engine uses the latest stable SQL Server enterprise edition.
The database engine, operating system, and underlying hardware are all managed by Azure. Note that customers are still responsible for managing the database properties, logins, security, auditing, query tuning, etc.
Pros of Azure SQL Database
Azure provides an SLA of 99.99%. The databases are protected through automated Azure database backups and can be configured for long term retention of up to 10 years.
Other administrative tasks like patching and upgrades are also managed without user intervention. Scalability needs of the database can be handled automatically through elastic pools, which are very useful in multi-tenant usage scenarios with unpredictable usage patterns.
Cons of Azure SQL Database
Though many DB administration activities are offloaded in Azure SQL Server, customers could find them to be restrictive in certain circumstances. For example:
The alternative option to the managed service model is to build your database in an Azure VM. Azure offers marketplace images which help to deploy VMs with SQL Server in a matter of a few clicks. Unlike Azure SQL Database, there is no restriction of the SQL version that can be deployed in the VMs, which helps avoid compatibility issues during migration.
Most Marketplace images use Azure VMs fine-tuned for databases. In order to manage storage for the SQL Server database, you will need to use a managed storage service provided by Azure or a third party.
You can choose Azure managed disks, with a Premium or Ultra disk option for superior performance in production deployments.
Compute performance can be adjusted by scaling up VMs to high performance SKUs if required.
Pros of self-managed SQL Server in an Azure VM
Cons of self-managed SQL Server in an Azure VM
These cons could also be advantages, when you need to customize your deployment, or when the backup schedule needs to be aligned with organizational DR strategy.
What this deployment option boils down to is more control over the database, its optimization, how you can use that data, and how much you can save by avoiding the costs of premium services.
For organizations that need to customize their SQL Server deployments, and need to overcome the limitations of the Azure SQL Database managed service, the self-managed Azure VM option is the most appropriate. However, this option comes with greater complexity and difficulty of managing storage.
NetApp Cloud Volumes ONTAP can help customers meet the performance, availability, and agility requirements of SQL Server in a self-managed environment. It augments the Azure cloud storage layer with a set of storage management features and capabilities, uniquely suited to enterprise deployments, including:
Case study: how NetApp helped a self-managed SQL Server deployment in Azure
The court system of a major US state government, which has jurisdiction over civil cases statewide and over criminal cases within the state’s major metropolis, chose to deploy SQL Server databases for development and testing environments on Azure VMs in a self-managed model. The organization uses Cloud Volumes ONTAP to manage storage for these self-managed SQL Server instances.
The court system had been running applications based on Oracle and SQL Server databases on-prem, but they wanted a more flexible and simple solution for their move to Azure. Getting to the cloud was easy via SnapMirror, and the data management functionality made the migration project a success. The next steps include expanding the use of Cloud Volumes ONTAP for disaster recovery and data archiving.