Microsoft Azure – PaaS vs. IaaS in Azure SQL
SQL Server on an Azure Virtual Machine is known as IaaS or Infrastructure as a Service. As we move towards Azure SQL Database and Azure SQL Managed Instance, we moved towards the territory of Platform as a Service or PaaS type of offerings.
In this article, we will break down the differences between IaaS and PaaS. The one big difference before we get started is that in IaaS or in this case, SQL Server on Azure Virtual Machine, there are a lot of things that you can configure yourself, just like in SQL Server, but with PaaS, there’s a lot of automation and help that Azure provides.
Now if we look at some examples, when we talk about business continuity and high availability, we can set up an availability group, but that takes some time. You could also do things like setting up some sort of long-term backup retention policy or system. But again, that’s going to take some configuration on your end.
With Azure SQL PaaS services, Azure can help you set up these things pretty much automatically.
With geo-replication, with a few clicks of a button in Azure SQL Database, you can set up geo-replication so you can have read replicas in your region, or across other regions. With automated backups, Azure can give you three replicas that are geo-distributed without you even having to say that, Azure just takes care of that for you.
3. Automated Backups:
With Azure SQL Managed Instance and SQL Database, you can also set up auto fill-over groups so that in the time of a disaster, Azure can automatically fill you over to another region without you having to change any connection settings.
In addition, while you can scale Azure Virtual Machine, even sometimes with a point and click in the portal, Azure SQL Database and Managed Instance offer different scaling options that make things easier. For example, Azure SQL Database offers serverless, where Azure does autoscaling of your applications, as your CPU demands increase from your application.
Azure SQL Database and Managed Instance on a PaaS service, offers a version-less SQL Server. It’s hard to put your mind around a version less SQL Server, but no longer do you worry about any updates to SQL Server or anything in the backend for the operating system. Azure completely manages all updates and changes to SQL and enhancements. Azure constantly feeds in fixes and enhancements to the service on the backend.
6. Built-in Intelligence:
Paas provides built-in intelligence. For instance, you might go out on yourself and try to set up systems to do things like automatic indexing. But imagine if the Azure servers in the backend could look at your application, recognize patterns of performance enhancements, and automatically recommend or even apply indexes to your environment. Those are just some of the other examples that PaaS provides.
7. Built-in Monitoring:
The fact that you can set up a virtual machine, get some advantages of the Azure infrastructure, but all the different things you need to do yourself in the VM to make it available, and performant, and secure, whereas Platform as a Service, manages all that. Azure will manage things, give you recommendations and provide automation.
Difference Between IaaS vs PaaS:
|Services||Infrastructure as a Service(IaaS)||Platform as a Service(PaaS)|
|Business Continuity||Manual & time-consuming||Automated and managed by Azure|
|High availability||Manual & time-consuming||Automated and available as per needs|
|Automated Backups||Manual configuration needed||Automated configuration|
|Backup Retention(Long-term)||Manual configuration needed||Automated configuration|
|Geo-replication||Not Available||Automatically creates 3 copies|
|Scale||Depends on the Users machine||Highly scalable automated system|
|Advanced Security||Depends upon the user’s infrastructure||Highly Secure.|
|Versions||Needs update when available||It is version less, so, one less thing to worry about.|
|Monitoring||Need to be done manually||Azure does it for you and notifies user of relevant changes or triggers.users|
|Built-in Intelligence||Not available||Available|