More about Azure Migration
- Azure Cloud Adoption Framework: The 9 Methodologies Explained
- 3 Ways to Create an Azure Migrate Project
- Azure Migration Step by Step: Discover, Migrate, Optimize, and Monitor
- Migrate SQL Server to Azure: Options, Tools, and a Quick Tutorial
- Migrate Databases to Azure: 3 Quick Tutorials
- 4 Ways to Migrate SQL to Azure
- Azure Migration Program: 4 Key Elements
- Azure Migrate: Key Components and a 4-Step Migration Plan
- 5 Azure Data Migration Tools You Should Be Using
- Azure Migration Tools: One-Click Migration for VMs and Data
- Azure vs AWS Pricing: A Quick Comparison
- How to Upload Files to Azure Blob Storage with AzCopy, PowerShell, and More
- Azure Managed Service Provider: How to Save Time and Reduce Cloud Overhead
- Azure Case Studies with Cloud Volumes ONTAP
- Azure Migration Strategy: Four Steps to the Cloud
- 11-Step Azure Migration Checklist
- Azure Migration: The Keys to a Successful Enterprise Migration to Azure
- Moving Clouds: Migration from AWS to Azure and Azure to AWS
- Azure Storage Replication with SnapMirror
What is SQL Migration to Azure?
Microsoft Azure is the world’s second biggest cloud computing provider, offering a wide range of services, including compute, storage, networking, and analytics. Azure offers tools that can help you easily and quickly migrate on-premises resources, including databases, to the Azure cloud.
You can migrate on-prem databases running a variety of database engines including MySQL, PostgreSQL, MariaDB, and Microsoft SQL Server to the Azure cloud. Azure migration supports several methods, including exporting and importing database content into a compatible database on Azure, backing up databases and restoring them on Azure, writing custom migration code, or using the automated Azure Database Migration Service (DMS).
In this article, you will learn:
- SQL Migration to Azure: 4 Main Approaches
- Destinations for Migrating SQL Server to Azure
- Destinations for Migrating Open Source SQL Databases to Azure
- Azure Data Migration with Cloud Volumes ONTAP
SQL Migration to Azure: 4 Main Approaches
Here are several popular approaches you can leverage when migrating SQL workloads to Azure.
1. Export and Import
Export and import techniques enable you to control the data and schema shifted during the migration process. These tools can help you choose which data to migrate over to a new database. You can also leverage them to clean and modify data during the migration process.
2. Backup and Restore
You can use backup and restore features to protect your data against disasters. Backup operations create an exact copy of your database and save it in a secure location. If a disaster occurs, you can restore the database from the copy. You can use backup and restore operations to migrate an entire database or a set of databases in one go.
3. Custom Application Code
You can write your custom application code to tailor the migration process to your needs. For example, if you need to implement an unusual migration or need to meet extensive data transformation requirements. This option offers a high level of flexibility, which is especially useful when shifting data from on-premises locations to the cloud.
4. Azure Database Migration Service (DMS)
DMS enables automated migration of databases to Azure services like Azure SQL Database, Azure Database for MySQL, Azure Database for PostgreSQL, and Azure Database for MariaDB. Azure DMS is ideal when you need to keep the original database available during the migration process (this is known as online migration). DMS uses replication to synchronize any changes made to the database while it is migrated, to ensure that the most current version is migrated.
Learn more in our detailed guide to the Azure Database Migration Service
Destinations for Migrating SQL Server to Azure
Azure offers several SQL Server migration options. You can migrate SQL workloads from the following locations:
- SQL Server on-premises
- SQL Server on Azure VMs
- Amazon EC2 or RDS
- Workloads running on Google Compute Engine or Google Cloud SQL for SQL Server
You can migrate SQL Server to several target locations in Azure:
- Azure SQL Database—a fully-managed database service, including built-in high availability, scalability, performance, and intelligent query processing capabilities.
- SQL Server on a virtual machine—lets you run a version of SQL Server in an Azure VM. This is an Infrastructure as a Service (IaaS) offering that gives you full control over the configuration of SQL Server and the underlying operating system.
- SQL Managed Instance—a service that lets you run SQL Server on a managed VM, while remaining in full control of the SQL Server instance. Notable features include Service Broker, SQL Server Agent, common language runtime (CLR), and machine learning services.
Learn more in our detailed guide to Azure SQL Database
Learn more about Azure SQL Server target options in our blog Azure SQL Server: Managed Service vs Self-Managed
Destinations for Migrating Open-Source SQL Databases to Azure
You can use any of the four methods detailed above to migrate open-source SQL databases to Azure. When migrating, you can move your database to an Azure VM, which is similar to running it on an on-premises server. Alternatively, you can migrate your database to a compatible Azure database service. Note that this option is only available if your on-premises database uses one of the versions supported by the corresponding Azure service.
Azure provides SQL database services supporting three popular open-source databases—MySQL, MariaDB, and PostgreSQL. These services provide the following key features:
- Built-in features for high availability
- Predictable performance
- Easy scaling designed to quickly respond to changes in demand
- Data security capabilities for data in transit and at rest
- Automatic backups and point in time restore options, available for the last 35 days
- Enterprise-level security and compliance
Azure’s database services offer a pay-as-you-go pricing model that lets you pay according to the storage, database operations and data transfer you actually use.
Below we discussed some of the features and deployment options of Azure’s database services for MySQL, MariaDB, and PostgreSQL.
Azure Database for MySQL
Azure Database for MySQL is a database service based on the open-source MySQL database. You can choose from several MySQL versions, including 5.6, 5.7, and 8.0.
There are two main deployment options:
- Single Server—provides a database system that can scale seamlessly without the need to manage hardware, network components, virtual servers, software patches, and other low-level components
- Flexible Server—improves availability by replicating databases across multiple Availability Zones. You can also start and stop database services quickly to optimize costs. However, this option requires more effort for ongoing database maintenance.
Learn more in our detailed guide to Azure MySQL: MySQL as a Service vs. Self-Managed in the Cloud
Azure Database for MariaDB
Azure Database for MariaDB is Azure’s database as a service offering for MariaDB, an open-source version of MySQL created by the community as a response to Oracle's acquisition. At the time of this writing, it supports MariaDB versions 10.2 and 10.3.
MariaDB is designed to replace MySQL, so it is strongly compatible with the MySQL engine. You can replace a MySQL database with a MariaDB database without extensive changes to client applications and without changing the database schema.
Despite the similar origin of MySQL and MariaDB, there are some differences between the systems. For example, MariaDB supports ColumnStore and Redis Cache which can be used for performance optimization.
Azure Database for PostgreSQL
Azure Database for PostgreSQL lets you run managed PostgreSQL databases in Azure. It supports PostgreSQL versions 9.6, 10, and 11. The service provides three deployment options:
- Single Server—you can choose between three pricing tiers—Basic, Memory Optimized, and General Purpose. Each tier supports a different level of CPU, memory, and storage.
- Flexible Server—provides the same benefits as MySQL Flexible Server. This service offers the highest level of availability and fast restart.
- Hyperscale (Citus)—scales queries across multiple server nodes to support large database loads. The database is partitioned between nodes according to partition or sharding keys. This deployment option is ideal for moving large PostgreSQL deployments to the Azure cloud.
Azure Data Migration with Cloud Volumes ONTAP
NetApp Cloud Volumes ONTAP, the leading enterprise-grade storage management solution, delivers secure, proven storage management services on AWS, Azure and Google Cloud. Cloud Volumes ONTAP capacity can scale into the petabytes, and it supports various use cases such as file services, databases, DevOps or any other enterprise workload, with a strong set of features including high availability, data protection, storage efficiencies, Kubernetes integration, and more.
In particular, Cloud Volumes ONTAP assists with lift and shift cloud migration. NetApp’s data replication tools SnapMirror® and Cloud Sync service will get your data to the cloud.
Learn more about how Cloud Volumes ONTAP helps to address the challenges of cloud migration in these Cloud Migration Case Studies.