We're moving our operation to Azure soon but we'll be going for a IaaS to effectively emulate our existing physical data center setup. This is largely because our (.NET) website has not been tested using the Azure Website platform and so we can't guarentee it'll work as expected however I'm curious as to how a running a website via a Web Site service (PaaS) would be any different to running it on an IaaS style VM which runs IIS. Isn't it functionally the same? Is it really necessary to test for both PaaS and IaaS deployments?
-
2There are several well-documented differences. But you might want to start [here](http://stackoverflow.com/a/10941526/272109) regarding Web Sites (web apps) - an answer I posted to a similar question. – David Makogon Jun 20 '16 at 13:59
-
I appreciate and understand that. I get the advantages and disadvantages but what I'm trying to understand is whether the website can be expected to perform the same since at the end of the day it's always just IIS under the hood - if it works on an IaaS setup will it work just as well in a PaaS setup. – totalfreakingnoob Jun 20 '16 at 14:36
-
1In Azure App Service your application runs in this sandbox https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox. Some limitations apply vs a clean IaaS machine. Test thoroughly before considering it. If you're running into one or more sandbox limitations, look into Cloud Services or Service Fabric instead. All PaaS. – evilSnobu Jun 20 '16 at 15:08
1 Answers
As the comments suggest, it's not the same but it's similar. In my experience of customers moving workloads to Azure, the majority work just by deploying. The ones that don't tend to be those that are doing something that might not be considered "standard practice" for a web server - things like storing state to local drives or writing directly to LAN shares, accessing specific Server resources directly, or relying on additional dependencies/components to be installed on the server. Although you can write to local drives, don't use this for managing state or persisting data, the drives should be considered temporary, and you should also design for load balanced environments.
Most web.config settings still work as expected as well. If you do need other components on the server, you will have to consider Cloud services, Service Fabric, or even IIS in a VM Scale set. These all allow you to customise the environment you're deploying into with more control.
Testing your web app out should be a fairly straightforward process, azure websites support Web Deploy from VS directly if you want to go that route, or you can setup a build/release/deploy to azure websites with VSTS in 5-10 mins.
Websites also spin up quickly when being provisioned initially (a few minutes) and its the cheapest way to run your website from the options given above.

- 2,033
- 1
- 14
- 12