Microsoft Azure – Introduction to Azure SQL
This article aims to explain what is Azure SQL and how to translate your existing SQL Server expertise to Azure SQL. This is going to include Azure SQL database and Azure SQL Managed Instance. It also aims to explain the foundational knowledge of what to use when, as well as how to configure, monitor, and troubleshoot.
The key feature of SQL Server has always been security, performance, and availability. Not necessarily in that order, it could be in any order, but those are really the meat and potatoes, the core of what the SQL engine does.
History of Azure SQL:
The Azure SQL was announced at the Professional Developers Conference in 2008. Professional Developers Conference is the predecessor to Build Conference today. This is an amazing thing for Microsoft back in the mid-2000s as they were getting credibility in the enterprise space to come out and think that Cloud services could be these technologies versus something just Bing Search or Hotmail.
Let’s take a little deeper dive into the history of Azure SQL itself. It’s really come a long way. In fact, even before that announcement, Windows Azure and SQL, Azure, had these Cloud of project names, CloudDB for Azure SQL and RedDog for Windows Azure. If you look at this evolution, along the way up till today’s time frame, you can see it wasn’t just policy about the technology, sometimes it was a branding change.
For example, in 2012, Microsoft took SQL Azure as a brand and called it Azure SQL Database which you use today. In Azure SQL Database you’ll find out that it is part of the Azure SQL suit. But there were other major product announcements and changes that significantly altered the landscape like Azure Virtual Machines in 2013 was a very big milestone, because before you didn’t have the ability to do a complete VM.
The Azure Ecosystem:
The term Azure Ecosystem was coined so that users could understand the different parts of Azure that are independent in Azure SQL but yet integrated. For example, in order to use or deploy Azure SQL, you need to have an account and a subscription, and those are things that allow you to control how often you can deploy Azure SQL, how much you pay for Azure SQL, etc.
The Azure portal is a visual interface, which users can use through a browser, or phone app, or Windows app to interact and do various things with Azure Resources. The marketplace is where you’re going to choose various products or services, and you’re going to find out the various Azure SQL options.
Now, as programmers, you want to interact with Azure Resources always with some API or command-line interfaces, and Azure has provided that too.
The Azure Resource Manager is a very important part of the infrastructure of Azure, and it’s a powerful resource that developers like us use for Azure SQL to deploy things and manage things within the entire Azure Infrastructure. It also helps to look at things like activity logs or monitoring and so forth.
Azure has its own monitoring system, and Azure SQL snaps into that monitoring system to show you various things like metrics or even things like audit logs. Microsoft has data centers for deploying Azure SQL and these datacenter locations are called regions.
Azure is an infrastructure that gives you the trust you need, the security policies, the compliance you need, but also a service level agreement. It also provides very unique service level agreements to make sure that your Azure SQL Resources are up and running and available as much as possible at all times. That’s the overall ecosystem of Azure.
The Azure SQL:
Azure SQL is a term that Azure uses to represent this family of SQL in the Cloud. There are really three main deployment options
- The first one is an Infrastructure as a Service or IaaS type of solution. This is just an SQL Server running on an Azure Virtual Machine. Here Azure manages the infrastructure and the host, and the user manages the OS and the SQL Server. It is best for re-hosting and apps requiring OS-level access and control.
- The second one is Platform as a Service or PaaS type of offering. Here Azure manages the Infrastructure and OS and the user just manages the server. It offers high compatibility with SQL Server and native VNET support. It is best for modernizing existing apps.
- The third one is the Azure SQL Database, which is a PssS type of offering. Here Azure manages the infrastructure, the OS and the SQL Server. It is best for building new apps in the cloud. It has pre-provisioned or serverless compute and Hyperscale storage to meet demanding workload requirements.
At this point, we have an overview of the Azure SQL deployment options:
- SQL Server and Azure Virtual Machine
- Azure SQL Managed Instance
- Azure SQL database
There are different challenges and solutions that might lead you towards one of these offerings.