Skip to main content

Azure: How to choose right SQL option that fits for your Data Migration Strategy


Choosing a right SQL deployment option is the key success for on-premises data migration journey to Cloud platformMicrosoft Azure offers distinct and highly-scalable services that fit for every data migration scenario. When it comes to SQL server data migration, Azure offers three types of deployment options namely, SQL Databases, SQL Managed Instances and SQL Virtual Machines. As a Cloud architect, if you design a migration-solution for your on-premises databases to Azure then you should get familiar with these SQL options first.

When comes to SQL server data migration, Azure offers three types of deployment options namely,

SQL Databases, SQL Managed Instances and SQL Virtual Machines.

Azure SQL Deployment Options SQL Databases SQL Managed Instances SQL Virtual Machines

However, 
how to decide out of these options to fit for your business or solution requirements? what key factors need to be considered while choosing the SQL option? what are the different IaaS/PaaS services offered by Azure and its capabilities? These questions must be explored with consideration of your solution requirements.
Let's read the article further to find out more in detail with my solution recommendations and use-cases explained.

Features at a glance

Firstly, the SQL Databases option,
  • It's a fully managed running as a hosted service in PaaS instance.
  • As we know, the PaaS is built on standardized hardware and software that is owned, hosted and fully managed by Microsoft, so the best part is it comes with in-built capabilities like auto scaling, 99.99% availability, backup and restore and so.
  • Microsoft takes care of everything hence only less administration may be required from consumers.
  • It offers up to 100 TB of storage for a single database.
Next, let’s look at the features of SQL Managed Instances,
  • It’s kind of a standard SQL version that we generally use on-premises.
  • As it runs on PaaS infrastructure, so comes with inbuilt support to auto scale, high availability and backup features like SQL databases.
  • It is an instance that can hold up to 100 databases and you can cross querying between them directly. It gives 8 TB as Maximum instance reserved storage
  • It does support running the SQL jobs.
  • It offers BYO-hybrid licensing for your on-premise products and discounted pricing for dev/test environments.
  • It can be connected through a Private IP address within Azure Vnet.
Finally, let’s look at the features of SQL Virtual Machines,
  • SQL VM instance is an IaaS cloud model, that means with this option you can get full control on the VM and its underlying OS, attached storage as well.
  • It supports running SQL job agents.
  • Allows BYOL license versions of the VM images and offers Up to 256 TB of storage.
  • It may require high administration basically for configuring, hosting and managing a database. However, it is specifically optimized for migrating on-premise applications to Azure hybrid deployments.

A Key Question

With consideration of all the features discussed above, you should also find the answer to a key question below. 
Remember! The answer is a key driver to your data migration.

Decision Factors Summary

The decision on choosing the SQL option clearly depends on various factors. From a solution architectural perceptive, here are some key factors to think about before deciding a migration approach.

The SQL databases option is best for modern cloud applications, this option should be considered 
  • if the application requires latest stable SQL features and advanced cloud offerings
  • when the organization is already familiar with Platform as a service (PaaS) model.
The SQL managed instances option is best for most migrations to the cloud, this option should be considered,
  • for lift-and-shift with 100% migration compatibility 
  • if application requires multi database mode with cross querying feature 
  • if the application wants to enable SQL jobs 
  • when an organization thinks it's time to cloud and market.
The SQL virtual machines option is best for migrations, this option should be considered
  • when an application requiring OS level access
  • when organization thinks time to cloud and also to simulate an AS-IS environment
  • as an easier and quicker migration approach compared to other SQL deployment options.
As a final note
In addition to the above key factors, a detailed technical fitment analysis also should be done before finalizing any SQL option in order to realize other non-functional requirements such as data security, performance, high-availability, backup, fail-over and so. This would help you to make a more informed decision on finalizing the data migration strategy.

Find this blog insightful? Share your comment.

Happy Solutioning!!

Comments

Sharmila said…
Its quite interesting to learn the features and chooe the Azure SQL Options for our requirements

Popular posts from this blog

Fix: "Cannot set a credential for principal 'sa' . (Microsoft SQL Server, Error: 15535)" and “User is not associated with a trusted sql server connection" Errors

Recently, I had happen to struck with the following errors when I tried to reset the SA password through the SQL Server 2008 R2 Express. " Cannot set a credential for principal 'sa' . (Microsoft SQL Server, Error: 15535) " and then, “ User is not associated with a trusted sql server connection " From my research I have found the solution and that perfectly worked in SQL management studio. Hence, I thought of sharing my findings with others. ========================================================= Advertisement: Choosing .NET Core Worker Services OR Windows Services? ========================================================= Steps to reset the password in SQL Server 2008 R2 Express and fix for the errors: Step 1. Go to SQL Server Instance -> Properties/Security tab and change the mode to SQL Server authentication mode. Step 2. Go to Security/Logins, then open 'sa' login properties,          a. Uncheck the "Enforce passwor...

How to Implement Lombok in IntelliJ for Java Projects: A Step-by-Step Guide

Lombok in IntelliJ for Java Projects Implementing Lombok in your Java project can streamline your code by reducing boilerplate. Follow these steps to set up Lombok in IntelliJ: Step 1 :  Ensure Java SDK Version. Ensure that your project is using Java 8 or higher.  You can check and set the Java SDK version in pom.xml: XML <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> Step 2 : Add Lombok Dependency to pom.xmlOpen the pom.xml file in your project. Add the following Lombok dependency inside the <dependencies> section: XML <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.24</version> <scope>provided</scope> </dependency> Step 3 : Download Lombok Plugin for IntelliJ IDEAGo to File > Settings (or press Ctrl+Alt+S). Navigate to Plugins. Search for Lombo...

How to create a GenAI Talking Avatar ChatBot using Streamlit and Anthropic Claude LLM Model

GenAI Talking Avatar ChatBot   using Streamlit and Anthropic Claude LLM Model GenAI-Talking-Avatar-Chatbot is a web application that allows users to interact with an AI-powered talking chatbot with a static avatar. The chatbot uses AWS Bedrock for generating responses and Google Text-to-Speech (gTTS) for voice output. The backend is built with FastAPI, and the frontend uses Streamlit for the user interface. Features API Backend (api.py) Provides an API endpoint to handle chat requests. Uses AWS Bedrock to generate AI responses in a specified JSON format. Ensures the responses include the message, avatar expression, and voice tone. Includes a health check endpoint to verify the API status. Chat UI (chat_frontend.py) Chat Interface: Provides a chat interface where users can input their queries and receive responses from the AI assistant. Avatar Display: Displays an avatar that changes expressions based on the AI assistant's responses and actions (e.g., thinking, speaking). AI Respons...