Monday, November 13, 2017

Azure SQL Database vs SQL Server on Azure VMs

Before differentiate between Azure SQL database and SQL Server on Azure VM, we have to understand that each option fits into the Microsoft data platform and get help matching the right option to our business requirements. Microsoft’s data platform leverages SQL Server technology and makes it available across physical on-premises machines, private cloud environments, third-party hosted private cloud environments, and public cloud. 
Azure SQL Database is the right solution for cloud-designed applications when developer productivity and fast time-to-market are critical whereas SQL Server running on Azure VMs is perfect if our existing or new applications require large databases, interrelated databases, or access to all features in SQL Server or Windows. 
What is Azure SQL Database?
SQL Azure Database is a cloud-based relational database service built on SQL Server technologies which is known as a platform as a service (PaaS) database or a database as a service (DBaaS) that is optimized for software-as-a-service (SaaS) app development.  It offers compatibility with most SQL Server features and provides a highly available, scalable, multi-tenant database service hosted by Microsoft in the cloud. SQL Azure Database helps to ease provisioning and deployment of multiple databases. When using SQL Database, we have to pay-as-we-go with options to scale up or out for greater power with no interruption.
What is SQL Server on Azure VMs?
On the other hand, SQL Server on Azure VMs falls into the industry category Infrastructure-as-a-Service (IaaS). It allows us to run SQL Server inside a virtual machine in the cloud. Just like to SQL Database, SQL Server on Azure VM is built on standardized hardware that is owned, hosted, and maintained by Microsoft where we can either pay-as we-go for a SQL Server license already included in a SQL Server image or easily use an existing license. We can also easily scale-up/down and pause/resume the VM as needed.
Main features of Azure SQL Database and SQL Server on Azure VMs
In most cases, the software development costs are lower with Azure SQL Database than with SQL Server on VM. However, these are not the only costs to factor in the total cost of developing and deploying your application. The purpose of the formulas referenced in this article is to list all the costs involved so that you can make a better decision. Ultimately, the choice of a solution over another is specific to your needs and wishes.
Best for:
SQL Server in an Azure Virtual Machine
Configure and manage
New cloud-designed applications that have time constraints in development and marketing.

Teams that need built-in high availability, disaster recovery, and upgrade for the database.

Teams that do not want to manage the underlying operating system and configuration settings.
Databases of up to 4 TB, or larger databases that can be horizontally or vertically partitioned using a scale-out pattern.
Existing applications that require fast migration to the cloud with minimal changes. Rapid development and test scenarios when we do not want to buy on-premises non-production SQL Server hardware.

Teams that can configure and manage high availability, disaster recovery, and patching for SQL Server. Some provided automated features dramatically simplify this. We need a customized environment with full administrative rights.

SQL Server instances with up to 64 TB of storage. The instance can support as many databases as needed.
Resources:
We do not want to employ IT resources for configuration and management of the underlying infrastructure, but want to focus on the application layer.
We have some IT resources for configuration and management. Some provided automated features dramatically simplify this.
Total cost of ownership:
Eliminates hardware costs and reduces administrative costs.
Eliminates hardware costs.
Business continuity:
In addition to built-in fault tolerance infrastructure capabilities, Azure SQL Database provides features, such as automated backups, Point-In-Time Restore, geo-restore, and active geo-replication to increase business continuity.
SQL Server on Azure VMs lets us set up a high availability and disaster recovery solution for our database’s specific needs. Therefore, we can have a system that is highly optimized for our application. We can test and run failovers by ourselves when needed.
Hybrid cloud:
Our on-premises application can access data in Azure SQL Database.
With SQL Server on Azure VMs, you can have applications that run partly in the cloud and partly on-premises. In addition, you can store on-premises data files in Azure Storage using SQL Server Data Files in Azure.
Supports
Supports SQL Server transactional replication as a subscriber to replicate data.
Fully supports SQL Server transactional replication, AlwaysOn Availability Groups, Integration Services, and Log Shipping to replicate data. Also, traditional SQL Server backups are fully supported
Conclusion
Azure SQL Database is the right solution for cloud-designed applications when developer productivity and fast time-to-market are critical. With programmatic DBA-like functionality, it is perfect for cloud architects and developers as it lowers the need for managing the underlying operating system and database where as SQL Server running on Azure VMs is perfect if our existing or new applications require large databases, interrelated databases, or access to all features in SQL Server or Windows.
References - https://docs.microsoft.com

Popular Posts