SQL Server: IaaS vs PaaS

This is a part of a Series “Stairway to being an Azure SQL DBA“, in which I am planning to cover everything related to working as an Azure SQL DBA.

Starting with a diagram that you must have seen multiple times before.

as a service differences

When talking about above picture and considering we are specifically concentrating on SQL Server, there isn’t anything like Software as a Service for SQL Server, and SQL Server in Azure more like as a sub-category of PaaS which is DbaaS (Database as a Service).

Having said that let me explain all these topics in more detail taking SQL Server as an example.

Different options for SQL Server

There are 4 different options for SQL Server, including On-Prem and Azure.

Traditional On-Premises: This is a SQL Server installed either on Virtual Machine or the Physical Server where you own the hardware like Server, Storage and Networking, Virtualization technique and OS, and are also responsible for managing them. That will involve the cost of all the hardware and professionals required for configuring and managing it. Generally you own a data center and manage it too. This is what we are using when we are not on any cloud vendor.

Infrastructure as a Service: Here everything related to hardware is owned and managed by your vendor, which in our case is Microsoft (Azure). In this case when you need to have a new server you just “deploy” or create your Virtual Machine on top of the already existing Virtualization about which you don’t need to know how is it being managed. Once you have the VM created you can install your SQL Server onto it or have a pre-installed VM image to build the VM. As far as DBA activities are concerned you will never know the difference between an On-premise SQL Server and a SQL Server installed on an Azure VM.

Platform as a ServiceManaged Instance: In PaaS you are just provided a platform (SQL Server in this case) and everything below that OS, Virtualization and hardware is managed by Azure.
Azure provides two options in PaaS, one of which is Managed Instance (MI) in which you don’t even know where the SQL Server is installed you just “deploy” or create a service of SQL Server and Azure is responsible for handling anything below that. This is a big change for a production DBA as you don’t know where your SQL server is installed you can’t rdp into a VM and check its services and do things like that. You have to rely more onto what information you can get from the SQL Server and the Portal.
Here you have SQL Server and the SQL Server Agent, as far as DBA activities are considered you can do mostly everything that you can do on a SQL server installed on a VM or physical Server.

Platform as a Service – Azure SQL Database: The last option of having a SQL Server database is Azure SQL database, it is also the most abstract version available. Here you don’t have the control on SQL Server, you just provide the database name and you get your database created on a SQL Server which is Azure SQL Server, that is basically a logical container and provides a single administrative point.
As even SQL Server is managed by Azure and you don’t have control on it, this make it the biggest change for a DBA. There isn’t SQL Server Agent, no Server objects nor logins. The administration is done per database and you rely more onto the Azure provided features (from the portal itself) for managing and controlling it.

Conclusion

The different flavors of SQL Server make it possible for anyone in using a SQL Server. If you are a big organization making the move to Azure, want to us the data centers but still want to have control on the Operating system and the SQL Server, or you have applications which are still using SQL Server 2008, you can use IAAS platform.

If you want to move to the latest version which is on Azure and also reduce the management cost of Hardware and the Operating system, with still have the SQL Server with the same capability as your On-premise SQL Server then Managed Instance is the one for you.

If you are a small organization, or a team which just want a SQL Server database in the backend and dont want to worry in managing the SQL Server then Azure SQL Database is the path to go.

Advertisement

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s