When considering the move of a common, two-tiered web application to the cloud, many of our customers assume that it will involve a VM running a web server and a VM running a database server. Indeed, that is one approach, but there are two other approaches that should ALWAYS be considered when moving to Microsoft Azure.
The 3 Ways
- 1 – Straight IaaS: Configure a web server VM and a database server VM in the cloud and deploy in the “traditional” manner.
- 2 – IaaS/PaaS Combo: Configure a web server VM and an Azure SQL Database instance. The Azure SQL Database instance is a PaaS service that does not require the use or maintenance of a VM server.
- 3 – Straight PaaS: Configure an Azure Web App and an Azure SQL Database. Both or PaaS services and you never need to log into a VM server or keep one updated.
So which approach should you take? Well, that depends. The “best” end result is the Straight PaaS approach because it offers dynamic scalability, easily configurable high availability, and typically the lowest cost. It is also the easiest to manage over time. Straight IaaS is better than buying new or upgrading hardware to run an app in your own data center, but otherwise it has no benefits over the other two approaches. Only go with Straight IaaS when you are forced to for technical reasons, such as lack of support for specific required features in the platform services.
For many web apps, and particularly for those that use SQL Server at the data tier, the answer of which approach to take is likely to be the IaaS/PaaS Combo. This approach involves provisioning and configuration of a web server virtual machine to which the web app will be deployed in the traditional manner. For many web apps, this is necessary when they use OS or third party capabilities that aren’t available to Azure Web Apps. The approach also involves migrating your existing SQL Server database to an Azure SQL Database instance. It is quick and very easy to take this approach, and you get all of the basic benefits of moving your app to the cloud PLUS you get a database instance that is fully managed by Microsoft. You don’t ever have to update the OS on an underlying database server VM, because there isn’t one. And the cost of the Azure SQL Database is much less than the cost of operating an instance of SQL Server Standard on a VM.
To wrap up, migrate to a fully PaaS architecture if you can. If your web app can’t run as an Azure Web App, move it to a VM web server and start planning to make it compatible if possible. But ONLY migrate your existing SQL Server databases to SQL Server on a VM if absolutely necessary.