Hi @Praveen Babu Vejandla Thank you for posting your query on Microsoft Q&A and for using Azure services.
My understanding is that you are planning a reverse migration from Azure SQL Database to SQL Server in VMs (IaaS) and want to know if you need to consider any overhead for operating system when compared to running in PaaS model Azure SQL database.
Firstly, on SQL VMs (IaaS) you would need to consider all important resource limits compared to PaaS namely:
- CPU
- Memory
- Disk / Storage IOPS
- Throughput
- I/O latency
Then you would need to allow some additional buffer for OS related tasks and processes (also dependent on what else is running on the VM besides just the SQL Server engine). In the PaaS model, this is not considered an issue as we manage the underlying the platform to deliver the service.
Beyond just CPU and memory (with the right memory-to-core ratio), storage IOPS and throughput play an important part in selecting the right-sized VM as VMs also have IOPS and throughput limits in addition to disk storage. It is important to select the right VM SKU that meets these needs.
For the best price-performance in SQL VMs, we recommend the new Ebdsv5 series VMs that have good mem-to-core ratio along with high IOPS and throughput limits which will save you from provisioning heavy CPU VMs just to get high IOPS. There is a published article by Gigaom recently that highlights this VM series: https://research.gigaom.com/report/sql-transaction-processing-and-analytic-performance-price-performance-testing/
Like any migration, it would be recommended to migrate and test your workload on the right SQL VM on Azure in a Dev/Test/Pilot environment.
Hope that helps
Regards,
Oury