Is it time to move to Azure?

Let’s jump on the cool kids’ bandwagon and move to the cloud. Seriously, you do not want to be the only one doing backups, patching, and worrying about EOL support when everybody’s working on all the new bells and whistles unless you are stuck with your application designs. Or maybe there are valid reasons to stay grounded with an on-prem solution, I totally get it. A few years ago I played with Azure SQL and I thought to jot down some of the key things about Azure SQL.

Azure is Microsoft’s cloud platform that offers a plethora of data services. Today, we will look at its Azure SQL offering. Azure SQL offers a SQL Server database engine in the cloud. Since It is built on the same SQL Server engine, it is easier to migrate your applications using the same familiar tools and languages. Azure SQL includes the following different flavors:

  • Azure SQL Database
    A SQL database-as-a-service (DBaaS) hosted in the Azure platform which has the latest features from Enterprise Edition. It is the right solution to move to if your cloud-designed application run on a single database. There are a couple of options to choose from for Azure SQL Database deployment:
    • A single database that has its own resources managed by a logical SQL Server.
    • An elastic pool is a collection of databases that share resources and are managed via a logical SQL Server. This option provides an effective way to manage the resources and performances of multiple databases whose usage changes frequently.
  • Azure SQL Managed Instance
    Azure SQL Managed Instance is a Platform-as-a-Service (PaaS) and consists of all the System and User databases with all the shared resources. This is the right solution to migrate on-prem solutions as Azure SQL Managed Instance is lift-and-shift ready and provides the latest stable features from SQL Server. The database migration requires almost no change as it provides full SQL Server feature compatibility.
    Also, this Azure offering will fit very well if you have an application that connects to a database but the objects are dependent on cross-database joins (wink wink) and thus technically your application relies on several databases to communicate with each other to function properly. And hey you need that SQL Agent Job, don’t ya?
  • SQL Server on Azure VMs
    SQL Server on Azure VM is an Infrastructure-as-a-Service (IaaS) that allows to run SQL Server on Azure managed VM. This is basically a Virtual Machine (VM) in the Azure cloud platform with SQL Server installed. If you have your SQL Server on a VM now but want to move to the cloud quickly, this is a great option. All recent versions and editions of SQL Server are available to be installed on Windows Server Or Linux VMs on Azure.
    Compared to Azure SQL Database and Managed Instance, you have full control over the database engine with SQL Server on Azure VMs.

A quick note on Logical SQL Server in Azure SQL

A server in Azure SQL Database is a logical construct that provides central administration for databases. You can administer logins, audits, different policies, and failover using the logical server. The logical server must exist before a database can be created in Azure SQL Database and can be in a different region that its resource group.