No history yet

Cloud SQL Architecture

From Server to Service

Managing a traditional SQL Server instance feels like owning a car. You're responsible for everything: oil changes (OS patching), engine tune-ups (software updates), and making sure the wheels don't fall off (high availability). This is the Infrastructure as a Service, or IaaS, model. You get a virtual machine in the cloud, but the software maintenance is still on your plate.

Azure SQL shifts this dynamic entirely. It's a Platform as a Service, or PaaS, offering. Instead of owning the car, you're using a high-end ride-sharing service. You just tell it where to go and it handles all the underlying mechanics. Microsoft manages the infrastructure, the operating system, and the SQL Server engine. Your job is to focus on your data, your schemas, and optimizing your queries.

ResponsibilityIaaS (SQL on VM)PaaS (Azure SQL)
Hardware ProvisioningCloud ProviderCloud Provider
OS Patching & UpdatesYouCloud Provider
SQL Server UpdatesYouCloud Provider
High Availability/DRYouBuilt-in
Automated BackupsYouBuilt-in
Database TuningYouYou
Application CodeYouYou

Picking the Right Model

Azure doesn't force you into a single box. It provides a spectrum of SQL hosting options, each tailored to different needs. Your choice determines the balance between control and convenience.

For applications requiring deep OS-level control or with dependencies on features not available in PaaS (like FileStream), SQL Server on an Azure Virtual Machine is your go-to. It’s a direct lift-and-shift of your on-premises server into the cloud.

Azure SQL Managed Instance is the perfect middle ground. It's designed for migrating existing SQL Server applications to the cloud with minimal changes. It provides near 100% compatibility with the on-premises SQL Server engine, including instance-level features like SQL Agent and Service Broker, all within a managed PaaS environment.

Finally, Azure SQL Database is the flagship PaaS offering, ideal for new, cloud-native applications. It abstracts away the concept of an entire instance. You work with individual databases. You can deploy a Single Database for isolated workloads or use an Elastic Pool to share resources among multiple databases that have variable usage patterns, optimizing costs.

Purchasing and Performance Tiers

Azure has moved from the older, abstract Database Transaction Unit (DTU) model to a much clearer . With vCores, you provision specific amounts of compute (virtual cores), memory, and storage, just as you would for a physical server. This makes it easier to translate on-premises hardware requirements to the cloud and provides greater transparency into what you're paying for.

Within the vCore model, there are three main service tiers, each offering different performance, availability, and feature sets.

Service TierBest ForKey Feature
General PurposeMost business workloadsBalanced, budget-friendly compute and storage.
Business CriticalHigh-performance OLTP appsHighest resilience, lowest latency storage, built-in read-replicas.
HyperscaleVery Large Databases (VLDB)Decoupled compute and storage, scales up to 100 TB.

The General Purpose tier is the default for most standard workloads. It provides solid, reliable performance with storage located on the network, which means there's slightly higher latency than the next tier up.

Business Critical is designed for mission-critical applications that demand low-latency I/O and high availability. It uses super-fast local SSD storage and maintains several secondary replicas, one of which can be used for read-only queries at no extra vCore cost.

Then there's Hyperscale. This tier is an architectural marvel for massive databases. It decouples the query processing engine from the components that provide long-term storage and durability. This allows it to scale storage independently of compute, supporting databases up to 100 TB. It also provides near-instantaneous backups and database restores, regardless of data size.

Provisioned vs. Serverless

For the General Purpose and Hyperscale tiers, you have another choice: how you want to pay for compute.

With the Provisioned compute tier, you allocate a specific number of vCores that are available 100% of the time. This is ideal for workloads with consistent, predictable traffic. You pay for the provisioned capacity, whether you use it or not.

The Serverless compute tier is designed for workloads with intermittent, unpredictable usage patterns. You set a minimum and maximum number of vCores, and Azure automatically scales the compute resources up and down based on demand. It can even pause the database entirely during periods of inactivity, in which case you only pay for storage. This is perfect for development databases, new applications with uncertain traffic, or applications that are only busy for a few hours a day.

Serverless is billed per second for the vCores used, making it a highly cost-effective option for unpredictable or spiky workloads.

Choosing the right deployment model, service tier, and compute model is the first and most critical step in building a scalable and cost-effective data solution on Azure. By understanding these architectural trade-offs, you can align the service's capabilities directly with your application's needs.

Quiz Questions 1/6

What is the primary difference between running SQL Server on an Azure Virtual Machine (IaaS) and using Azure SQL Database (PaaS)?

Quiz Questions 2/6

An organization needs to migrate a large, existing on-premises SQL Server application to Azure. The application relies heavily on instance-level features like SQL Agent and Service Broker. Which Azure SQL deployment option is the most suitable choice for a migration with minimal changes?