This blog post discusses the difference between Cloud Service and Web App in Microsoft Azure. Both can be used to create and deploy a website, so what’s the difference?
Web App in Azure is a SaaS (Software as a Service). You deploy your bits to the Azure IIS containers, and Azure do the rest. You don’t get much control.
Web App can be only used to deploy websites/web apis.
You pick Web App to deploy your website when you
- Just need IIS
- Are Ok running in shared space
- Don’t need or want any control below IIS
For example, my website http://scottge.net was a WordPress Web App in Azure before I moved it to an Azure Virtual Machine.
Cloud Service in Azure is a PaaS (Platform as a Service). With this option, you have some control, but you don’t have to do the low level system infrastructure e.g. OS patching. Azure handles the low level infrastructure for you.
Cloud Service can be used to deploy not only websites, but also worker roles, etc.
You choose Cloud Service to deploy your website when you
- Have sophisticated deployment and complex server needs.
- Need some control of the platform, but don’t want to manage OS patches.
- Need isolated hardware
For example, the Microsoft MVP website (http://mvp.microsoft.com) is a Cloud Service in Azure because its deployment requires to install a RPS server on the VM that hosts the website.
Virtual Machine in Azure is a IaaS (Infrastructure as a Service). You have full control of almost everything: hardware, VHD, OS, IIS, etc. You need to install OS patches by yourself and manage the OS restart, etc.
Virtual Machine can be used to deploy any apps.
You pick Virtual Machine to deploy your website when you
- Need total control
- What you are deploying isn’t cloud friendly
- Just trying to quicly migrate an existing infrastructure e.g. an Enterprise legacy app.
My current http://scottge.net website is run on a bitnami Azure VM.